We use one of the main CMS to achieve adapted, highly specific developments
Drupal is a content management system that aids the publication, management and organisation of content on a website. It is an open source programme, written in PHP and developed by an extensive community. The amount of modules and its high parameterisation has made it a very popular choice for different websites, from business webpages to personal blogs, social networks, forums and online shops.
Drupal stands out for the quality of its code and the pages it generates, its recognition of web standards and the usability and consistency of the whole system. The Drupal design is ideal to construct and manage internet communities. Nonetheless, its flexibility and adaptability, as well as the large amount of additional modules that are available, make it adequate for almost all types of webpages.
Drupal includes a large number of features in the finished product. New features can also be added through the installation of additional modules, developed by the extensive Drupal developer’s community. Modules can also be custom-made. Some of its main functions are:
- Open Source: Drupal’s source code is available under GNU/GPL licensing.
- Modules: The Drupal community has developed large numbers of modules that provide new features such as: category pages, private messaging, favourites, etc.
- Personalisation: In Drupal’s centre a robust customisation environment has been implemented. Both the content and the presentation can be customized according to user-defined preference.
- Friendly URLs: Drupal Apache’s rewrite mod to create URLs that are user-friendly and simple for clients and search engines.
- Management and authentication of users: users may register and log on either locally or with the help of an external authentication system such as Jabber, Blogger, LiveJournal or another Drupal page. Drupal can integrate with an LDAP server for use in an intranet.
- Role-based permissions: Drupal administrators don’t need to grant permissions to each user. Permissions can be assigned to a certain role and users subsequently grouped in roles.
- Management of content: Drupal’s version control system allows you to follow and monitor all successive content updates. It also lets you change comments about each change and re-establish older versions.
- Permalinks: All content created in Drupal has a permanent link associated to enable it to be externally linked without the fear of the link failing in the future.
- Content nodes: All content created with Drupal is, in essence, a node. This allows for a standardised treatment of information, with one only moderation queue for all types of content. It also lets you move any of these objects to the main page and allow comments, or not, about each object.
- Templates: Drupal’s theme system separates content from presentation, letting you control and easily change the appearance of the website. HTML and PHP templates can also be created.
- Association of content: Drupal exports the content in and RDF/RSS format to be used by other webpages. This allows any user with a news aggregator such as NetNewsWire or Radio UserLand to visualise content publish on the web from their desktop.
- News aggregator for blogging: Drupal includes a powerful news aggregator to read and publish links to news articles from other webpages. It incorporates a cache system in the database with the ability to be time configured.
- Medium for the API blogger: The API from Blogger lets a Drupal site be updated with many tools. These tools can be web or desktop-based which provide a user-friendly editing environment.
- Platform independent from the database: Even though most Drupal facilities use MySQL, there are two other options. Drupal incorporates a database abstraction layer, currently implemented and maintained for MySQL and PostfresSQL that supports other databases too.
- Multiplatform: Drupal has been designed from the beginning to be a multiplatform. It works with Apache or Microsoft IIS as webservers and on Linux, BSD, Solaris, Windows and MacOSX. On the other hand, because it is implemented with PHP it is totally transferable.
- Multiple languages and locations: Drupal was thought up for an international audience and provides options for creating a multilingual platform. All the text can be easily translated using a web interface, importing existing translations or integrating other translation tools such as GNU gettext.
- Administration: the administration and configuration of the system can be completely done with a search engine and no additional software is needed.
- Analysis, monitoring and statistics: DDrupal can show on webpages referral reports, the popularity of content or how users navigate through the site.
- Registers and reports: All activity and system events are recorded in an event register that can be seen by an administrator.
- Linked comments: Drupal provides a good linked comments model that lets you follow and participate easily in the discussion about the published comment. Comments are listed hierarchically, as in a group of news articles or forums.
- Surveys: Drupal includes a module that allows administrators and/or users to create configurable online surveys.
- Discussion forums: Drupal incorporates discussion forums to create dynamic virtual communities.
- Collaborative projects: this charachteristic is unique to Drupal and it lets users create a project or book where other users can contribute to its content. This content is organised in easily navigable pages.
- Efficiency and scalability, congestion control: Drupal incorporates a congestion control mechanism that lets you enable or disable certain modules or blocks depending on the server load. This mechanism is totally configurable and adjustable.
- Cache system: the cache mechanism eliminates queries to the database, increasing the efficiency and reducing the serverload.