Introduction To Drupal


Published on

Published in: Technology, Spiritual
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction To Drupal

  1. 1. Drupal An Introduction
  2. 2. What Should I Know First? Before Installing: Be familiar with databases and PHPMyadmin, have a web server and a local database server After Installing: Server admin skills, a lot of curiosity, and some time to spend learning how modules work together and what’s available
  3. 3. Main Drupal Topics 1: Understanding Drupal Core 2: Installation 3: Configuring Core 4: Configuring Modules 5: Best Practices
  4. 4. 1: Understanding Drupal
  5. 5. What Is Drupal? Content Management System (CMS) Framework - Content Management Framework CMF Open Source - Under GPL General Public License Web Application Framework - Written in PHP A way for developers and non-developers alike to manage content. Uses control panels rather than straight code.
  6. 6. Created By Dries Buytaert Developer from Antwerp, Belgium Derived from “Druppel,” the Dutch word for “Drop” which also means village in Dutch.
  7. 7. Drupal Distinctions Best PHP Open Source CMS from Packt Publishing Best Overall 2008 Open Source CMS Award for Second Year in a Row It does everything Wordpress does, and a lot more Its code is cleaner and better supported than Joomla!’s Is one of hundreds of CMS, but is continually growing.
  8. 8. Drupal Community Now a large community of developers and designers all work on Drupal and talk to each other - #drupal, #drupal-support #drupaltheming Conferences - DrupalCon Unconferences - DrupalCamps Meetups, etc... I organize the Drupal Meetup Group here in Austin.
  9. 9. Drupal Planning Stages Prepare the concept of your website: What’s the main idea? Figure out what kind of content you want to serve. *CONTENT IS KING. Create a basic sitemap and features list. Go shopping for: Modules Themes
  10. 10. Drupal Is Platform Agnostic Allows for modularity and extensibility You can install: Apache/ IIS / Unix / Linux / BSD / Solaris / Windows / Mac OS X Database Independence: you can use both MySQL and PostgreSQL (ask me about even cooler stuff)
  11. 11. The Drupal “Stack” Apache (lighttpd, IIS) MySQL (PostgresSQL, SQL Server, Oracle) PHP PHPMyAdmin for adminisering your SQL Database Linux (BSD, Mac OS, Windows, Solaris)
  12. 12. Drupal Core
  13. 13. Drupal Is Modular
  14. 14. Drupal “Stack”
  15. 15. PHP: Generates Dynamic Content HTML <?PHP Page ?> Client <?PHP Web HTML Page PHPTemplate ?> Drupal Core Browser HTML <?PHP Page ?> Drupal MySQL Database (Views Is Basically a Query Builder)
  16. 16. Displaying Page To Browser 1. Browser retrieves dynamic information from the database. 2. Browser checks retrieved data against relevant output filters. 3. Server Inserts information into each core template. 4. Theme Engine Merges template files into template.php 5. Browser displays formatted page in the Web Browser.
  17. 17. Themes Multiple Template Engines Available, though the most common is PHPTemplate Total customization possible by using CSS Writing custom template files Overriding template.php functions Writing a subtheme
  18. 18. Drupal 6.x Separating Design & Logic • .info files define your theme • More templates = more control, better separation • Better phptemplate_variables() • Theme inheritance makes subtheming and overriding possible • Pure CSS themes are also possible
  19. 19. Drupal “Core” Allows You To: Customize the layout with regions and block and any number of pages. Personalize logos, settings, themes, add blocks and customize templates Use a multi-level menu system - primary, secondary, tertiary, whatever you like Allow multiple people to create and edit content Utilize “roles” and flexible account privileges Use a hierarchical taxonomy to categorize content, use tagging Access statistics/logging and use advanced search functions
  20. 20. PHPTemplate Engine Wrapper that interfaces Drupal Template Language • Understands HTML & PHP Statements for Dynamic Data • Comes installed, so you need not touch it. • File Extension - *.tpl.php • Handles - page.tpl.php, front-page.tpl.php, node.tpl.php, comment.tpl.php, forum.tpl.php
  21. 21. 3 Common block.tpl.php Template Files Navigation Blog Post 1 Who’s Online node.tpl.php Syndicate Blog Post 2 page.tpl.php
  22. 22. Each Template Handles A Region of Your Site • page.tpl.php - Entire Page • front-page.tpl.php - Just Front Page • block.tpl.php - Blocks • comment.tpl.php - Comments • forum.tpl.php - Forums
  23. 23. Template Hierarchy - Specific before General Home Page Nodes page-front.tpl.php node-type.tpl.php page.tpl.php node.tpl.php Comments Pages comment.tpl.php page-node-edit.tpl.php page-node-1.tpl.php page-node.tpl.php Blocks page.tpl.php block-module-delta.tpl.php block-module.tpl.php Boxes block-region.tpl.php block.tpl.php box.tpl.php
  24. 24. Theme vs. Sub-Theme
  25. 25. Modules
  26. 26. 2. Installation
  27. 27. Acquia Drupal Localhost Installation Download the Acqiua Drupal Stack Installer Unzip Run installation GUI Set up Database name and click through to see your new Drupal Site!
  28. 28. Installation Localhost: Acquia Drupal Stack Installer WampServer XAMPP MAMP 3rd Party Server: Make sure host supports Drupal stack, upload files and create database on server.
  29. 29. Other Installation Options XAMP - Windows, Does not work well with Mac. WAMP - Windows MAMP - I use this on Mac OS X WampServer - This is the one we will use if the Acquia Stack Installer does not work out.
  30. 30. Installing on 3rd Party FTP Shell/ SSH / Command Line wget tar -xvzf DATABASE Database name User name and password Host (localhost on your machine)
  31. 31. 3. Site Configuration
  32. 32. admin_menu Administration menu module provides a theme-independent administration interface (aka. "navigation", "back-end") for Drupal. It's a helper for novice Drupal users coming from other CMS, a real time-saver for Drupal site administrators, and definitely a must for Drupal developers and site builders (keyword: Devel integration). The module renders all administrative menu items below 'administer' in a clean, attractive and purely CSS-based menu at the top of your website. It contains not only regular menu items - local tasks are also included, giving you extremely fast access to any administrative resource and function your Drupal installation provides.
  33. 33. What You Can Do With Core Enable your blog Configure your site Write content Create roles Create blocks & move them around
  34. 34. Site Configuration Create the first user Go to admin page - handle errors Site configuration - file system Enable clean URLs Enable modules Creat roles and 2nd user
  35. 35. Add Content Blog Story Pages Enable Taxonomy to Create Content Categories Install admin_menu before doing anything else
  36. 36. Creating News (For example) 1. Create Vocabulary (administer>>categories>> add vocabulary tab called “News” with “story” checked under “Types:”, “Hierarchy:”, set to “Disabled”, uncheck “Multiple select” and check “Required” 2. Create terms (administer>>categories>>add terms) Under this “News” Vocabulary as follows: “News,” “Media Releases” and “Events”
  37. 37. 4. Installing More Modules
  38. 38. Where to Get More Modules How to figure out which modules are best Read “Using Drupal” from O’REILLY Go to
  39. 39. Essential Contrib. Modules admin_menu FCKeditor CCK IMCE Views Filefield Bueditor SEOchecklist
  40. 40. CCK Module Allows you to add custom fields to nodes using a web browser. Drupal comes with core content types like story and blog. For each content type, I can go to 'create content' and submit a new story, blog entry, etc. That's great if I can tailor my content needs to fit those models of pure chunks of text with or without attachments.
  41. 41. Views Module Provides a flexible method for Drupal site designers to control how lists and tables of content (nodes in Views 1, almost anything in Views 2) are presented. Traditionally, Drupal has hard-coded most of this, particularly in how taxonomy and tracker lists are formatted. This tool is essentially a smart query builder that, given enough information, can build the proper query, execute it, and display the results. It has four modes, plus a special mode, and provides an impressive amount of functionality from these modes.
  42. 42. Bueditor Module Editor interface and button functionality are completely customizable through administration pages. It supports role based editor interfaces. It's possible to create image or text buttons. Buttons can be customized to generate code snippets, html tags, bbcode tags etc.
  43. 43. IMCE Module Used as a file browser in many popular rich text editors such as FCKEditor, TinyMCE, WYMEditor, Whizzywig etc. It can been also used for inline image/file insertion into textareas. This is a built-in feature that can be used stand-alone or with a text editor such as BUEditor.
  44. 44. Filefield Module Configurable upload paths allow you to save files into per-field or per-user directories Per-field and per-node file size limits Extensive API for extending field widgets and managing files Full revision/translation file management Views support
  45. 45. SEO Checklist Provides a checklist of good Drupal SEO (Search Engine Optimization) best practices. Provides a checklist that helps you keep track of what needs to be done. Looks to see what modules you already have installed. Then, all you have to do is go down the list of unchecked items and do them. When all the items are checked, you're done!
  46. 46. More Modules Spam Control - Mollom Google Analytics - Pathauto - Token - Update module - etc...
  47. 47. Best Practices Don’t Hack Core! Account and Roles Plan for future upgrades Back up both the database and the files regularly Use sites/all/modules and sites/all/themes Avoid spaces in any directory name
  48. 48. Community Websites
  49. 49. Self-Taught Drupal Books: Pro Drupal Development, Using Drupal, Learning Module Development, Front-End Drupal, etc...
  50. 50. Multi-Language Support You can have a site in three languages, or more: English Hungarian Spanish System is independent of the language, the author defines it
  51. 51. IRC Is a Big Resource - Support exhange - Collaboration in ideas, code & events - Local user groups
  52. 52. Useful Links - Chatzilla Firefox plugin - Wikipedia IRC client comparison
  53. 53. Me: Lauren N. Roth 512.461.5313, Assisting at Installation Fest Wednesday July 15th at 7:15pm - Union Park downtown Speaking at Drupalcamp Dallas in early August Introducing Drupal at Austin Developers and Designers Meeting on August 11th