Drupal is a free software package that allows an individual or a community of users to
easily publish, manage and organize a wide variety of content on a website. Tens of
thousands of people and organizations have used Drupal to power scores of different web
• Community web portals
• Discussion sites
• Corporate web sites
• Intranet applications
• Personal web sites or blogs
• Aficionado sites
• E-commerce applications
• Resource directories
• Social Networking sites
Drupal, an open source content management platform is equipped with a powerful
blend of features, Drupal can support a variety of websites ranging from personal
weblogs to large community-driven websites.
It will enable the features such as:
• Content Management Systems
• Collaborative authoring environments
• Peer-to-peer networking
• Picture galleries
• File uploads and downloads
Collaborative Book - Our unique collaborative book feature lets you setup a project or
"book" that needs to be written and then authorize other individuals to contribute content.
Friendly URLs - Drupal uses Apache's mod_rewrite to enable customizable URLs that
are both user and search engine friendly.
Modules - The Drupal community has contributed many modules which provide
functionality like taxonomy display, jabber authentication, private messages, bookmarks,
Online help - Like many Open Source projects, we can't say that our online help is
perfect but have built a robust online help system and written the core help text.
Open source - The source code of Drupal is freely available under the terms of the GNU
General Public License (GPL). Unlike proprietary blogging or content management
systems, Drupal's feature set is fully available to extend or customize as needed.
Personalization - A robust personalization environment is at the core of Drupal. Both the
content and the presentation can be individualized based on user-defined preferences.
Role based permission system - Drupal administrators don't have to tediously setup
permissions for each user. Instead, they assign permissions to roles and then group like
users into a role group.
Searching - All content in Drupal is fully indexed and searchable at all times.
User authentication - Users can register and authenticate locally or using an external
authentication source like Jabber, Blogger, LiveJournal or another Drupal website. For
use on an intranet, Drupal can integrate with an LDAP server.
Polls - Drupal comes with a poll module which enables admins and/or users to create
polls and show them on various pages.
Templating - Drupal's theme system separates content from presentation allowing you to
control the look and feel of your Drupal site. Templates are created from standard HTML
and PHP coding meaning that you don't have to learn a proprietary templating language.
Threaded comments - Drupal provides a powerful threaded comment model for enabling
discussion on published content. Comments are hierarchical as in a newsgroup or forum.
Version control - Drupal's version control system tracks the details of content updates
including who changed it, what was changed, the date and time of changes made to your
content and more. Version control features provide an option to keep a comment log and
enables you to roll-back content to an earlier version.
Blogger API support - The Blogger API allows your Drupal site to be updated by many
different tools. This includes non-web browser based tools that provide a richer editing
Content syndication - Drupal exports your site's content in RDF/RSS format for others to
gather. This lets anyone with a "News Aggregator" such as NetNewsWire or Radio
UserLand browse your Drupal site from the comfort of their desktop.
News aggregator - Drupal has a powerful built-in News Aggregator for reading and
blogging news from other sites. The News Aggregator caches articles to your MySQL
database and its caching time is user configurable.
Note: This prevents losing track of your news as in other aggregators when you're offline
for a few days.
Permalinks - All content created in Drupal has a permanent link or "perma link"
associated with it so people can link to it freely without fear of broken links.
Apache or IIS, Unix / Linux / BSD / Solaris / Windows / Mac OS X support - Drupal was
designed from the start to be multi-platform. Not only can you use it with either Apache
or Microsoft IIS but we also have Drupal running on Linux, BSD, Solaris, Windows, and
Mac OS X platforms.
Database independence - While many of our users run Drupal with MySQL, we knew
that MySQL wasn't the solution for everyone. Drupal is built on top of a database
abstraction layer that enables you to use Drupal with MySQL and PostgreSQL. Other
SQL databases can be supported by writing a supporting database backend containing
fourteen functions and creating a matching SQL database scheme.
Multi-language - Drupal is designed to meet the requirements of an international
audience and provides a full framework to create a multi-lingual website, blog, content
management system or community application. All text can be translated using a
graphical user interface, by importing existing translations, or by integrating with other
translation tools such as the GNU gettext.
Administration and analysis
Analysis, Tracking and Statistics - Drupal can print browser-based reports with
information about referrals, content popularity and how visitors navigate your site.
Logging and Reporting - All important activities and system events are captured in an
event log to be reviewed by an administrator at a later time.
Web based administration - Drupal can be administered entirely using a web browser,
making it possible to access it from around the world and requires no additional software
to be installed on your computer.
Discussion forums - Full discussion forum features are built into Drupal to create lively,
dynamic community sites.
Performance and scalability
Caching - The caching mechanism eliminates database queries increasing performance
and reducing the server's load. Not only can the caching be tuned in real time, while your
site is under load, but it has been successfully tested under a "slashdotting" and
performed extremely well.
The directory module presents a very simple and lightweight hierarchical 'directory-like'
view (conceptually similar to DMOZ, Yahoo, etc.) of nodes that have been assigned to
one or more designated taxonomy 'vocabularies' (depending on module configuration).
This allows users to drill down on selected content on your Drupal site.
Content Construction Kit (CCK)
The Content Construction Kit allows you create and customize fields using a web
browser. The 4.7x version of CCK creates custom content types and allows you to add
custom fields to them. In Drupal 5.x custom content types can be created in core, and
CCK allows you to add custom fields to any content type.
Notice! The newest 5.x versions include table name changes for the tables that store
CCK data, so be sure to visit update.php to see if database updates are needed. No
matter what version you are using, you should check update.php any time you
update your code.
Several contributed projects provide additional field types and widgets for CCK:
• computed field: lets you add a PHP-driven "computed field" to CCK node types
• date: creates an ISO or unix timestamp date field
• email: validated email field
• image field: an image field
• link: a URL field
Other modules related to CCK:
• content template (contemplate): allows for control over the form and display of
fields, including teaser and RSS feeds
• views: provides many types of listings of content; CCK exposes its fields to the
CCK Field Permissions
This module allows admins to restrict access to specific CCK node type fields to by user
roles. This is useful if you have a content type that you want to allow some classes of
users greater use of- for example, a CCK node may have a field for a link to an external
website. Using this module you can allow only registered users to have access to that
field to create, update, and now view.
Note: that when you enable this module for a specific field, you must grant view access
for users- when you enable it, it strips view access for all users except the root user. If
you disable this module, all access is returned to normal.
CCK Field Permissions does not use node_access so it will not interfere with other access
Content display · Views · Modules
merlinofchaos - November 25, 2005 - 20:34
The views module provides a flexible method for Drupal site designers to control how
lists of content (nodes) are presented. Traditionally, Drupal has hard-coded most of this,
particularly in how taxonomy and tracker lists are formatted.
This tool is essentially a smart query builder that, given enough information, can build
the proper query, execute it, and display the results. It has four modes, plus a special
mode, and provides an impressive amount of functionality from these modes.
You need Views if:
• You like the default front page view, but you find you want to sort it differently.
• You like the default taxonomy/term view, but you find you want to sort it
differently; for example, alphabetically.
• You use /tracker, but you want to restrict it to posts of a certain type.
• You like the idea of the 'article' module, but it doesn't display articles the way you
• You want a way to display a block with the 5 most recent posts of some particular
• You want to provide 'unread forum posts'.
• You want a monthly archive similar to the typical Movable Type/Wordpress
archives that displays a link to the in the form of "Month, YYYY (X)" where X is
the number of posts that month, and displays them in a block. The links lead to a
simple list of posts for that month.
Views can do a lot more than that, but those are some of the obvious uses of Views.
Content Templates (Contemplate)
The Content Template (a.k.a. ConTemplate) module allows modification of Drupal's
teaser and body fields using administrator defined templates. These templates use PHP
code and all of the node object variables are available for use in the template. An
example node object is displayed and it is as simple as clicking on its properties to add
them to the current template.
This module was written to solve a need with the Content Construction Kit (CCK), where
it had a tendency toward outputting content in a not-very-pretty way. And as such, it
dovetails nicely with CCK, adding a "template" tab to CCK content-type editing pages
and pre-populating the templates with CCK's default layout. This makes it easy to
rearrange fields, output different fields for teaser and body, remove the field title headers,
output fields wrapped for use with tabs.module (part of JSTools), or anything you need.
But Content Template can actually be used on any node type and allows modification of
the teaser and body properties before they go out in an RSS feed or are handed off to the