Drupal London February Drupal Drop-In Recap: Useful Modules That Not Everyone Knows About
Last night, myself and a colleague on my current contract assignment went to the February Drupal Drop-in from the Drupal London community, held at Microsoft's very swanky offices near Victoria Tube station. The theme of the evening was useful modules that maybe not everyone would be aware of, so there were not going to be any talks on CCK and Views and "standard" modules such as those.
What followed were a wide range of presentations and copious amounts of free Domino's pizza (again, thanks to Robert Castelo (sorry for the mix up!) and the nice people at Code Positive for shelling out to feed a large group of us and there was some really good information to be had, as well as great contacts to be made, though having done a long day at the office I was at my unsocialable best. I'll try to be more friendly and actually talk to people next time!
After an initial mini sales pitch from Microsoft about their new platform Microsoft Web Matrix, designed to be their answer to Xampp for local development, combined with a means of trying to sell hosting to people, the Drupal module sessions got underway. I summarised a lot of the points for the team on my contract assignment, so thought I would also share these notes with the wider community. There were some very good modules mentioned, some I had prior experience of, some I knew of but never had used, and some I'd never heard of! Please keep reading for details:
Flag Module + Flag Weight Module: Flag module can be used to "flag" things (nodes, users, comments) in order to create lists of whatever is flagged. You can have different levels of granularity (e.g. one global flag list, or a list per user). Flag Weight module allows for the ordering of these lists. This could be used to create anything from an Amazon wish list to an internal favourite content / bookmark list.
This also combined with the "Draggable Views" module, which will allow you to re-order your flagged lists by drag and drop, which is rather nice. I can see a lot of potential uses for this module and I hadn't heard of it before so I am definitely going to make use of this in the future.
If anyone wants to check out the slides then please see http://bit.ly/flag-slides for the full presentation.
Panels Module: For those who are not familiar with Panels, Panels is a dynamic form of laying out the content section of pages in Drupal. You can use different panel layouts for different contexts, e.g. when a user is logged in or logged out, or one layout per content type (or combinations, you can have endless panel variants, though having too many would be difficult to manage).
I used Panels extensively on my last job at www.wikijob.co.uk and found it to be incredibly useful. There are various modules such as Panels everywhere and Panelator for extending Panels but I have not used these yet. If you require a website with a lot of different content layouts then panels is a great flexible alternative to using a lot of template files.
Masquerade Module: Simply, impersonate another user when logged on as admin or someone who has "masquerade" permissions. Good for checking out users with different roles or different sets of permissions. I don't have first hand experience of this yet but will be definitely putting it to good use.
Content Management Filter (CMF): Aptly described in the presentation as the "Admin content screen on steroids", the standard admin content screen is, let's face, pretty crap for lack of a better technical term. This module adds far more robust functionality such as searching for content by date, author, title rather than just by content type or published/unpublished.
I've been so annoyed with the admin content screens many times and I've considered writing something like this myself, it just appears someone kindly beat me to it. Another one I will definitely be using!
Backup / Migrate: Automatically create Database back-ups. It stores the backup in the files directory so we would have to be careful about file and folder permissions or risk exposing the DB to the wide world (I'm sure this is all configurable to stop this from happening). I want to investigate this module a bit more before using it but it handles a very necessary task without the need to delve into your hosting or get your system admin's help.
Apache SOLR & SOLR Suite of Modules: Again, for those not familiar, SOLR is another form of Search. It requires a Java based server (Tomcat?) to be set up with the apache solr module installed. SOLR offers all sorts of search functionality not provided by the core Drupal search such as content weighting, "did you mean" on mis-spelt search terms and can do related content for your site (see Dries's blog at buytaert.net for an example).
SOLR and it's associated modules are very awesome, we were running this on the WikiJob site. You can also get the Acquia SOLR module and pay for them to handle your SOLR search if you don't have the capacity to have a Java Server yourself. According to the presentation last night costs start at something like $350 per year - please see Acquia.com for further details.
Module Filter: Provides an Ajax filtering form for the modules screen, useful when you have a billion modules. I would imagine there are quite a lot of production websites out there with an awful lot of modules on their modules screen whether they are installed or not and this just allows for nice, quick filtering. A useful niche tool module.
Context: Allows you to display blocks or breadcrumbs depending on whether certain conditions are met (e.g. you are on a certain page, user has a certain role, combinations of these conditions). It also allows you to do things like display different themes based on conditions. I'm sure it has many other powers too. This is a module I've been aware of for a long time but I've previously been in the panels camp on the long side of the panels vs context argument. Having seen this, I'm probably now part of the argument that each one is better in different circumstances, and I'd like to get more familar with panels.
There were several other modules discussed, including a really nice demonstration of the power of the Amazon.com API and the 960 gridder module which looks like a great tool if you design your websites to the 960 framework or use 960 layouts, but the ones I covered in details were the ones where I took the most notes.
Unfortunately, most of the sites on my current contract are Drupal 5 sites, so at least in the day job I can't take advantage of most of this information and these great modules. I am hopeful that all this module info will add weight to the case of getting everything upgraded to Drupal 6 and possibly beyond!
Hopefully this information proves useful to some people and I look forward to seeing people at more Drupal drop-in's in the future!