Drupal

Drupal related posts by Gábor Hojtsy.

Thanks to Mollom for protecting this blog from spam

Dries approached me a few months ago, whether I was satisfied with unsolicited content submission solutions I was using on my sites. Well, I was using captcha as anyone else, and the promise of an automated content analysis service which would get my site rid of captchas in most cases did sound very attractive, so I jumped on the train and installed Mollom on this blog. It was hard to not get the word out and always talk in secret-speak instead with people who I knew use or know about Mollom. Since yesterday, Mollom is in public beta, so people can try it for themselves. My spam/ham graph from the Mollom site shows how well does this service serve my site without me doing much about it (and the graph/site looks sexy too):

Mollom

While Mollom started off with spam identification, it is already doing unsolicited user registration blocking and other content protection schemes are on the plan, including quality and offtopic content analysis. I am eager to see what comes out of this adventure of Dries.

Going forward on the WYSIWYG / RTE roadmap, more fun with blocks

As I explained in an earlier blog post, I was tasked by Acquia (specifically Dries) to identify and propose fixes to issues around integrating visual content editors (WYSIWYG = What You See Is What You Get or RTE = Rich Text Editor). Instead of rushing to select an RTE, the focus of my roadmap is to solidify input format support in Drupal so that integrating a visual editor becomes a peace of cake at the end hopefully.

Textarea and format identification

Drupal 7 formats patchDrupal is very flexible and this makes integrating an RTE harder compared to one-purpose systems. First I tried to deliver a solution for RTEs to identify the form fields to attach to. For this to work, we need input format metadata attached to form elements, which is implemented in issue #125315 with the new #input_format Form API key. This suffers from some parenting issues still (does not support multiple format selectors in one form), which we need to solve before being able to commit. On the same angle, the RTE should know whether that format has anything to do with the format supported by the RTE, be it HTML, wiki markup or bbcode for example. Drupal uses HTML by default, and administrators need to explicitly disallow HTML. This setting however was tucked down in the "Filter HTML" filter, which made it non-intuitive to identify. So issue #24988 deals with breaking that out to its own filter for easy non-HTML format identification. This way we can easily disable HTML RTEs on such formats.

Putting permissions to place

Simplifying input format setup is quite important. Right now, there is a disconcert between setting up general permissions and input format access settings. Although the later configuration maps input formats to user roles, it is implemented in its own custom permission system. By leveraging the core permissions system for this in #110242, just like the node permissions are implemented with their dynamic names, we clean up the user interface, bring in consistency to permission setup and also simplify the API.

More fun with blocks

Finally, there are quite a few textarea based input interfaces without format support in Drupal core still. For some site settings, like the contact page help or the user registration help, I think it makes a lot of sense to just use blocks. By making the help area an official theme region, we can put the help text there as a block, and allow users to add any number of blocks to the help region to add more custom help to any page. The one-off solutions for contact page help and user registration help can be easily generalized to an admin-configurable custom help system in issue #240873. By using blocks in the help region, admins can limit and share help between different pages, provide different help for different roles and use any format for their help input. If this sounds a lot like the helpedit module or somewhat like the helptip module, that's not a coincidence, this simple change would move some of the features of these modules to core.

FOSDEM presentation video available

I have only been able to provide a short recap of FOSDEM 2008 so far, due in part to Dries' request not to publish materials from his part of our talk before DrupalCon Boston. There was video available of all the other FOSDEM Drupal presentations already, thanks to Luc Van Braekel, but he was unable to arrive in time for our presentation. Now that DrupalCon Boston is over and Dries published the video of his presentation there, I asked the Krimson guys, and Bruno De Bondt in particular, who made a recording of our presentation, to make the video available. He made the recording available on Google Video:

I also exported the slides I built into a convenient PDF form (2.2 MB). This format does not include the demo videos I made (in playable format), and is somewhat modified in title and attribution, since it does not include Dries' slides, but otherwise matches the slides I presented (even including some extra notes). For Dries' content, it is better to look at the State of Drupal video and slides.

Again, thanks to Jo, Roel and Joeri for putting resources in to organize this event!

Unleashing jedi powers

I was browsing around in the fresh Drupal images on Flickr, when I stumbled on this composition. While in reality I had a back scratcher in my hand at the time (which became famous on its own right that day), this edition of the photo is simply hilarious.

Photoshop work by Jon Hancock, who also made some famous chx compositions. Congrats!

Share every single translation you create with the community, without extra effort

I am way behind in blogging about DrupalCon Boston 2008, which was truly a blast. It was the biggest and best organized Drupal conference so far, and was put together in record time. I was happy to come early to Boston and stay a bit more with people who had their flights cancelled, and others who simply live in Boston to tourist around the city as well.

The conference provided lots of opportunities to be productive on-site in the BoFs and on the code sprint which followed the conference. Honestly, I intended to work on some of my core modifications for filters which (unfortunately) are still not in patch form, but without network connection for a considerable time, I needed to look into what I have on my computer, and figured I should work on the top priority contrib issue in my projects, as identified at the BoFs. Read on to find out more.