My favorite Drupal 7 features
Yesterday I have read through Dries' State of Drupal presentation, and I have to say I'm impressed both by the thinking he put into the release engineering (something I have only seen at OpenBSD), and by the features Drupal 7 will bring to the table.
Cherry-picking from his presentation, I think the most promising new features are:
- Support for master/slave replication
If it means what I think it means, this will take the load off the SQL servers in complex installations.
- SQLite support
Not important to ourselves, but it will allow us to host smaller "unreliable" Drupal installations in "jails" without having to give them database access.
- Better support for WYSIWYG editors
It was just time.
- Reduced number of SQL queries
Taking load off SQL servers.
- Stopped writing sessions for anonymous users
Not that transmitting cookies is that expensive, but they create unnecessary processing and file access both on the server and the client.
- Added 10.000 lines of API documentation
The current documentation is about 100x better than it was three years ago, when we at Online Projects choose Drupal as one of our foundation frameworks.
- Added a test framework and embraced test-driven development
I hope this means less contrib modules breaking each other's functionality.
- Made files first-class citizens
I hope this will mean no more messy divergent image handler modules.
- Added a Field API in code (CCK in core)
Very good. I don't remember one installation without CCK.
- Made it possible to add fields to users
Another functionality that has it's real place in the core.
- Added jQuery UI
- Improved the node access control system
It was already much better in Drupal 6 than in Drupal 5, but I'm happy if it gets even better.
Keep up the good work, guys!
And some old things...
Just for reference, here are some older things I love about Drupal (compared to other available CMS-es):
- All the contrib is in CVS.
This means that we can get module updates programmatically, not having to download each of them manually.
- Code is GPL.
GPL keeps Drupal module developers from choosing a different license for their modules. Actually, this is something I'm ambiguous about: On one hand, it keeps us from creating a commercial product based on Drupal. But on the other hand, with this Drupal avoids the licensing mess and the multitude of paid modules that, for example, Joomla has.
In my opinion, Drupal is the golden standard of how to do APIs in a PHP-based product. Just recently, I was using the Forms API, the Filter API, and the Node API, and while they certainly had a few quirks, it's one of the more consistent APIs. (More documentation will make it even better.)