SynapseIndia drupal presentation on drupal

29
Welcome to Drupal Crash course

Transcript of SynapseIndia drupal presentation on drupal

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 PLANIntroduction 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?