Drupal 7 was released on January 5th and this friday we'll be having a release party in Barcelona, just as we announced some days ago. In this entry I'd like to summarize Drupal 7's new features for users, administrators and developers.
We'll be able to see the first changes introduced on Drupal 7 from the very begining of the setting-up process: we are prompted with two options, either installing with the minimal modules enabled or using a standard profile, like it was before, with a series of generic modules already enabled. The option of installing different profiles is not really new (it also existed on Drupal 6 and even 5) but it has been greatly improved as to promote drupal distributions. This allows us, for example, installing Drupal 7 in any language (naturally Catalan is one of its options) without having to download all the translation files. Really convenient.
The best improvement in this area, however, is the possibility of installing new modules and themes via web, this is by using drupal's administration interface. This prevents from having to upload files to a certain folder using FTP and allows to manage our site from anywhere.
One of the issues that has been greatly enhanced is the general usability of using and managing a D7's site. Within these improvements we can find an admin layer that overlays current page.
A customizable administrative with any block available provides a general overview in just a glimpse.
Contextual links provide easy access in just one click to admin actions from many of visible elements of a page such as a block, a node or a view.
D7 has a customizable shortcuts' system. There's a second level of links within the administrative toolbar in which users can add or remove shortcuts to administrative pages they use the most, saving clicks and time.
There are many little usability improvements such as the new structure for admin's pages, draggable control of elements' weights, or shortcuts to modules' configurations, permissions and help from the modules' page.
Another area in which has been working hard is in moving some previously contributed modules into core. As a result there won't be any need of installing the following modules since they have already been included in drupal's core:
Including CCK on core has likely been the most important addition. However it is true that not all D6 functionallities on this area have not been included in D7 and will require a contrib module. On the other hand those that have been included have been improved and have new functionallities have been included as well.
The inclussion of CCK has gone beyond the inclusion of specific functionallities and has made possible to change the general structure of drupal's managed content. As a result a new File management API has been developed and it allows to add fields not only to nodes but other elements such as terms or users. In fact there won't be any difference between a nodes, users, terms, vocabularies... being all of them 'entities'. This brings a whole new set of possiblities!
Another contributed module that has been included in core is imagecache and now Drupal can manage image displays within every entry. Great!
Other functionalities that have been included in core are new multilingual options, unit testing (which results in an even more secure code!) OpenID, RDF(!), poormanscron, vertical tabs, etc.
Drupal 7 finally gets rid of Garland template and includes two new default themes: Bartik for frontend and Seven, aimed for administration. Garland is also included, although it is not enabled by default.
Al these changes involve great internal changes within the code itself such as:
- New API for field management: Field API
- New database abstraction layer, based on PDO (PHP Data Objects)
- Unit testing
- Many new hooks
- New concept: entities
- Many improvements on template system
- RDF support
- Improvements in Form API, multisites...
Almost one thousand developers around the world have been involved on this release which brings many improvements that have been worth the wait (it's been 3 years since Drupal 6 was released). This is a demonstration of the strenght of drupal community and the value of opensource software developers.