open source web development - drupal
Post on 02-Dec-2014
2.170 Views
Preview:
DESCRIPTION
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