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
- CGI
- Java
- LAMP
- .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
- Interface for creating, editing, moving, deleting, etc pages
- Navigation
- User Management, accounts, permissions, profiles etc
- RSS Syndication
- Themes
- Search
- standalone modules or applications (forums, calendars, wikis, surveys)
Drupal offers
- Great platform for community websites
- Special support for cheap hosting situations
- Vibrant community, fast development process
- many many useful modules
- translated to many languages (EGLUG and Arabeyes working on Arabic Translation)
- Easy to use (relative to its power and flexibility, there are easier systems)
- support for multiple user roles
- support for complex categorization of content
- different content types
- powerfull syndicated content aggregation
- multiple methods of data input
- multiple ways to make themes
- easy to build themes
- easy to develop new modules and extensions
Steps involved in installing Drupal (or any webapp)
- get hosting space that supports PHP+Mysql or configure your own webserver
- Download package from http://drupal.org
- unpack package
- edit configuration file (only 2 things need to be set in drupal)
- upload files (typically using ftp)
- create and prepare database (typically using command line or phpMyAdmin)
- create admin account
- 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
- Configure Drupal
- Add extra modules (maybe develop your own)
- Configure Modules
- Choose Theme (or create new theme)
- design category taxonomy
- design site navigation and content layout
- Decide on User roles (author, editor, admin, etc.), brief members of different roles (workflow)
- create static content
- populate with dynamic content, maintain site (ongoing process)
- monitor reader activity, errors, complaints etc.
- keep track of new modules, updates, new versions
- measure performance and configure throttle accordingly
- contribute back to drupal community
Tour Through Drupal
we will assume a site with the typical roles Author, Editor, WebAdmin
Authors
Responsibilities
- create content
- edit own content
- submit content for publishing or publish directly (depending on workflow)
- categorize content according to existing categories
Practice
- look at create content page
- look at content creating/edit form
- quick look at built in content types
- quick look at important extra content types
Editor
Responsibilities
- everything author does
- edit anyone's content
- mass administer content
- administer comments
- create and maintain categorization system
- review content categorization
Practice
- administer content
- administer comments
- taxonomy creation, editing etc
- quick look at modules that build on top of taxonomy
WebAdmin
Responsibilities
- everything editor can do
- configure theme
- configure website
- enable/disable modules
- configure modules
- manage user accounts, permissions, roles etc
- track user activities and system logs
- configure input formats
- configure content types
- configure workflow (limited)
Practice
- admin menu
- admin->themes
- admin->modules
- admin->settings menu
- admin->users
- watchdog, system logs
- admin->input formats
- admin->content types

Get GNU / Linux
News Feed
Blogs
Event Photos
Screen Shots
Polls
Popular Content
Members
Search
Wall Papers