280 likes | 444 Views
Drupal. Content Management System Mallikarjuna Pinjala CIS 764, Nov. 2008 - 1-. 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
E N D
Drupal Content Management System Mallikarjuna Pinjala CIS 764, Nov. 2008 - 1-
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 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
Setup Download Drupal Rename the /drupal/sites/default folder Edit htaccess file. Create Database MySQL mysqladmin -u username -p create databasename createuser --pwprompt --encrypted --no-adduser --no-createdb username createdb --encoding=UNICODE --owner=username databasename Run automated Install Script
Setup Structure • sites/default/settings.php • sites/example.com/settings.php • sites/example.com.site3/settings.php • sites/sub.example.com/settings.php • sites/sub.example.com.site3/settings.php • sites/www.sub.example.com.site3/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 primary links • Menus • Alias • Set up category
Administration • Site Configuration (Dist authentication, Error reporting, Site Maintenance). • Site Building (Blocks, Menus, Modules etc) • User Management (roles, Access Rules..) • Content Management
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 by db_query () or db_query_range ()
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 () • drupal_execute () to submit forms programmatically.
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 ()..Implementation of hook_* ().
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, visited 11/04/2008 • “Drupal” ( Content Management System) , Wikipedia, 9 pp., http://en.wikipedia.org/wiki/Drupal, visited 11/04/2008
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?