3. 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
4. Web services
Not simple HTML webpages
HyperTextMarkupLanguage is what renders
the webpages
They were used to be built from the scratch
5. 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>
6. 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>
7. Seems like a lot of work
Imagine you have a blog with 1000 pages.
The latter SCALES (capable of handling
enormous expansion) ...Â
8. 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.
9. 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;}
?>
10. 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
12. 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
13. 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
14. 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.
15. 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
16. 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)
17. Installing Drupal (30 mins)
Single Domain installation
Site configuration
Module Installation
Theme Installation
General Management