23
Open Source Web Development (Part 1) Ishaan Guliani [email protected] +91 22 6684 0000 6 th November 2009

Open Source Web Development - Drupal

Embed Size (px)

DESCRIPTION

Open Source Web Development using Drupal

Citation preview

Page 1: Open Source Web Development - Drupal

Open Source Web Development (Part 1)

Ishaan [email protected]

+91 22 6684 0000

6th November 2009

Page 2: Open Source Web Development - Drupal

Open Source

• Open source is a development methodology, which offers total accessibility to a product's source code

• Free v/s Open Source v/s Closed Source• Millions of Open Source Projects • Wide range of

platforms/solutions/components

Use

Study

Modify

Distribute

Page 3: Open Source Web Development - Drupal

Why use Open Source ?

“The Open Source model harnesses the power of distributed review and transparency to create high-quality, secure and easily integrated software at a fast pace and lower cost.”

Freedom of Choice Reliability

Security Fast Development

Cost

Page 4: Open Source Web Development - Drupal

Open Source

GiveTake

• Work on What you like, when you like• Development in the real world contribute to the community• Build a publicly verifiable resume• Companies will find you

Page 5: Open Source Web Development - Drupal

Content Management System“CMS is a collection of procedures used to manage work flow in

a collaborative environment.”

CMS Communication b/w users

Ease of Storage/Retrieval

Ease of Reporting

Reduce Duplication

Access Control/User

RoleContribute/

Share

Page 6: Open Source Web Development - Drupal

Content Management System

CMS

Enterprise

Web

Document

Mobile

Component

Media Content

Page 7: Open Source Web Development - Drupal

Drupal

Page 8: Open Source Web Development - Drupal

DrupalOpen Sourc

e

CMS

DRUPAL

Page 9: Open Source Web Development - Drupal

www.drupal.org

Page 10: Open Source Web Development - Drupal

Drupal – “I’m not alone”• phpBB• Plone• TikiWiki• Xoops• Mambo• PHP-Nuke• PostNuke• Typo3• Xaraya• Civicspace• Wordpress• Joomla

Drupal Wordpress

Joomla

Page 11: Open Source Web Development - Drupal

Comparison

Wordpress•End user friendly•Community less active in comparison•Very Web 2.0•Limited Scalability•MySQL•Decent Permission Settings•Complete Control over Categorization of Content using taxonomy•SEO – Fantastic – Title tags match your article title and cleanURL’s are easy to add

Joomla•More of Designer friendly•Active Community•Not Web 2.0•Decent Scalability•MySQL•Permissions – Lacking•Limited•Requires OpenSEF or SEO extensions

Drupal•Extremely developer friendly.•Strong Community•Pure Web 2.0•High Scalability•MySQL/PostgresSQL•Precise Granular Permissions•Good Categorization via categories and tags•Good SEO – all content has unique page with SEO friendly URL

Page 12: Open Source Web Development - Drupal

Drupal – “I’m everywhere”

Page 13: Open Source Web Development - Drupal

Drupal - Building Blocks

Modules Users

Content Themes

Page 14: Open Source Web Development - Drupal

Modules

Provides functionality to the web sites, from fundamental features such as ability to login or create content to dynamic photo galleries and complex voting systems

Code for Drupal is in PHP. A set of PHP files grouped in a folder to make a module.

Page 15: Open Source Web Development - Drupal

ModulesModules

Core Contributed Custom

• Core modules – node, blog, book, block, menu, poll ……. • Contributed modules - admin menu, fckeditor, views, panels, pathauto…..• Custom modules - create your own

Page 16: Open Source Web Development - Drupal

Modules – Plug In/Out

• Flexibility !• Ease of Adding a new functionality to

the site• Making the modules work out together

to give an even better solution • Modules extending other modules• Customizing the modules your own

way, digging in the code

Page 17: Open Source Web Development - Drupal

Users

• Roles – Assign, Add• Permissions - Assign• Administrator/Anonymous/

Authenticated Users• Decide on the need of users – depends

upon the nature of website

Page 18: Open Source Web Development - Drupal

Themes

Drupal Presentation Layer – Themes – offers flexibility

Drupal encourages the separation of content and the markup

It’s a collection of images, CSS and HTML/PHP files that change the look of the drupal output

Page 19: Open Source Web Development - Drupal

Themes

Hundreds of contributed themes available at the drupal community http://drupal.org/project/Themes

Create your own theme Build upon a particular themeContribute back to the community

Page 20: Open Source Web Development - Drupal

Content“A node is a single piece of content that is published on a Drupal

site”

Node

Story

PagesBlog ImagesVideo

…….

Your own content type

Page 21: Open Source Web Development - Drupal

Content(Nodes)

All nodes regardless of the type of content type they store, share a handful of basic propertiesAuthor, Creation Date, Title, Body Content

Add fields to the existing node or Create new Content type

Field level, node level permissions and Categorizing Content using taxonomy

Page 22: Open Source Web Development - Drupal

DRUPAL

CSS Javascript

HTML

PHP Database(MySQL,PostgreSQL)

Web Server(Apache, IIS)

Operating System(Linux, Windows, Mac)

Theme System

Add on Module (Contributed/Custom)

Core Modules

Core Subsystems

Page 23: Open Source Web Development - Drupal