You are here
From yesterday on until March 24, Google is accepting student applications for the Google Summer of Code 2007. Google pays each successful student 4,500 USD for his work on Drupal during the summer, and we try to assign each student two top-class Drupal mentors to work with.
I'm particular interested in students that want to work on Drupal core, Drupal's main distribution, so I decided to share five ideas that I think are particularly core-worthy:
- Improved file handling. Make it possible to mix database and file system storage on a per post basis, further abstract the storage model so we can support distributed storage solutions (like Amazon S3), apply node-level permissions to a node's files through a light-weight
file.phplayer. Do not implement files as nodes.
- Hierarchical page structuring. Remove the "book page" node type, and turn the book module into a module that is specialized at creating hierarchical content trees. The module should automatically extract a menu from the node hierarchy, set the correct breadcrumbs, help you define a hierarchical URL structure with clean URLs, etc. This module will be the de facto standard to structure pages and to create hierarchical navigation schemes in Drupal.
- Lightweight image/asset management. Make it easier to embed images in posts: write a lightweight asset manager to make it easy to re-use previously uploaded images, and provide a lightweight WYSIWYG solution to drag-and-drop (position) images into posts. More advanced WYSIWYG editors should be able to overwrite the one in core, and more advanced document management solutions should be able to overwrite or extend the basic asset management solution in core.
- Streamlined installation procedure. Remove the Drupal welcome page, and replace it by additional installation steps in the installer. The additional installation steps should query the user for basic site settings (i.e. site name, site slogan), and should provide a dedicated and simpler user interface to create the administrative user account. I'd also like to ship core with an optional install profile optimized at jump starting your installation -- for example, one that sets up a working contact form and creates a dummy about page with a clean and human-readable URL.
- Improved data models. If you look around, it's quite obvious that websites are becoming a selection of independent components: OpenID, Amazon S3, etc. If we have well-defined data models in Drupal core, integration with web services (like those build with Adobe's Flex) will become easier. As a first step, we need a data API that we leverage internally, so we can get better at distributed search, import/export functionality, user profiles, custom content types, internationalization, and basic scaffolding. Start with Drupal's form API and massage it into the beginning of a data API. It's crucial for Drupal's future, but the work might not be for the faint hearted.
Keep in mind that each of these ideas need to be fleshed out more before they can be considered to be a solid Google Summer of Code proposal. Also note that this is not an exhaustive list of ideas, so feel free to submit additional ideas for consideration.
Video2brain sent me a copy of the Drupal 5 training video they recorded with Hagen Graf, author of a German Drupal book. The video is in German so I can't evaluate the quality of the content, but it sure looks professional. If your German is better than mine, you can get some free video samples from their website. And for every copy they sell, 1.25 EUR goes back to the Drupal project. Sehr cool!
As one of the teachers, I had good fun and actually learned a lot about teaching Drupal. It gave me fresh perspectives on how we can continue to improve the Drupal experience. We have work to do!
For the first time in my Drupal career, I'll help teach two Drupal workshops.
The first Drupal workshop is organized by Roel De Meester as part of the Belgian Drupal User Group activities. The workshop will take place in Antwerp, next Saturday, March 10th. It is targeted at people who are new to Drupal: we'll show you how to install and configure a Drupal site but deliberately won't cover any advanced developer topics. The workshop is free to attend but seating is limited so hurry up and check Roel's announcement for more information.
The second Drupal workshop that I'll assist with is the Drupal performance and scalability workshop organized by Lullabot. At the workshop, James Walker (Bryght), Jeremy Andrews (CivicSpace), Matt Westgate (Lullabot) and myself will share tips and information on getting the maximum performance out of Drupal and the infrastructure that your Drupal site runs on. The workshop takes place on March 24th, directly after the Open Source CMS Summit at Yahoo! in Sunnyvale, California. It is not free but all profits from this seminar will be donated to the Drupal Association. (We're not getting paid for it.)
Why am I doing this? Because I think it is fun, and because it is a great opportunity to learn from what Drupal users have to say.