I have recently been playing around with Drupal, which is a free open source content management system. At first glance Drupal looks rather complicated, as there are many standard modules, even more optional modules that are developed by other users, plus a vast array of configuration settings, all of which make Drupal very customisable, but also complex.
However, one of the great things about Drupal is that fact that once the files are uploaded to your server, it is very simple to get a basic website up and running. Drupal offers several content styles within its standard package, such as blogs, forums, stories, pages and books, plus the ability to import RSS syndicated feeds, to create new content automatically from other websites.
Community and Collaborative Websites
What makes Drupal special is that it is really geared for community and collaborative web sites. By default there are three user levels – Admin (by default the first account created is the admin account), Authorised (i.e. anyone that signs up / registers for the site) and anonymous (anyone viewing the site with no account). For each of these user levels access rules can be granted, for specific categories of content, and for specific parts/modules of the website. For instance, it is possible to allow anonymous readers to leave comments on blog entries, or join in discussion forums, either with or without moderator approval. Alternatively, anonymous users can be blocked from viewing content on the site. The same rules can be applied to authorised users too. As an example, a common way to set up user permissions for the comments module would be as follows:
Access comments – Authorised and Anonymous (i.e. all can read comments)
Administer comments – no permission (i.e. only admin can administer comments)
Post comments – Authorised and Anonymous (i.e. all can post comments)
Post comments without approval – Authorised only (i.e. anonymous can post comments, but they require admin approval first).
This allows for a robust and spam free website to be built. If users abuse the website by posting irrelevant comments or advertise their own websites through the comments modules, then these users can easily be deleted, and their IP addresses can be blocked. In addition to this, there are modules that can be added to the basic Drupal package that allow users to report abusers and spammers to the moderators and admin. This all helps to keep a tidy ship.
Drupal as a multi-user blog
There are many other features within Drupal. One of the best is the ease at which a multi-user blog site can be set up. Drupal could be used just for blogging, i.e. all the other modules, such as forums, stories, books and pages, can be switched off for everyone except the admin. This way, people can sign up and create their own blog and comment on other people’s blogs only. This is a much easier way to install a community blogging platform than the Word Press Multi-User package (WPMU) that requires amongst other things wildcard DNS.
Drupal Modules
There are literally hundreds of extra modules for Drupal, ranging from mailing modules, advertising, administration modules, content development etc. For example one excellent module that is not part of the standard package is the Backup module, which allows admin to quickly backup the database and files from the Admin menu. This means that you always have peace of mind that your installation is safe, so long as you remember to back up the database everyday (which of course should be part of any webmasters daily routine). Other modules worth mentioning are the Pathauto module, which automatically creates SEO friendly URLs (i.e. it replaces the dreaded “node33” with a meaningful URL based on the title of the page. There is also Taxonomy Access Control which gives greater user permission configuration. For example, you can simply create a category called admin, which can only be read by Admin / moderators, so that site developers can have open discussion on their own forums without the general public being able to view.
Drupal Templates
Drupal is also a built and run on MySQL databases and php files / templates. This means that templates can be considered “skins” for the site, in that to change the appearance of a site, and new template is written, bought or downloaded for free, and then once uploaded to the server, users can easily change the template. One handy feature is that you can set a default template for admin, so if a new template is loaded, and there are serious errors which prevent access to the site, then all you have to do is log in as admin, which will revert back to the default template, and then you can disable or delete the dodgy template that you had just attempted to install or build. This is a far suporior solution to that provided by Pligg for example, whereby if you do so little as mis-type the template name when choosing a new one, you are greeted with a blank page, and no way to navigate back and change the template. For those that are not familiar with the database set up and files, the only solution is to upload all files again, which is far from ideal.
Drupal page layout is pretty basic on the standard templates, in that there is a header section which contains the site logo, and top menu, then a central content area, plus two sidebars. The content of the side bars is controlled in the “Blocks” module, and new blocks can be added easily, and any code can be added that you would put into any standard static webpage, such as javascript, html and simple lists, or text.
Drupal Site Search
Drupal comes with a site search feature, which allows you to add a search box to your site (held within a sidebar block) which allows users to search for site content. Whenever a CRON job is run in Drupal, the search database is updated. With standard Drupal set up, CRON jobs are run manually by the admin, but this can be automated to run as part of a daily CRON job update.
Site Analytics
Drupal also comes complete with log access, which allows administrators to easily view the log files for site access, such as Recent log entries, Recent hits, ‘access denied’ errors, page not found’ errors, Top referrers, Top search phrases, Top pages, and Top visitors.
Conclusion
At first glance Drupal may seem a little daunting for a website owner, but it ease of configuration plus the speed at which it can be set up and managed does make Drupal a good choice for both small and larger companies when choosing a Content Management System. It takes time to get to grips with the software, and to understand the various administration settings, but once set up it is very easy to maintain the site. Another advantage of using Drupal is that you can start building the content of the site, and at the same time employ a web designer to create a Drupal Theme for your company, and once the theme is ready, you simply upload and activate it, without any interruption to the actual site, i.e. no downtime is required. So, if you are looking to build and develop a dynamic web community, then Drupal should be on your list of candidates.
Drupal.org is the official website of Drupal, an open source content management platform.