The Easter Bunny may have sent you into a chocolate coma with delicious eggs, but did you know there are also a few treats left to be discovered on Drupal.org?
Well maybe not undiscovered, but with 21,000 modules and counting sometimes it's fun to have a look at some of the hidden gems available to freely download and extend Drupal. Listed below is a smattering of modules for your enjoyment. Some people would use these daily and others might never have heard of them. If you like them, please pass them along.
What better way to start a lazy Easter weekend than finding a few efficiency modules.
Similar to the well known Drupal Module Builder used to help developers quickly provide the scaffolding for their custom modules. Or the module Form builder with its cool ajax drag and drop functionality.
Genova and Multistep Forms are aimed at getting developers up and going fast. Genova in its own words "is a Drush utility targeted on Drupal developers who regularly create custom Drupal modules" Just like Drupal Module Builder, Genova was designed to "automate routine code writing such as schema, hook implementations, drupal arrays etc".
To use Genova simply download, enable, and run the Drush commands.
drush gen-mc mycoolnewmodule*
* You need to have Drush installed. Don't know drush ? Click the drush link above.
A couple of prompts later and you have yourself a shiny new module ready for your coding magic*
* Patiently waiting for you in the 'scaffolding' directory.
Genova provides automated structure for Drupal module hooks: menu, theme, permission, install/uninstall, schema ,sources: css, js, PHP classes file and external modules: mforms, sdb
Just like Drupal, Genova was designed to be extended and makes use of 'components'. The same author has created the MultiStep Forms module designed to extend Genova and provide a drush utility to quickly automate the scaffolding to write a custom multi-step from module.
To use Multi-Step Forms simply download and enable the module.
drush gen-cc YOUR_MODULE PATH/TO/mforms and you will be taken through several command line prompts to create the fields and pages of your form.
Multi-step forms promise "robustness, flexibility and extensibility".
Here are two great video tutorials to help you get up and running on Genova and Mforms:
Have a look at Genova Entity *(currently in development) to provide yet another component to speed up your custom entity development.
Still not impressed!?
Fine then! Write your own component. Components are classes that extend the GenComponent Class. Want to Automate some repetitive Drupal task, crack open the code, unwrap another chocolate egg, and the sky is the limit.
Site Builder - Layout
Love em or hate em...panels are here to stay. I'm not quite ready to endure the wrath of "contextians" on this post so I'll save expounding the virtues of panels for another post. However....
One interesting approach when working with a panels based project is the use of Panels Everywhere! penned by the Wizard of Wonder himself. This provides a wrapper that eliminates Drupal's block system and page.tpl.php.
Why would I want to do that?
Panels everywhere provides a default 'Site Template' that can be used as a wrapper to provide a header, footer, sidebar, what have you 'around' your other panel layouts.
This gives you a contextually aware site template. Meaning your site template can provide different layouts depending on the different criteria (eg, User Role, Paid status) and inside your site template your content can also be displayed differently based on the same or a completely different set of criteria.....like Russian dolls.
You can watch a talk about Panels Everywhere by the wizard himself.
While bumbling around D.O. I also happened to stumble across Panels Extra Styles. This little beauty provides some HTML5 wrappers and promises to 'Simplify and beautify Panels markup'.
Don't like it?
This module reminds us that it's super easy to write your own panels plugins and styles. Panels is incredibly extensible. Control your html output with custom layouts, css extras with styles, or create complex functionality in your own custom panels plugins.
With the Superheroic support of Google, I would expect Angular to gain in popularity, not to mention it's already awesome!
Setvik's talk is a great starting place, beyond the Angular Module download is another great module RESTful Web Services, appropriately named. This module is a fantastically simple tool to hook into your Drupal resources via JSON or XML.
Also checkout Angular's awesome tutorials section. This stuff is so organized and great. Note the gituhub integration that allows you to step through tutorials via git branches.