Drupal Content Management System Mallikarjuna Pinjala CIS 764

  • Slides: 27
Download presentation
Drupal Content Management System Mallikarjuna Pinjala CIS 764, Nov. 2008 - 1 -

Drupal Content Management System Mallikarjuna Pinjala CIS 764, Nov. 2008 - 1 -

CMS? • • • Application to manage public content. Identify users and roles. Manage

CMS? • • • Application to manage public content. Identify users and roles. Manage multiple versions of content Capture content Constituent Interaction

History • Creators: Dries Buytaert and Hans Snijder • Small news site, builtin web

History • Creators: Dries Buytaert and Hans Snijder • Small news site, builtin web board, drop. org. • In 2001, software behind drop. org released as “Drupal” (droo-puhl).

Features • • Open Source Friendly URLs Personalization Modules Search Solid CMF Database Independent

Features • • Open Source Friendly URLs Personalization Modules Search Solid CMF Database Independent

Setup Download Drupal Rename the /drupal/sites/default folder Edit htaccess file. Create Database My. SQL

Setup Download Drupal Rename the /drupal/sites/default folder Edit htaccess file. Create Database My. SQL mysqladmin -u username -p create databasename createuser --pwprompt --encrypted --no-adduser --nocreatedb username createdb --encoding=UNICODE --owner=username databasename Run automated Install Script

Installation

Installation

Setup Structure • • sites/default/settings. php sites/example. com. site 3/settings. php sites/sub. example. com.

Setup Structure • • sites/default/settings. php sites/example. com. site 3/settings. php sites/sub. example. com. site 3/settings. php sites/www. sub. example. com/settings. php • sites/sub. example. com/settings. php • sites/sub. example. com/themes/custom_theme • sites/sub. example. com/modules/custom_module

Basic CM • • • Page and Story Content Types Content Addition Edit/ Disable

Basic CM • • • Page and Story Content Types Content Addition Edit/ Disable primary links Menus Alias Set up category

Administration • Site Configuration (Dist authentication, Error reporting, Site Maintenance). • Site Building (Blocks,

Administration • Site Configuration (Dist authentication, Error reporting, Site Maintenance). • Site Building (Blocks, Menus, Modules etc) • User Management (roles, Access Rules. . ) • Content Management

Complex DB mounted on Web

Complex DB mounted on Web

Components of Drupal Module system Based on the concept of “Hooks” Foo_bar (), Foo

Components of Drupal Module system Based on the concept of “Hooks” Foo_bar (), Foo module name, bar hook name

Components (Contd. ) • Database Abstraction Layer • Inherits PHP’s PDO • Performs queries

Components (Contd. ) • Database Abstraction Layer • Inherits PHP’s PDO • Performs queries by db_query () or db_query_range ()

 • Menu System • Follows hierarchy defined by paths. • • Page request

• Menu System • Follows hierarchy defined by paths. • • Page request is registered as a menu item with a callback. Searches for the most complete match with a callback it can find

 • Form Generation • Processing and display of HTML forms • drupal_get_form ()

• Form Generation • Processing and display of HTML forms • drupal_get_form () • drupal_execute () to submit forms programmatically.

 • File System • File handling functions: file_create_url (), file_copy (), file_create_filename ()

• File System • File handling functions: file_create_url (), file_copy (), file_create_filename () etc. • Search Interface • hook_view (), hook_nodeapi () • hook_search (), create a search tab for module. • hook_update_index (), uses indexing scheme

 • Example Modules • Restrict Node Access • nd_access_ex_frm_alter (), nd_access_ex_nodeapi (), nd_access_ex_perm

• Example Modules • Restrict Node Access • nd_access_ex_frm_alter (), nd_access_ex_nodeapi (), nd_access_ex_perm (). . Implementation of hook_* ().

Takeaways • Open-Source Software – Buggy – Frequent updates – Support Community • Simplicity

Takeaways • Open-Source Software – Buggy – Frequent updates – Support Community • Simplicity – Minimize reliance on modules – Steer away from excessive and focus on the essential • Tracking System – Document versioning & modules (sources & versions) – Helps tie-in with overall web strate

References • Dries Buytaert, “Drupal” ( Open Source Content Management System), www. drupal. org,

References • Dries Buytaert, “Drupal” ( Open Source Content Management System), www. drupal. org, visited 11/04/2008 • “Drupal” ( Content Management System) , Wikipedia, 9 pp. , http: //en. wikipedia. org/wiki/Drupal, visited 11/04/2008

Questions?

Questions?

Questions? * What is the relation between Rails and Drupal (as relates to 764)?

Questions? * What is the relation between Rails and Drupal (as relates to 764)? What similarities? What differences? What is language of web components, of business logic? What ORM? What DB’s can be used?

Other CMS … many Jahia

Other CMS … many Jahia