What is Drupal? Open Source software written in php. A CMS or content-management system. A sophisticated web application building tool.
What can Drupal be? blog Forum Online newspaper, Portal / Directory Brocure site, portfolio, flickr like photo drop Social community site, job post board Video site like youtube Project management site CRM, ERP, SCM, Wiki Shopping cart system E-learning, training site Dating site Anything you can think of…
Why use a CMS? It helps manage complexity. It provides a user interface (UI) for adding, editing and publishing content. It provides a means for collaboration among many to perform the above tasks.
Why use Drupal over Wordpress? Wordpress was designed only to be a blog with some easy add-ons. Drupal was designed to be more of a generalist: it’s for making ‘anything’ and is far more robust. Wordpress could be the better choice for blogs since it is better at being a blog than Drupal. This is something of debate. Wordpress is still a sound choice of CMS for SEO and security; so if wordpress satisfies a simpler project’s requirements then by all means use it- it is easier and faster to set up than Drupal. Wordpress is not designed to be highly scalable to many simultaneous users, nor does it have flexible roles, permissions, extensible content types, nor does it have plentiful well-tested, quality add-ons. It has a few and a lot of really poor plugins. Caveat: Trying to force Wordpress to do something it cannot do easily with very popular plug-ins can be worse than suffering the learning curve of Drupal.
Open Source CMS Content Management Systems manage website (or intranet) content Open Source Content Management Systems have become one of the real open source success stories The three most popular open source CMS in the nonprofit sector are: Joomla Drupal Plone
Drupal Drupal is an open source CMS based on PHP and MySQL It can be installed and run on any server with Apache, MySQL and PHP (including Linux/UNIX, Windows and Macintosh) It also runs on PostgreSQL (another open source Database system) It has an extremely active developer community, with lots of resources available It has become arguably the most popular open source CMS for nonprofits
Drupal, cont. Drupal is more developer friendly than it is user friendly (for site building, primarily) This makes it extremely flexible and powerful It makes it possible for developers to create feature rich sites It makes it very difficult for nonprofits to build websites on Drupal on their own (unless they have staff who know it or can learn it.) However, organizations can maintain Drupal sites quite well once trained
Brief History of Drupal It was created originally as a bulletin board system, and open sourced in 2001 It has had broad adoption since version 4 It is now on version 6.6 (point upgrades happen every few months) Version 5.x is also maintained (now at 5.12) Many sites are still built with Drupal 5 because some modules haven't caught up.
Brief Interlude: Drupal vocabulary Node: a piece of content stored in the database. Basically a page Content Type: types of content by how they are displayed and organized Module: an add-on to provide new functionality Theme: a set of templates and stylesheets that determine the look and feel of the site Permissions: access to specific Drupal content and features Roles: sets of user permissions Taxonomy: the way Drupal categorizes content Views: ways to customize presentation of content.
Basic Drupal Features Drupal can be used for all sorts of sites Standard sites, members only sites, blogs, intranets Has a strength is in community sites – where people can log in and create content It has blogs and commenting built in Drupal has a granular permissions system It has a robust and flexible theming system Drupal is modular, and there are tons of modules available
Basics of Drupal Implementation Do it yourself? Get help? Once it is set up, administration of a Drupal site is a lot easier than it used to be But setting up a Drupal site requires expertise
Requirements for installation of Drupal It is a web application, so it requires a server running web server software (like apache). Also requires PHP and MySQL (or PostgreSQL) Can be installed on most standard web hosts. Some have “one click” install of Drupal
Installation of Drupal Download from Expand file to a directory in your webserver that is accessible Set up a new database Go through the installation procedure
Building and Customizing a Drupal Site Once installed, the Drupal site is very basic Additions to your Drupal site will be made using themes and modules
Blocks Blocks allow the placement of secondary content in various regions on the page Out-of-the-box Drupal allows 5 regions (left column, right column, header, footer and content) Modules can provide blocks with specific functionality Custom blocks can be created
Content Types ‘Node’ is the basis for all content types All ‘nodes’ contain title, body, create date, published, etc. CCK Module allows the addition of any kind of field (text, radio, select, checkbox, image, date, etc) New modules can be created for content types by using the Node API.
Themes Themes change the look and feel of your site If you have someone else do your site, they will likely design a custom theme for you Lots of themes are available at: ect/Themes
Modules Modules are extensions or add-ons to Drupal that add a specific feature or features Modules can easily integrate with Drupal core or other modules by using the Drupal API (
Drupal Modules to use There are some great modules included in the basic Drupal install that you should use (depending on site function) Blogging module Comment module Forum Taxonomies (categorizing content) Profile (user profiles)
Modules to add Drupal out of the box is very basic. You'll almost definitely want to add modules WYSIWYG editors Content Construction Kit (CCK) Allows you to add custom fields to a node in Drupal Views allows for customized view of content – like pages with particular kinds of categorized content organized in a particular way
Users, Roles, Permissions Drupal provides a very flexible authentication system (far above other CMS’s) Users can be created by an admin or can self- register Each user can be placed into 1 or more groups called a ‘Role’ Each role can define very specific permissions for users
Drupal Resources htttp://drupal.org - main Drupal website - forums podcast, instructional video, articles, etc. (geared towards developers)
Drupal Overview Sandipan Codez It solution