Notes on Drupal

I strongly recommend you read the Drupal handbooks this document is just my notes for the Drupal Sessions we gave at Al Sakia

Concepts

What is a CMS ?

highly philosophical question, no clear answer.

one must understand how the web is built out of HTML pages, CMS systems simplify the process of publishing and generating these HTML pages and make it possible to allow website visitors to contribute content (as in forums, comments, or even wikis).

Platforms

there are 4 major platforms for web applications including CMSs

  1. CGI
  2. Java
  3. LAMP
  4. .Net

LAMP is by far the cheapest, most popular and most widely supported, since LAMP is built on FOSS and is very easy and cheap to build for, deploy, run and maintain. there are thousands of FOSS projects that provide you with useful packaged webapplications that you can start using immediately.

this enables anyone to have a complex and rich website (or benefit from other webapplications), Drupal is one among a huge variety of FOSS, ready to run, easy to use CMS systems.

What should I expect from a CMS

Drupal offers

Steps involved in installing Drupal (or any webapp)

  1. get hosting space that supports PHP+Mysql or configure your own webserver
  2. Download package from http://drupal.org
  3. unpack package
  4. edit configuration file (only 2 things need to be set in drupal)
  5. upload files (typically using ftp)
  6. create and prepare database (typically using command line or phpMyAdmin)
  7. create admin account
  8. configure periodic actions (cronjob)

we do not cover installing drupal today, the details will differ according to your hosting service, and the platform you use at home.

check the drupal documentation and post any questions on the EGLUG forums, those who need help making a local installation on their GNU/Linux pcs can seek help on Saturday gatherings.

Steps involved in creating a website using drupal

  1. Configure Drupal
  2. Add extra modules (maybe develop your own)
  3. Configure Modules
  4. Choose Theme (or create new theme)
  5. design category taxonomy
  6. design site navigation and content layout
  7. Decide on User roles (author, editor, admin, etc.), brief members of different roles (workflow)
  8. create static content
  9. populate with dynamic content, maintain site (ongoing process)
  10. monitor reader activity, errors, complaints etc.
  11. keep track of new modules, updates, new versions
  12. measure performance and configure throttle accordingly
  13. contribute back to drupal community

Tour Through Drupal

we will assume a site with the typical roles Author, Editor, WebAdmin

Authors

Responsibilities

Practice

Editor

Responsibilities

Practice

WebAdmin

Responsibilities

Practice