Sliding off the usual chattering on Drupal 5, in this article I thought of peeking into Drupal 7, which is the blooming new horizon for Drupal community. The release date of Drupal 7 is whispered in shadows, out of the reach of common mortals but the development snapshots are available for anyone to grab.
[Dries Buytaert - http://buytaert.net/drupal-7-code-freeze-almost-upon-us]
The main difference you will notice might be the way Drupal is interacting with Database. In addition to integrating PDO and better support for multiple Database servers, hook_install, hook_uninstall will now automatically handle schema definitions.
Another awesome addition is how File API accesses files with the use of stream wrappers. All functions that used to take a file path now take a URI like public://old_photos/banana, bringing file paths to a common format. The Drupal 7 core ships with three default stream wrappers namely temp://, public://, and private:// with support for contrib to offer wrappers such as s3:// for Amazon S3, flickr:// for getting data into/out of Flickr and many more. Just this single feature could bring a totally new awesomeness to the Drupal community and much time saving for future Drupal developers.
In terms of field API improvements, taxonomy terms are now fields while comments and taxonomy terms have been made fieldable, and fields are also now translatable which is a go go for Internationalization(I18n) aspect.
Performance-wise, one of the major downfalls of Drupal was the bloated load speed of a default Drupal instance. With D7 this issue has been approached by shipping a “smushed” images that are lighter on bandwidth, and with a caching system to the render API which is currently implemented by blocks, and because it happens early in the page render cycle, it works for both authenticated users and with node access modules.
Another issue that has been fixed in D7 is improvements in Install profile. Instead of .install and .info files working just as identifiers for a module, now they can declare dependencies, manage dependencies, version management and many more.
Regarding Drupal templates, the most exciting improvement might be the addition of wildcards operator in tpl.php files. For example page-user-%.tpl.php to affect any user/xxx while letting page-user.tpl.php affect only the actual page /user could save many unnecessary woes for template designers. Also the AJAX framework from CTools has been brought into the core, and core now supports a new .once() method for ensuring that an AJAX behaviour/effect applies only a single time which can save much code space. Additionally, there are now system-wide classes for marking elements as either completely hidden (.element-hidden: equivalent to jQuery’s hide() function) or invisible (.element-invisible: visible only to screen readers).
Drupal 7 Admin interface [http://www.drupalcoder.com/story/526-drupal-7-whats-new-from-an-end-user-perspective]
No, but listing all new stuff of D7 here would be boring and frankly tiresome to most. But if any one is interested to have a look at all the new changes that will be rolled out with Drupal 7 the best place would be the release note update of D7.
With a development time scope of more than 2 years, the arrival of Drupal 7 is sure to bring much excitement and many new cool features (in addition to the few listed here) to the Drupal community. Till the official announcement, let’s keep fingers crossed!