Web projects with Drupal

GreenNet’s current CMS of choice is Drupal. It is an open source system for developing websites and publishing content to them. A Drupal website has at its heart a database of the site’s content (articles, reports, profiles, events etc..). The system serves content from the database to the right pages of the site in the appropriate style, as they are called for by site users. Site authors can add, modify and manage their content in that database using simple private online forms.

The advantage of this system for GreenNet members is that their sites can be updated by anyone who has authorised access from any internet connected computer. All they need is an ordinary web browser such as Firefox, Internet Explorer or Safari. Once they have mastered the simple art of filling in the Drupal forms, resources and attention can focus on content as the website largely manages itself.

With Drupal’s rising popularity amongst developers, having your website on a Drupal platform also offers GreenNet users the flexibility to get development assistance from a range of sources. In line with our broader philosophy regarding technical work, this aspect of the system frees you from any locked-in relationship with the initial developer – a problem all too common with other CMSs.

Performance

Drupal is an extremely scalable, fast and reliable content management platform. It is used for a range of smaller web sites as well as many high-profile, high-traffic sites such as lime.com, theonion.com, and kerneltrap.org. Drupal sites can be easily scaled by using multiple distributed databases, PHP acceleration and content caching. However, even a standard Drupal installation running on standard hardware is capable of serving a large number of requests per minute. While based on an old version of Drupal, the Open Source Performance Study of the kernaltrap.org site shows that it was able to handle an average of 50 hits per minute and up to 100 hits running on standard hardware after the site was linked to from [1]. Other performance statistics in a test environment with recent versions of Drupal show that with caching enabled it can serve up to 67 page requests per second.

Security

The Drupal developer community has been extremely responsive to security issues and security patches are normally released, with patches often being released only hours after announcement of an exploit. Secunia maintains a history of security vulnerabilities for 6,5000 products and has detailed information on Drupal.

In terms of number of vulnerabilities, response time, and the criticality of exploits discovered, Drupal compares favourably with most other PHP, Perl and Python-based CMSs. While the issues surrounding the security of Apache/PHP-based systems can be very complex, the PHP/Apache/MySQL platform is a common and well-understood combination of tools and so critical exploits tend to be quickly identified and resolved by the Drupal development community.

While more oriented towards solving potentially insecure Drupal configurations rather than inherent security bugs, there is even a new security module intended to aid site administrators to audit site security.

Ease of Use

Drupal has been commended for its comparative ease of use and the relatively short learning curve in order to be able to create and edit site content. While there are other CMSs which offer even simpler interface designs, we feel that Drupal provides a good balance of features without being excessively complex to use.

In a report on CMS platforms produced by the IBM Internet Technology Group, it is noted that ‘There is still an apparent learning curve to the “Drupal Way” of creating sites, but significantly less compared with other CMSs. The ability to use PHP to move freely between the business logic layer and the presentation layer (using the PHP template engine) was also very appealing.’

Any CMS also needs to be function intuitively for end users as well as site editors and developers. In our experience it possible to create fully-featured, highly usable sites in Drupal, including multiple content-input systems so that end users can enter text using plain text, html or wiki syntax, amongst other formats. This makes the system very flexible in terms of making the system usable for a wide variety of people with disparate levels of familiarity with HTML and web technologies.

Development Community

There is a large and active Drupal development community, with local Drupal community sites in 23 languages. In the first month after Drupal version 4.7 was released, Drupal core was downloaded more than 50,000 times. There were 338 contributors to the latest release with over 1500 committed pieces of code. Additionally, there are about 400 contributed modules available for this version.

This diverse community of users and programmers leads to fast and robust development of both Drupal core and contributed modules.