Presentation is loading. Please wait.

Presentation is loading. Please wait.

Drupal Create a website/web app quickly with this Content Management System Jiaying Xu Spring 2011 COMS E6125 Web-enHanced Information.

Similar presentations


Presentation on theme: "Drupal Create a website/web app quickly with this Content Management System Jiaying Xu Spring 2011 COMS E6125 Web-enHanced Information."— Presentation transcript:

1 Drupal Create a website/web app quickly with this Content Management System Jiaying Xu jx2129@columbia.edu Spring 2011 COMS E6125 Web-enHanced Information Management (WHIM)

2 Content Management Systems (CMS) What is a CMS? A CMS allows for the management of website content in a user friendly way Extension of web application framework that has additional functionality and is more user-friendly CMS benefits Clients can update content themselves Separation of content and presentation Easy to redesign website since content is stored in the database and inserted using page templates Develop websites/web applications quickly Utilize built in features such as user management and content management Popular CMSs Drupal, Joomla, Wordpress Content Management Systems Web Application Frameworks Programming Languages/Databases

3 Overview of Drupal Open source Maintained by many developers Community There are over 400,000 Drupal websites DrupalCon yearly conference Documentation Extensive documentation on drupal.org written by Drupal community Developer friendly Functionality can be easily extended Requirements PHP, MySQL, web server (Apache) Usage statistics of Drupal from drupal.org, which only shows sites with the Update Status module enabled [1] Map showing the local Drupal groups around the world from drupal.org [1]

4 Sites That Use Drupal Large variety of organization use Drupal Corporate, Education, Entertainment, Government, Newspaper, Non- profit, Sports

5 Features of Drupal Administrative interface Web interface that allows admins to manage content, users, etc Content Management Allow users to create, edit, manage content without detailed knowledge of HTML/CSS User Management Built in user authentication Management of adding, editing, deleting users Menus Easy to add pages to menus Easy to display menus on website Content management admin page WYSIWYG editor seen when editing pages

6 Features of Drupal Statistics Tracks website usage - referrers, page hits, visitors, etc Performance Tune website performance with page caching and bandwidth optimizations of CSS and JavaScript files File Uploads Allows users to easily upload files URL Aliases Allows admins to define custom URL aliases for pages Recent log entries page Performance page

7 Drupal is Extensible and Themable Modules Open source add-ons to Drupal that extends its functionality Over 7000 modules available and you can contribute your own module Example modules Pathauto: Generates automatic URL aliases for pages based on a pattern such as the page title Content Construction Kit (CCK) Views Themes Allows you to apply a design to your website Over 800 themes available and you can contribute your own theme Corolla theme [1]

8 Drupal Basics: Content Nodes All content are nodes Content types Page Story Add your own Examples: Alumni Profile, Event, Lecture Content Construction Kit (CCK) Module Allows you to add custom fields to content types Without using CCK, the only fields in a content type are the title and body Custom fields can have type: date, email, file, image, integer, link, text Custom Alumni Profile content type with custom fields defined using CCK Creating an Alumni Profile node

9 Drupal Basics: Views Views Module User interface that allows you to select and display one or more pieces of content in a single view Can create view from content nodes or users Builds SQL query to select the content on the back end Example view to display board members of an organization Page rendered from view

10 Building a Job Database Web App Functionality Allow any visitor to post jobs Jobs can be viewed and searched for Basic steps 1. Define a custom content type and CCK fields 2. Create some sample job nodes 3. Create a view 4. Modify permissions Result of creating job database app in Drupal

11 1. Define a Content Type and CCK Fields Define a content type called job Create custom fields for the job content type

12 2. Create Job Nodes Create some sample jobs for the job database Page generated as a result of submitting the “Create Job” form shown on the left

13 3. Create a View This generates the main job database page that lists all the jobs in a table and allows for user searches and filtering Fields (SQL select) Add all the job fields that will be shown in the display Filters (SQL where) By default, a view shows all nodes Specify that the node type is job Add exposed filters so users can filter and search Sort criteria (SQL order by) Sort all jobs in descending order according to when the job was submitted Style Display the results in a table format SELECT node.nid AS nid, node.created AS node_created, node.title AS node_title, node_data_field_job_employer_name.field_job_employer_name_value AS node_data_field_job_employer_name_field_job_employer_name_value, node.type AS node_type, node.vid AS node_vid, node_data_field_job_employer_name.field_job_position_type_value AS node_data_field_job_employer_name_field_job_position_type_value, node_data_field_job_employer_name.field_job_paid_value AS node_data_field_job_employer_name_field_job_paid_value, node_data_field_job_employer_name.field_job_category_value AS node_data_field_job_employer_name_field_job_category_value, node_data_field_job_employer_name.field_job_location_value AS node_data_field_job_employer_name_field_job_location_value FROM node node LEFT JOIN content_type_job node_data_field_job_employer_name ON node.vid = node_data_field_job_employer_name.vid WHERE node.type in ('job') ORDER BY node_created DESC Job database view Generated SQL query SQL Select Statement Review SELECT – which table columns to retrieve WHERE – what to filter the results by ORDER BY – sort results of query

14 4. Modify Permissions By default, anonymous users cannot create content Modify permissions to allow anonymous users to create job content Permissions page

15 Power of Drupal Drupal is not just a platform for creating web pages Allow developers to create both simple websites and powerful web applications Applications that Columbia created using Drupal Student Affairs - Student Groups Interactive DirectoryStudent Groups Interactive Directory Columbia College: Fellowship DatabaseFellowship Database Career Center: Internship Survey DatabaseInternship Survey Database Student Groups Directory – ACM page

16 Bibliography [1] “Drupal – Open Source CMS.” Drupal. http://drupal.org. [2] Harrison, Davd. “The advantages and disadvantages of Content Management Systems.” http://daveharrison.net/articles/the-advantages-and- disadvantages-of-content-management-systems.

17 THANK YOU


Download ppt "Drupal Create a website/web app quickly with this Content Management System Jiaying Xu Spring 2011 COMS E6125 Web-enHanced Information."

Similar presentations


Ads by Google