On January 15th, the first alpha version of the upcoming Drupal 7 was released in the public. Drupal 7 has been in development for at least two years and brings many new features. In this post, I'm going to write my first impressions about this new release. Please note that the alpha1 version is not intended for production use, since it contains many bugs and has a lot of critical issues which must first come down to 0 before the final version is rolled out.
Introduction
I downloaded Drupal 7.0-alpha1 from the official site. Note that Drupal 7 is the first version that requires at least PHP 5.2.0 and MySQL 5 or PostgreSQL 8.3 or SQLite 3.4.2, as INSTALL.txt states. SQLite is a new database backend for the data storage, since now Drupal utilizes PHP's PDO for the databases.
Installation
The installation is similar to the one in Drupal 6. A nice addition is the introduction of installation profiles (standard and minimal). Here is a couple of screenshots.
A first look
The first thing you'll notice when you click to view your newly installed site is the Dashboard. When you click to visit the site, you will be logged in as the administrator and you will be presented with a top black and grey header that contains a bunch of links. These links are the links to the administration tasks of the site. The Dashboard is (one of) the outcomes of the Drupal 7 User Experience Project, which aims at delivering a much better interface of Drupal to the end user. Dashboard accepts shortcuts, so you can place your own shortcuts there. The defaults are "Add content" and "Find content". At first sight, the Dashboard seems like a good idea, only time will tell if the outcome is really better.
There are some changes in the Drupal glossary, for example, users are now called "People". The Dashboard provides links to various aspects of the site configuration:
- Content displays a listing of all site content.
- Structure holds the building pieces of the site, blocks, contact form, content types, forums, menus, taxonomy and triggers.
- Under Appearance you will be presented with a list of the currently installed themes and be able to change their settings.
- People displays the list of registered site users.
- Modules displays the listing of Drupal core and third-party modules.
- Configuration is a place for other options that affect the site usage, like Regional and Language, System, Search and metadata, People and permissions, Workflow, Development, Web services, Media and Content Authoring. I guess that the Configuration option holds all other options that don't fall under the previous categories.
- Finally, Reports displays options for listing the log entries, the top search phrases, not found pages, status report, etc.
More under the hood
Drupal 7 now includes a subset of the CCK module. What does that mean? It means that you can alter a content type, by adding any number of extra fields of any type (or at least the most widely used kind of types, like numbers, dates, texts, etc.). This is a killer feature, so Drupal 7 is a major advancement in that area. The fields management are under the Content types configuration.
You can now say bye-bye to the "Page" and "Story" content types, which have been replaced by the "Basic page" and "Article" content types respectively. I guess these provide a better name for what they actually represent.
The interface has been overhauled and restructured in many places. For example, when creating a new node, all these miscellaneous options regarding the node (authoring information, workflow settings, comments, etc.) that existed in the form of sliding pop-ups (Javascript) have now been placed under vertical tabs like options (see the accompanying screenshot).
There's a new default content type, the "plain text", which is for nodes that accept only plain text. Here, breaks and paragraphs are created by one or two new lines respectively. Not something huge, but surely a handy addition.
Part of the Imagecache third-party module is now integrated into core. Imagecache is used as a placeholder of predefined actions against images, for example, resize, scale, crop, etc.
Garland and Stark are now the only themes distributed with the new version. Kiss good-bye to bluemarine, chameleon and pushbutton (finally!). Stark is a new fluid-width theme.
Cron.php now cannot be run with the appropriate key, for security reasons. The key is a long alphanumeric string that is passed as a url parameter to the cron.php and is created during the installation. I guess it cannot be changed afterwards.
Taxonomy now has a default vocabulary, Tags, which will act as the placeholder of your terms for categorizing the site content. Although this is a small addition, you understand that there are times that few things can make a different. Newcomers will now probably understand more easily that they must place their terms under that vocabulary.
A new role is now created, along with the default "Anonymous" and "Authenticated". The new role is the "Administrator".
Conclusion
At (very) first sight, the new version of Drupal promises major enhancements to many areas, which I could not discover in the little time that I had to play with it. There are many changes inside the core that provide an even better base for developing rich web applications, like the introduction of the fields, or the use of PDO for the database backend. There's no release date for Drupal 7. It will be out when it's ready, many core developers say. Surely the interface changes are welcome and I'm sure they will attract many more newcomers.