Drupal Overview
n/aBrief History & Future
- Started in 1999, Public as drop.org in 2000, 2001 January 15th 1.0 release
- Top tier CMS/Community system, secondary for pure "blog" or "forum" site, RAD framework
- No Roadmap: Mission, Values, Personal Battle Plans and Predictions
- 500+ developers involved in core, 800+ involved in contrib, GPLv2 only
- 600+ modules, 250+ themes in official repository
System Requirements
- 4.7, 5.x and Drupal6 (dev):
- PHP4.3+
- MySQL4.0
- PgSQL7.3+
- 7.0 (next year)
- PHP5.x+ only
- MySQL4.1+ (?)
- PgSQL7.3+ (?)
- Oracle? SQLServer?, DB2?, SQLite?
Demo
- Installation
- Demonstration of Front & Back End
- Feature overview
CMS Architecture - Pretty
n/aCMS Architecture
- Design paradigm - Extensible core
- Use cases- Multi User, interactive, RAD
- User model - Users, extensible roles/access
- Multilanguage - core of Drupal6 (review)
- Template - MVC, PHPTemplate, Smarty, Xtemplate, Zengine
CMS Architecture - Security
- DB Abstraction protects against SQL injection
- XSS protected against as part of translation and theme layer
- FormAPI - XSFR protected with with session+salt hash hidden form elements
- FormAPI - Prevent submission of non existent radio/select options
- Generally, "I love finding custom CMS because I know I can break into it. If I see Drupal and its up to date I just give up." - paraphrase of Rasmus Lerdorf
Extension Development
- Modules and Themes and Profiles and Translations (Oh my!)
- Hooks and Overrides
- User system, Access control system, Menu system, Taxonomy system, Content system, Form system, i18n and l10n system
- S5 Module
- Views module
Case Studies
- Simple/minimal implementation example(s)
Complex/extensive implementation samples
Conclusion
- Pros: yes
- Cons: slower than static html if you have few pages with unchanging content and massive traffic.