Welcome to Drupal Crash course
Have you got any experience?
People used to build computers from the scratch One day someone thought why reinvent the wheel again and again - so there came prefabricated components. We no longer build computers, we just assemble them, and customize them
Web services
Not simple HTML webpages HyperTextMarkupLanguage is what renders the webpages They were used to be built from the scratch
They would have looked index.html <html> <head> <title ="Welcome">My homepage</title> </head> <body>Here goes content. <a href="contact.html">Contact me</a> </body> </html> contact.html <html> <head><title ="Contacts">My Contacts</title></head> <body>Garthee <br /> 32G - 915 <br /> Stata Center <br /> MIT</body> </html>
Do we have to code repeatedly  when we need more pages? Simple PHPHypertextPreprocessor script that could generate this index.php <html> <head> <title>
<?php if($_GET['q'] == 'contact') echo "Contact"; else echo "Welcome"; ?>
</title> </head> <body> ... </body> </html>
Seems like a lot of work
Imagine you have a blog with 1000 pages. The latter SCALES (capable of handling enormous expansion) ...Â
But how to keep record of content? Hard code? NOOO! We need database! Database (DB) is a container of data, often organized in tabular format, that is easily accessible, indexed, catalogued, etc. Management is easier than storing data in separate files.
How DB is going to help us? index.php <html> <head> <title><?php echo getTitle($_GET['q']); ?></title> </head> <body><?php echo getBody($_GET['q']); ?></body> </html>
<?php function getTitle($key) { query the database table for title using the key, return the value;} function getContent($key) { query the database table for content using the key, return the value;} ?>
Content Management SYstem (CMS)
A complete web based system that handles Content management User management File (attachment, media - images, audio, video) management and many more Is called CMS
Drupal
Drupal is a web-based content management system. Text and pointers to other kinds of content are stored in a database, dynamically retrieved and composed, and presented to a user in response to a request sent via a web-browser" - from drupal.org
It is more than a CMS now, powering up both high profile sites and highly loaded sites
CSAIL Whitehouse Check the link for a presentation on the list of high profile sites powered by Drupal
Why Drupal Modular and extensible : Drupal aims to provide a slim, powerful core that can be readily extended through custom modules. Quality coding : High quality, elegant, documented code is a priority over roughed-in functionality. Standards-based : Drupal supports established and emerging standards. Specific target standards include XHTML and CSS. Low resource demands : To ensure excellent performance, Drupal puts a premium on low-profile coding (for example, minimizing database queries). Open source : Licensed under the GPL. Specifically, Drupal is coded in the open source scripting language PHP and supports as primary data sources the open source database formats MySQL and Postgresql. Ease of use : Drupal aims for a high standard of usability for developers, administrators, and users. Collaboration : Drupal development supports open, collaborative information sharing systems and approaches.
SEcret Weapons of Drupal Secret Weapon No 1: Taxonomy Classification, tagging , categorization, faceted search, etc Secret Weapon No 2: Views Build a query, sort, filter and pass arguments to query through a UI Secret Weapon No 3: CCK Fields, Custom Content, RDF support, XMLRPC support, etc
Action PLAN Introduction to CMS (15 mins) : Websites in General | Frameworks in General | What is a CMS Introduction to Drupal (15 mins) : Drupal | Features | What can you do with Drupal Installing Drupal (30 mins) : Single Domain installation | Module Installation | Theme Installation | Site configuration | General Management Modules (45 mins) : Taxonomy | Views | Fields - CCK | Themes - Acquia Marina (15 mins) Hacking (20 mins) : Module Hacking | Theme Hacking | Never ever hack the core Module Development (20 mins) : Design | Architecture | Development | Coding style Multi-site Installation (if time permits) Troubleshooting (if time permits)
Installing Drupal (30 mins) Single Domain installation Site configuration Module Installation Theme Installation General Management
Installing Drupal (30 mins) Single Domain installation splash.theebgar.net
Installing Drupal (30 mins)
Site configuration
Installing Drupal (30 mins) Single Domain installation Site configuration Module Installation Theme Installation General Management
Installing Drupal (30 mins) Single Domain installation Site configuration Module Installation Theme Installation General Management
Modules (45 mins)
Taxonomy Views Fields - CCK
Themes (15 MINS) Acquia Marina Other themes Acquia Slate Pushbutton Garland
Hacking (20 mins)
Module Hacking Theme Hacking Never ever hack the core
Module Development (20 mins)
Design Architecture Development Coding style
...
Multi-site Installation Troubleshooting
Questions?