open source web development - drupal

Post on 02-Dec-2014

2.170 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Open Source Web Development using Drupal

TRANSCRIPT

Open Source Web Development (Part 1)

Ishaan Gulianiinfo@blisstering.com

+91 22 6684 0000

6th November 2009

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

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

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

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

Content Management System

CMS

Enterprise

Web

Document

Mobile

Component

Media Content

Drupal

DrupalOpen Sourc

e

CMS

DRUPAL

www.drupal.org

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

Drupal Wordpress

Joomla

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

Drupal – “I’m everywhere”

Drupal - Building Blocks

Modules Users

Content Themes

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.

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

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

Users

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

Authenticated Users• Decide on the need of users – depends

upon the nature of website

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

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

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

site”

Node

Story

PagesBlog ImagesVideo

…….

Your own content type

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

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

top related