The Drupal Sandbox Podcast is all about projects and modules that are in the Drupal.org sandbox. This podcast will focus only on those projects and modules that are in the sandbox and only those that have Drupal 7 releases.
Episode 11 "Standout, Stickynote, Format by Content, Modmaker, Collapse Blocks, Recall Ad"
This week on the Drupal Sandbox Podcast, I will highlight seven new modules in the sandbox. Let's get started with the first one, Standout. This module uses a google specific link, aptly named . I blogged about this tag as well. This project is designed to provide a simple implementation of Google's "standout" link tag; see: http://googlenewsblog.blogspot.com/2011/09/recognizing-publishers-stando... and http://www.google.com/support/news_pub/bin/answer.py?answer=191283. From the latter: If your news organization breaks a big story, or publishes an extraordinary work of journalism, you can indicate this by using the standout tag. When determining whether to use this tag for your own article, consider whether that article meets the following criteria: Your article is an original source for the story. Your organization invested significant resources in reporting or producing the article. The article deserves special recognition. You haven't used standout on your own articles more than seven times in the past week. In addition, we strongly recommend citing standout articles from other publishers when your own article draws from that standout piece of journalism. When determining whether to use this tag to cite the work of others, consider the following criteria: The publisher's article was the original source for the story you are now reporting. The original source invested significant resources in reporting or producing the article. You know that the original article deserves special recognition. If a piece draws on multiple pieces of standout work, you can use the standout tag multiple times in the header of the article. Also, citing standout articles from other publishers does not count against the limit of seven self-citations per week. If we find sites abusing the standout tag, we may, at our discretion, either ignore that site's tags or remove the site from Google News. Next up is the Stickynote project. This module simply creates a block with the ability to add, delete, and edit notes. Notes are stored on a per page basis can be made visible to certain roles like any other block. All of the notes, sitewide, can be viewed from the Manage page at admin/structure/stickynote/manage. And then Formats by Content Type. Allows you to set a default text format per content type. Currently the drupal 7 version of the Better Formats module does not allow the setting of the default format by content or field. This allows such settings until the Better Formats module includes such functionality. Depends on Better Formats Next is Modmaker Modmaker is intented as a developer tool, allowing developers to quickly create a module skeleton to build from. It create a module fileset from a template. Modmaker creates a module file set (.module, .install, .info) at a specified location (eg: sites/default/modules). FIles are pre-populated with common Drupal functions like hook_menu(), from a template file set. The version 7 template fileset contains demonstraition menus (normal, tabbed, callback) and forms (simple, dynamic and ajax). The simple form demonstraites all the common types of elements, and is a great cheet-sheet. The base template fileset is intended at a template template. A new template set can be created from any existing template set, the base template set containst the minimum amout of code so the developer can build up a template set with their favourite functions, etc. Our next module is the Collapse Blocks module. Users can collapse/expand blocks or regions. (e.g. right sidebar...) We're almost done, but I like the Linked to Node module too. This module shows all content that references the node that is about to deleted. It only shows a table on the deletion page. This module relies on core search and will not work without it enabled. Our final module today is the Recall Ad module. The module adds a page with advert to the site,
Episode 8 "Clone Site, Commerce POS, View Field Options"
Episode 8 of the Drupal Sandbox Podcast covers three new projects in the Drupal Sandbox. One for site builders, one for Drupal Commerce users, and another Views plugin for site builders. The first is Clone Site, which does pretty much what the name implies. It allows you to quickly clone a site. This functionality is often found in a lot of hosts cpanel and is very useful for development and testing. From the project's page: About This module main function is to make identical copy of a selected website, including database structure, data and files . You will need to make a new name and new database tables prefix before you clone the selected website. Development Clone Site sponsored by King Saud University Next up is Commerce POS. Drupal Commerce is really taking off. It is the best e-commerce project for Drupal 7 right now. It also is being extended and added to by a lot of contributed modules that are being created on almost a daily basis. How about turning your Drupal installation into a cash register? Then you need Commerce POS. This project provides a Point-of-Sale interface for Drupal Commerce. Our third project today was suggested by Joe Moroca, View Field Options. Thanks Joe! This module creates a new field type that uses views to generate the list of available options for a field. The benefit of this is any information that a view can query (only fields at the moment - not nodes) can be used as the option list. The field settings also require you to set a display and storage field from the view, enabling you to display a list of one field and store another. For example, You could have a view that shows a list of articles filtered by nodes the current user has flagged. You could have a select list to show all the article titles - you could then store the uid (Author uid) as the value in that field. current issues Autocomplete values showing as storage values and NOT saving Storage of field settings is currently messy (In field_settings_form_alter too) Settings form ajax, Need to populate default when there are no settings Select lists can only be populated from single value elements from views_get_view_results() and will not show anything if there are no results for the view yet! Don't forget to check out the Module-a-day that Andrew M. Riley releases for full-project modules and the Drupaleasy.com podcast for news and current events in the Drupal community. As always, if you have any suggestions or find a module that you would like featured here, leave a comment or use the contact button to get in touch with me. Your browser does not support the audio element. Download .mp3
Episode 7 "EZ Banner Rotator, Media Cmdr, Better Updater"
We have three newborn modules again today. One for banner display on your site, the second for managing media, and the third to enhance your site updating experience. The first is a simple module for displaying rotating banners on your site, the EZ Banner Rotator project. EZ Banner Rotator is a JQuery based advanced banner module. This provide an Image based slideshow like banner rotator for the Drupal page. This creates a block in Drupal block section which can be assigned to a page block. The strength of the module is, highly configurable to fit any type of website. Next up is the Media Cmdr project. I mistakenly described the Media WYSIWYG project during Episode 6 with this module. This module adds a media browser using the Media module. Sorry. Add a new tab to Media (http://drupal.org/project/media) module browser with an MC look&feel file manager The last module is Better Updater. Better Updater is a small module that provides a functionality which allows users to install new modules into subdirectories of sites/all/modules. Features Allows to install new modules into existing directories inside sites/all/modules. Better Updater maintains the specific hierarchy of modules, for instance all developer modules can go into sites/all/modules/developer or all of the conributed modules into sites/all/modules/contrib. TODO List Make select list instead of simple textfield to choose proper subdirectory. Expand Better Updater to install new modules in sites/mysite.com directory. Make possibility to create new directories and install new modules there. Requirements Better Updater needs Update module enabled. Your browser does not support the audio element. Download .mp3
Episode 5 "Honeyblock, Nice Dash, Zazzle"
Episode 5 of the Drupal Sandbox Podcast includes three new modules: The first, Honeyblock is a security module that integrates with Project Honeypot to stop spammers, email harvesters and attackers. An alternative implementation of Project Honeypot's HTTP Blacklist for Drupal 7 Honeyblock features have now been incorporated into httpBL (see way below for info on legacy Drupal 6 beta version) Key Features: Project Honeypot Blacklist lookups for visitor IPs Blocking of current and future requests from blacklisted IPs Local database caching, decreases DNS lookups on repeated visit attempts Honeypot link placement on ban page and optionally in footer Session and cached Whitelisting Greylisting: Intermediate blocking of medium-threat IPs, grants user access after passing a simple test Optional Comment checking only (re-writes comments from bad IPs and bans from future visits) Optional 3 levels of logging (Error only, Positive Lookups or Verbose) Length of time cached visits are held are determined by configurable settings Default Views included (see blocked and whitelisted IPs with links to their Honeypot profiles) Basic statistics on the number of blocked visits Can be used for Honeypot link placement only (no blocking) Honeyblock stops reputed email harvesters, dictionary attackers, comment spammers and other disreputable, nuisance traffic from visiting your site by using the centralized DNS blacklist at Project Honeypot (http://www.projecthoneypot.org/). Honeyblock requires a free Project Honey Pot membership. Honeyblock provides fast and efficient blacklist lookups and blocks first-time malicious visitors. IPs of previously blocked visitors are stored locally and kept from returning for admin configurable periods of time, without additional lookups being required during that time. Blacklisted IPs are added to Drupal's "blocked_ips" table. Likewise, non-threatening IPs are also stored locally for configurable periods of time, during which additional DNS lookups are not required for their return visits. Honeyblock includes optional logging on three levels: Off - (errors only), Positive Lookups (when IP's are grey or blacklisted), and Verbose (useful for testing and gaining trust). Honeyblock also includes two default Views reports, one for blocked IPs and one for cleared IPs. You can use these instead of logging. IPs are listed along with their status, and the IP links directly to its profile in Project Honeypot, so you can quickly see where it came from and why it was blocked. Honeyblock can also be configured to lookup IPs only for commenters when comments are placed. If commenter is found in blacklist lookup, comment is re-written (queuing for moderation is also available, depending on Drupal's core comment permissions). In the event the commenter is actually human, error messages and the re-written comment will alert and inform them as to why their comment was blocked. Honeyblock can also place hidden Honeypot links in page footers. These make it possible for you to participate and "give back" to Project Honeypot, by catching newer nuisance IPs that may not yet be ranked as threats in Project Honeypot profiles. They find these links irresistable, and "clicking" these links reports them and their ill-intent. ---------------- * Version 6.x-1.1.beta1 * Earlier D6 version (I consider this stable as I've been using this for nearly two years) * Key Features differences from httpbl (drupal 6): * Optional Logging of Positive Lookups (Logging works but you can turn it off if you don't want it) * Length of time cached visits are held are determined by configurable settings. * Default Views included (see blocked IPs with links to their Honeypot profiles) The second project for today is the Nice Dash project that adds some improvements and simplification to the default dashboard. This module makes the lifes of editors and webmasters a b
Episode 4 "Embed Google Map" and "Lock"
This episode features two projects: The first project, Embed Google Map: Allows for the embeding of a Google Map in a content area. This module looks like it seeks to allow a quick and easy way for content authors to add a google map to a content area. Perhaps this would allow someone to add a map without giving the the "Full HTML" text filter permission? The second project, Lock: Provide an high-level applicative locking API. Core provides, in lock.inc file a low-level locking framework for basic and technical-related maintenance operations, such as cache rebuild; This module intends to provide a high-level applicative locking API for business modules. A good example of applicative lock would be, for example, locking the node form. If a user locked it, any other user cannot access it, but if the user that locked it wants to fetch it back from another place, another browser and session, you can let it happen. It can also provide group locking, you can lock multiple objects under a certain group and release them by lot. Example: a user is editing a node with node references, you might want to lock referenced nodes as well to avoid other users to edit it while the parent node is being edited. Locks are linked to user (or not, depending on how you use the API), you can control if the lock owner can bypass or not its own locks, you can control lock grouping, you can clear stalling locks easily, and user locks are linked to the user session: explicit login or logout will release user lock. If you would like to be a guest or have a project that you would like featured here, leave a comment. Your browser does not support the audio element. Download .mp3
Episode 3 "Election"
The past two episodes were focused security related projects. Today, I have a more user-centric module, the Election module. This module has the potential to be really big and useful. It looks like the original use case of the module was for a student union election, but it could easily be adapted for almost any application. Election will be a module for Drupal 7.x providing online voting in both referendums and STV elections. The module will be used by a large university's student union. Features planned will include: Nominations including the ability for administrators to approve or reject nominees. Candidate directory including archives of candidates in historical elections. Candidates will be able to upload manifestos, videos, etc. STV vote counting according to the ERS97 standard, or at least the ability to export an OpenSTV ballot file (.blt) at the close of voting. Referendums: voting yes or no to a single proposal. Eligibility rules: set up of conditions on voter eligibility using Rules API. Complex voter information can be matched in a separate database (rather than the Drupal user profiles). The package will be trialled in a production environment in February-March 2012. A stable public release is not expected until at least that time. Your browser does not support the audio element. Download .mp3