drupal content management system mallikarjuna pinjala cis 764, nov. 2008 - 1-
TRANSCRIPT
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?