2009/11/12 - web
I am actually blogging about my own blog...
Drupal is a popular content management system (CMS); that is, an online system for easily creating pages of information to display to its users.
Drupal.org is built on Drupal. And here is a great list of their own case studies.
Drupal has an advantage over Wordpress or Joomla partly because of the size community. It has such a large following that code is made more secure because of the number of people using it. The more people looking at code, the more likely that vulnerabilities and errors will be spotted. Vulnerabilities and errors can easily be easily resolved using Drupal’s community forums.
Drupal has a module system; that is the ability to load piece of code created by yourself or the community on the fly. Drupal’s functionality is so modular that every part can be analyzed easily and checked for vulnerabilities. Modules with errors can easily be removed and turned off until they are fixed. Fixes can even be made by the user without any community involvement.
There is an easy to understand application programming interface (API) provided by Drupal. Drupal functionality can be accessed from PHP code inserted into the site, or from modules built around a specification that is Drupal understands.
With Drupal, it is easy to install modules and themes. These can affect the way your site looks and acts. To install a module or theme you simply place it within a directory “modules” or “themes” inside your sites installation directory. Drupal automatically detects the additions and shows an option for enabling it in the control panel; this is another example of checks that Drupal performs that makes using the system very easy.
Drupal has a very easy install process. In a few simple steps you can have a Drupal site up and running. Drupal has a lot of checks that make the installation process easier. For example, it will automatically check for its own installation directory. It will also check for write permissions on the uploaded files directory.
During my work on kjack.org I discovered a ton of very useful modules that make site administration easy.
captcha sucksCaptcha: We all know that Captcha is broken, but there is a module for it anyways that will help filter out some more primitive spamming techniques.
Views: Drupal Views is a very powerful tool for creating lists of content to display to the user. It takes input from the address and can use that to customize the list. You can customize the output of the information completely.
WYSIWYG: A module for adding a WYISIWYG editor to your site. Since Drupal comes with only the basic functionality, adding an easy method of editing your content is quite useful. Especially for those people who don’t know HTML.
PathAuto: Pretty URLs are increasing in popularity. This module automatically generates paths based on the title of the node.
CAS and LDAP: Drupal even has modules available for connecting to LDAP and CAS, making logging in for NAU students easy, and not requiring a registration process.
FeedAPI: FeedAPI provides a great way to import content from outside feeds. In the case of kjack.org, it is using FeedAPI to automatically copy over Google Calendars into the site calendar.
Zen EditAs mentioned earlier, Drupal provides a great method for changing the appearance of the site. Themes are easy to customize; just make a copy of the original, rename it, and start hacking away at the HTML and CSS. My particular favorite is the Zen Suite, because it uses a lot of CSS, customization is easy and can be done by editing just a few files.
Drupal modules are easy to use, just enable them in the administration section and then edit their settings. They can be installed for individual sites, or for all the sites.
The update check tool makes keeping your site up to date and secure very easy. It automatically checks Drupal.org for updates to modules and themes. It even provides download links for different versions. The themes and modules are maintained by the community. Once they pass certain tests during development they are approved for release. These stages are easily identifiable using the color codes on the module’s project page.
Drupal has all the functionality of Wordpress and Joomla and much more. The large community makes it possible to find a module for just about anything a website could need. The modularity makes it easy for an individual to change the behavior of Drupal. Their simple API allows you to take advantage of all of Drupals bits and pieces to achieve the desired functionality. Open source at it’s best...