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 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.
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!
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.
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.
I just arrived back home yesterday, and could happily report that this year's FOSDEM was a great experience for me. I have last been there three years ago, at the first Drupal conference (which was at FOSDEM and also in Antwerp in a hotel basement). Lots of stuff changed. FOSDEM grew much bigger, there was a huge interest in sessions going on the Drupal room, as well as other rooms I visited to check out some sessions. Some topics were not as well covered as I expected them, like the Mozilla Prism session going about what's planned, and completely without any working demo. That was not much more then what we already knew.
Staying with the Krimson guys turned out to be the best I could do. They were not only welcoming, having perfect coffee and great wines at home, we got along very well. Jo and Heidi also helped me out a great deal to medicate the flu I seemingly got on Saturday. (I sincerely hope I did not pass on that to any of them). Looking forward to meet up with you in Boston again!
I made a few photos myself, which still need to be processed (not before DrupalCon Boston I think) and our session slides (and video as far as I have heard) is also coming up later.
It looks like the list of sessions for DrupalCon Boston is finalized, so I am happy to announce, that we are going to have a Multilanguage Drupal: a status report and a discussion session, which is going to cover the current state of Drupal 6 and a short overview of contributed modules, and should end up in a vibrant discussion on where Drupal 7 is headed as far as language support goes. There is a huge interest in multilingual support with around 20 modules hosted on drupal.org already. Come and discuss where Drupal is heading, Drupal 7 is in need of hands to advance in this area.
While most of what Drupal core lacks is user entered content translation and localization, and the above session will focus on this, I also added a BoF suggestion which deals with (built-in) interface localization exclusively. Localization tools for Drupal teams and users is expected to focus on tools like l10n_client and l10n_server and related technologies.
At last but not least, Kristof Van Tomme is proposing Szeged, Hungary for DrupalCon Europe 2008, and he intends to hold a discussion BoF on this. The Drupal Association also intends to have a discussion meeting (not open for the public) on the next DrupalCon, so whether this BoF happens is still to be seen. In any case, I am one of the firm supporters of a DrupalCon in Szeged, and I am confident Kristof would be able to lead effectively to get it done in good quality. The easily digestable version of the proposal is up at Proposing Szeged, Hungary for Drupalcon Europe 2008 (look for the attached PDF).
And, well, honestly this is all just peanuts to what all DrupalCon Boston has to offer. So if you are still wondering, whether to go or not to go, make sure you reserve your place! It's a must.
Earlier this month, I got a copy of "Drupal 5 Themes" for some reading pleasure. I just arrived to the end, and after submitting a bunch of non-major errata entries, I thought it would be a good idea to share my thoughts with you.
A lot of people wondered in the drupal.org thread whether such a book is any valuable now that Drupal 6 is out. Well, after reading it through, I can state as well that it certainly has value for people interested in a comprehensive Drupal theming introduction. Book publishing is not a quick process, the CSS reference of the book was updated for Drupal 5.2 (admittedly not much changed in later versions as far as CSS goes, if anything), and the author mentions writing parts of the book while Drupal 5 was just briefly out. Implementing ground-breaking changes is not much easier however, so Drupal 6's new theme flexibilities and features does not require unlearning Drupal 5 knowledge. People familiar with Drupal 5 theming will be able to pick up the new stuff in Drupal 6 much more easily.
Back to the contents of the book, the various chapters definitely provide a decent introduction to Drupal 5 theming. While I don't agree with some approaches (like the chapter on starting a theme from scratch really starting from empty files instead of copying default PHPTemplate files over), the book gives lots of tips which are hard to pick and gather from the Drupal forums. The author also takes liberty of reiterating some basic points multiple times, so it is easy to jump into relevant chapters (eg. modifying an existing theme) without reading all the others. This might feel like a bit too much repetition for people reading from start to end however.
The pages include lots of reference material, like the last chapter with a listing of major forms to theme or chapter 4 completely filled with a list of themeable functions. I think these would have been better put to the appendix as reference chapters, but they are findable where they are nonetheless.
The book does not delve into advanced style sheets and layouts, so the examples provided are of the really basic looks. Those looking for creating top-notch themes still need their own creativity, but this should not be much of news for anyone. The book strives to provide a picture on how HTML and CSS attach to Drupal not how one does things like Sliding doors (a CSS technique) or SIFR (Flash text replacement) work. The author also skips advanced Drupal topics like how to use color module in your themes, although this does not feel like missing since color module would only be used in contributed (reused) themes most of the time, definitely not in purpose-built site themes. The themes produced in the book examples will not compete with Garland regarding their looks either.
Even a site building recipe is included, with things like block visibility settings, custom blocks and some essential blocks explained; showing off that building a site theme is not a generic task most of the time, but it needs to consider site specific needs including blocks, menus and settings even.
So all-in-all I'd recommend this book to all, who are new to Drupal theming, and would like to get a head start on integrating their HTML and CSS techniques to Drupal.
I just noticed the new #translatable module popping up via a note in a Drupal issue. Historically there was i18n module, which provided the de-facto way to build multilanguage sites. Then through some smaller modules, competition and somewhat different thinking came in with localizer module.
Early in 2007, I was discussing the possibility of being the Drupal 6 maintainer with Dries. Dries was just collecting candidates at that time and it was not for some months after work on Drupal 6 started, that he selected me as a maintainer. Through the discussions, we reiterated the point multiple times, that core maintainership requires a significant dedication and time from the maintainer. I never thought I will be able to work this much on Drupal 6 though.
In mid-April, when Dries announced me as the selected core committer, I was still at university, completing my MSc thesis, and that my thesis was focused on internationalization features for Drupal 6 helped my involvement a great deal. It was a perfect match. Then after finishing university, I went on to work in Google Summer of Code 2007, where my application was accepted earlier. In part, I continued the multilanguage improvements for Drupal 6 (with localization advancements) and taken over Localization Server from Bruno Massa to take it to new heights and eventually make it an official tool for Drupal translators.
A few hours after I blogged about graduating, I was approached by Dries and Jay Batson to work for Acquia full time as a Drupal core developer. Being an open source contributor for at least 7 years, I was amazed by the possibility. While it was a lifetime opportunity for me, Drupal 6 benefited most with this offer. I have been working on Drupal 6 full time after finishing Google Summer of Code, right from the next business day, August 21st (months before Acquia was even announced).
I just checked out the data about the volume of my involvement in Drupal 6, and it is fantastic to see that how this all made possible to enable the community to contribute with a higher pace then ever. My commits reflect all your combined work, multiple contributors working on each improvement or fix to Drupal 6. If Acquia's priority would not be to contribute to Drupal 6 and help me enable the improvements and fixes to land in core, we would not be here with a release of this quality in this timeframe. The difference between the parts of this commit graph when I was working on Drupal 6 in my spare time and full time really shows the difference.
So while there are lots of thanks coming my way, let me pass on some to Acquia. Let's meet in the Drupal 7 issue queue as well, we have fun stuff to do in the next release as well!
Just one week before DrupalCon Boston, some well known faces from the Drupal community will gather in Brussels, to host a Drupal Developer Room as part of the FOSDEM conference.
On February 24, Sunday, the developer room offers a great program with well known names. Talks include "What's new in Drupal 6" by Dries and myself, Drupal theming, usability and integration with web services and the ApacheSolr project, the Asset module, Drupal and MySQL high availability, just to name a few.
FOSDEM offers a great program otherwise as well, with Andrei Zmievski talking about Unicoding in PHP 6, Mark Finkle talking about Mozilla Prism (desktop web apps!) and Rogan Dawes talking about OWASP WebScarab-NG (HTTPS interception), just to name a few of my picks.