Document Sample
Drupal Powered By Docstoc
					What is Drupal? Drupal (pronounced /ˈd pʰəl/) is a free and open source modular framework and ɹuː content management system (CMS) written in the programming language PHP. Like many modern CMSs, Drupal allows the system administrator to create and organize content, customize the presentation, automate administrative tasks, and manage site visitors and contributors.

"Drupal is software that allows an individual or a community of users to easily publish, manage and organize a great variety of content on a Web site. Tens of thousands of people and organizations have used Drupal to set up scores of different kinds of Web sites, including:
     

Community Web portals and discussion sites Corporate Web sites/intranet portals Personal Web sites Aficionado sites E-commerce applications Resource directories

Drupal includes features to enable content management systems, blogs, collaborative authoring environments, forums, newsletters, picture galleries, file uploads and download, and much more. Drupal is open source software licensed under the GPL and is maintained and developed by a community of thousands of users and developers. Drupal is free to download and use." (Source: CMS Matrix) Drupal is a relative youngster compared to other content management systems (CMSs). However, we got the impression the framework was well written, robust, very extensible, and seemed to have a thriving development community that was generating a lot of adoption and support. As with other CMSs, the framework was very extensible. The framework and templating (theming) system are all written in PHP; there is no separate tag language to be learned. If you need to break out of the framework, it is very easy to do. (Of course, this isn't recommended, but it does offer ultimate flexibility.) Session management is built into the core functions, which was more than other CMSs provided. This could help us pass some hurdles later on. Drupal is known for scalability, or ease of growing a Web site from a small set of users to an enterprise level. The framework also has the ability to 'throttle' areas of the site that could cause potential problems during heavy traffic situations.

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. We'd heard that the access control of Drupal can be more granular, but figured we could deal with that using the flexible extensibility. Drupal 4.7 has just been released with many enhancements to Version 4.6. Ruby on Rails "Ruby is a pure object-oriented programming language with a super clean syntax that makes programming elegant and fun. Ruby successfully combines Smalltalk's conceptual elegance, Python's ease of use and learning, and Perl's pragmatism. Ruby originated in Japan in the early 1990s and has started to become popular worldwide in the past few years as more English language books and documentation have become available. Rails is an open source Ruby framework for developing database-backed Web applications. Rail's guiding principles: less software and convention over configuration. Less software means you write fewer lines of code to implement your application. Keeping your code small means faster development and fewer bugs, which makes your code easier to understand, maintain, and enhance. You will see how Rails cuts your code burden shortly. Convention over configuration means an end to verbose XML configuration files -- there aren't any in Rails! Instead of configuration files, a Rails application uses a few simple programming conventions that allow it to figure out everything through reflection and discovery. Your application code and your running database already contain everything that Rails needs to know!" (Source: Rolling with Ruby on Rails)

Drupal in detail Drupal contains many built-in features and is easily extensible with a vibrant community supporting and adding to the portfolio of additional features. The basic features include:
 

   

Friendly URLs using Apache's mod_rewrite capability Easily extensible using Drupal's module framework (The community has developed many useful modules that provide functions such as taxonomy display, jabber authentication, private messages, bookmarks, and so on.) A personalization environment for individualized content and presentation based on user preferences Role-based permission system to define access to the viewing and editing of content Content is fully indexed to support search Drupal is written on top of a database abstraction layer, so the framework can be easily extended to other database back ends

   

Support for other content forms such as polls, threaded comments, and discussions and content syndication Separation of content from styling in a templating system that uses HTML, CSS, and PHP Administrative support for logging, analysis, and Web-based administration Online help

Shared By: