Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories Disclaimer and Copyright This presentation was created by Jennifer Hodgdon of Poplar ProductivityWare LLC. This presentation is placed in the public domain. You are therefore granted permission to use and modify this presentation as you wish. However, an attribution to the source is always appreciated. Information contained here is believed to be accurate, but is presented with no warranty as to its accuracy. Use at your own risk. What does using a Content Management System (CMS) buy you? Content and settings stored in a database: edit content, menus, navigation, etc. on the web Web pages are generated by scripts from information in the database, not stored as individual files Enter information once, display in different ways on different pages (lists, grids, calendars, …) Content is separate from style/presentation, so style is consistent across site Permissions system: different users have permission to do different actions on the site What are your options? Many Content Management Systems (CMS) are available: Drupal Joomla WordPress Expression Engine WebGUI Plone … Advantages of Drupal Free and Open Source software Large and vibrant community of users and developers Many people testing it, finding security issues, etc. Many modules freely available from developers Many people donating their time to writing documentation, helping new users, etc. Flexible architecture You don’t have to pay for a software license You can modify the software You can create your own modules for custom features You can create your own themes for custom design Based on standards: Core software is PHP/MySQL, giving many hosting options Output uses XHTML, CSS, JavaScript, so compatible with most browsers Disadvantages of Drupal Flexibility = Complexity May not be the best alternative for simple or singlefunctionality sites Takes some time to learn Takes some time to set up Free and Open Source = No guarantees Free support options may or may not be responsive (but you can pay for support) Features you need may or may not be available Your feature requests and bug reports may or may not be acted upon What types of sites is Drupal good for? Examples: http://www.pdx.edu/ – Showcase: University web site. http://www.symantec.com/connect/ – Interaction and Community: Visitors can submit and answer questions See http://drupal.org/cases for more Technology of Drupal Drupal runs on a “LAMP” platform: – – – – L = Linux operating system(but it can also run on Windows, Mac) A = Apache web server (but it can also run on other web servers; not so well on Microsoft IIS as on Apache) M = MySQL database (but it can also run on PostgreSQL, SQLite, and others) P = PHP scripting language (no choices there!) Drupal Terminology Module Def: Add-on code that adds functionality to Drupal Can be core (comes with Drupal), contributed (download and install separately), or custom (written specifically for your site) Examples: Forum, Blog, Web Form Theme Def: Set of PHP files, CSS files, and images that defines the layout and styles for your site Can be core, contributed, or custom Path Def: Part of the URL of your site that follows the base URL for your site. For example, in http://example.com/node/add, the path is “node/add” Drupal Terminology p. 2 User Def: Anyone who visits your site Non-logged-in visitors are known as anonymous Users with accounts are assigned to roles that you can define, such as Master Admin, Content Editor, Member Permissions are generally assigned by role Content Item (called “Node” prior to Drupal 7) Def: A piece of content on your site, which could be displayed on its own page or as part of another page (or both) Basic content items have a Title, Body, a unique ID number, and some meta-data (creation time, last updated, author, etc.) Each item also has a content type, such as “Page”, “Article”, “Press release”, “Event”, or “Member profile”. Content types can have additional custom fields besides Title and Body, such as location, event date, banner image, etc. Drupal Terminology p. 3 Taxonomy Menu Def: List of links to pages on your site, generally used for navigation in headers, sidebars, footers Weight Def: Categories, tags, or other classifications that can be applied to content on your site Def: Number that defines the order of a list, such as of menu items. Larger numbers “sink” to the bottom of the list. Block Def: Text, links, images, etc. that can be placed in a region of your site’s theme (header, sidebar, footer, etc.), and configured to display on one or more pages Drupal’s Directory Structure Drupal’s core areas (DO NOT MODIFY!): (files such as index.php, .htaccess, install.php, update.php) (you might need to modify .htaccess only) includes misc modules profiles scripts themes Contributed and custom modules, themes, and libraries to be shared by all sites hosted here: sites/all modules themes libraries Subdirectories defining the individual web sites hosted here: sites/(other subdirectories) settings.php (file) modules (directory) themes (directory)