Drupal 7 Beta: A Developer Looks at Themes and Modules
Drupal 7 Beta ThemesDrupal version 7 beta ships with 50 themes, and uses a new admin interface, which (if enabled) "floats" on top of the site. It seems a bit more easy to use than the previous version, which often overlapped other elements of the site on top of the theme info and select buttons, making them hard to use. They removed the Bluemarine, Chameleon and Pushbutton themes, relegating them to the contributed themes area.
The new Stark theme is enabled by default, as it demonstrates Drupal's default HTML markup and CSS styles, better allowing a new user to get familiar with the way Drupal handles CSS, and how to change it to suit your needs. When you click the Stark themes settings button, you are presented with the toggle display area which allows you to turn various sections of the site's layout, such as logo, site name, slogan, user pictures, etc.
While the Stark theme may be very demonstrative, it's also....ugly. It uses serif fonts, and makes the page look like something from 1992. So hey, I'm not ready to delve into the CSS and change it just yet...so I changed it to the Bartik theme, which is included, as the default theme. The theme page allows you to just click a link to "enable and set as default" so I did just that. MUCH better, and more classy looking:
Drupal 7 Beta ModulesThis much awaited release ships with over 40 core modules. Many of them have to be enabled before you can use them, and this is done through the modules admin area. Like the themes section and all the others, it floats above the site, and looks like this:
Modules that are considered core modules include the following, with descriptions quoted from the Drupal modules page within the admin console:
- Aggregator - Aggregates syndicated content (RSS, RDF, and Atom feeds).
- Block - Controls the visual building blocks a page is constructed with. Blocks are boxes of content rendered into an area, or region, of a web page.
- Blog - Enables multi-user blogs
- Book - Allows users to create and organize related content in an outline.
- Color - Allows administrators to change the color scheme of compatible themes.
- Comment - Allows users to comment on and discuss published content.
- Contact - Enables the use of both personal and site-wide contact forms.
- Content translation - Allows content to be translated into different languages.
- Dashboard - Provides a dashboard page in the administrative interface for organizing administrative tasks and tracking information within your site.
- Field - Field API to add fields to entities like nodes and users.
- Field SQL storage - Stores field data in an SQL database.
- Field UI - User interface for the Field API.
- File - Defines a file field type.
- Filter - Filters content in preparation for display.
- Forum - Provides discussion forums.
- Help - Manages the display of online help.
- Image - Provides image manipulation tools.
- List - Defines list field types. Use with Options to create selection lists.
- Locale - Adds language handling functionality and enables the translation of the user interface to languages other than English.
- Menu - Allows administrators to customize the site navigation menu.
- Node - Allows content to be submitted to the site and displayed on pages.
- OpenID - Allows users to log into your site using OpenID.
- Overlay - Displays the Drupal administration interface in an overlay.
- Path - Allows users to rename URLs.
- PHP filter - Allows embedded PHP code/snippets to be evaluated.
- Poll - Allows your site to capture votes on different topics in the form of multiple choice questions.
- Profile - Supports configurable user profiles.
- RDF - Enriches your content with metadata to let other applications (e.g. search engines, aggregators) better understand its relationships and attributes.
- Search - Enables site-wide keyword searching.
- Taxonomy - Enables the categorization of content.
- Text - Defines simple text field types.
- Toolbar - Provides a toolbar that shows the top-level administration menu items and links from other modules.
- Trigger - Enables actions to be fired on certain system events, such as when new content is created.
- Update manager - Checks for available updates, and can securely install or update modules and themes via a web interface.
- User - Manages the user registration and login system.
The new fields module takes the role of the previously popular Content Construction Kit (CCK) module, which provides the ability to add custom fields to nodes, which are largely used in the registration and profile areas.
For a full list of the upgrades in this release, be sure to check out the Drupal 7 Changelog.
This release has been eagerly anticipated by developers for years now, and this beta shows that good things come to those who wait. The new functionality is worth the upgrade hassle and learning curve, and should be enough to convince those who have been sitting on the fence to jump in, test the water, and join the Drupal fan club.