drupal content management system mallikarjuna pinjala cis 764, nov. 2008 - 1-

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

Upload: frank-preston-cain

Post on 25-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

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

Installation

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

Complex DB mounted on Web

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?

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