Drupal: an Overview


Published on

I provided an overview of Drupal for a U of Illinois lib school web design class last summer. Nothing flashy.

  • Be the first to comment

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

No notes for slide
  • A CMS provides webmasters with tools for building sites. A CMF provides an advanced programming interface so developers can configure and customize their own tools
  • Drupal: an Overview

    1. 1. Drupal:anoverviewMatt WeaverWeb LibrarianWestlake Porter Public Libraryfacebook.com/mattweaver@mattrweaver
    2. 2. What is Drupal?• Content management system(CMS) / content management framework (CMF)• Open source• File structure written in PHP• Supports several databases:  MySQL, postgresql the most common• Prefers Apache (over Microsoft IIS)• Prefers Linux
    3. 3. What is Drupal? • “Drupal is like a Lego kit. Skilled developers have already made the building blocks - in the form of contributed modules - that you need to create a site that suits your needs…”-- http://drupal.org/getting -started/before/overview
    4. 4. Some Drupal terms• Nodes = “content types”  stories, pages, blog entries, custom• Comments – attached to nodes• Blogs – every user gets one• Blocks – containers for content• Users  Roles• Modules• Themes• Taxonomy
    5. 5. Modules• PHP-written functions that are executed to do something:  Create a node  Display an image  Organize taxonomy terms  Set access restrictions  et cetera• Core and contributed
    6. 6. Themes• The layout of the site• CSS• Template files: php  Custom templates for node types, front page, user login…• Core and contributed
    7. 7. Nodes = content types• Default types:  Page – “policies”  Story – announcements• Custom:  Content Construction Kit (CCK)• Import modules• node_save method
    8. 8. Drupal: the deets• Nearly 11,000 modules• Nearly 1,200 themes• Current supported versions are 6 & 7  Which should you choose?  Depends on our site’s needs: ▫ D7 is slick, but lots of modules haven’t been written for it yet.
    9. 9. The Case for Drupal• Versatile: allows for customization• Extensible: “there’s a module for that”• Sometimes Wordpress is not enough• One Web Librarian can build a lot of functionality with those Lego blocks
    10. 10. The Case for Drupal• For Libraries: Strong library community incl. library-related modules ▫ XC (extensible catalog) ▫ Sopac (integrates catalog to drupal website) ▫ Biblio (manage and display lists of scholarly publications ) ▫ MARC (imports MARC records to nodes) ▫ and others
    11. 11. Obstacles• Learning curve can be steep, which can increase development time/costs• Nearly 11,000 modules and 1,200 themes ▫ Sometimes poorly maintained/abandoned ▫ Only as good as the developer who wrote them• Quality of support
    12. 12. Obstacles• Getting more complex: ▫ Lines between data structures getting blurred/overridden/emended• Can be overkill for a small site ▫ Sometimes Wordpress is better
    13. 13. The DrupalDevelopmentstack:The further down yougo, the more damageerrors can do to yoursite.
    14. 14. Essential Modules• Content Construction Kit (CCK) ▫ Custom node type: eresource taxonomy Node Title Default node “body” Link fields Attached image/image field
    15. 15. Essential Modules• Views module: framework for displaying database data from queries• User interface, not SQL commands• Simple to complex A table view of a custom content type
    16. 16. Essential Modules:Panels • Panels: templates for pages/nodes • Override theme restrictions • Incorporate blocks, nodes, views • Can restrict access to specific panels
    17. 17. A Panel DissectedCustom Rotatingcontent imagejust in this Slideshow(panel. Views)Tabbed Block: usedblock on other(quicktabs pagesmodule)thatdisplays Block ofviews Feed data (aggregatorAnother Module)QuicktabsblockNode content(page)
    18. 18. Drupal at WPPL Main site and three subsites
    19. 19. Drupal at WPPL
    20. 20. Drupal at WPPL
    21. 21. Drupal at WPPL
    22. 22. Drupal at WPPLIntranetOnline forms w/ email notification: Online Incident Report Form (CCK): automatically emails form to director/assistant directors Online meeting signup Maintenance Request formSubsite for tech support staff: knowledge management system/repository
    23. 23. Multisite• One instance of Drupal core• If one module is used in all sites (CCK, Views, Panels) install it once• Install distinct modules for subsite in that site directory only• Easier to maintain, lightweight• Lots of ways to do multisite• Some reconfiguring of Apache, other subsystems.
    24. 24. XHTML & CSS• Themes ▫ Choosing/buying ▫ Rolling your own ▫ Theming hacks (views, node templates)• Node content ▫ Text editors offer some control, depending on the user.
    25. 25. Other usesOpportunities to create cost savings by building functionality provided by vendors ▫ Room reservation ▫ Course reserves ▫ libguides
    26. 26. Drupal Skills• Get your hands dirty• Foundation of XHTML & CSS will serve you very well• Database stuff ▫ Basic SQL commands ▫ Understanding the Drupal database ▫ Maintenance: module updates/upgrades ▫ Errors: Can destroy your site
    27. 27. Drupal Skills <?php• PHP $path_pieces = explode(/, ▫ At least a little drupal_get_path_alias($_GET ▫ Use/hack existing [q]));?><p style="text-align: center;"><a scripts/snippets href="/movielists/? ▫ Develop your own q=taxonomy/term/<?php print $path_pieces[2]; ? theme >/moviecatexport" ▫ Theming Views onMouseOver="ImageOnly1.s ▫ Errors: Can break rc=/sites/www.westlakelibrary .org.movielists/modules/movie your site. cat/images/new_download_h over.png"… A real drupal snippet, trapped in the wild.
    28. 28. Development guidelines • Never do development on a production server This setup is good Test site: Production server:(all development work from experimental to production quality)
    29. 29. Development guidelines This setup is better Test site Production server(crash test dummy) Staging Server: Stores backup of production site: Minor tweaks
    30. 30. How to play with Drupal• Xampp: preconfigured web server environment (free)  Apache  Mysql  PHP  Phpmyadmin (GUI for database)  For Mac, Linux and Windows• Plenty of tutorials for installing xampp• Drupal.org• A good tutorial on installing Drupal 6 on xampp: ▫ http://bit.ly/ds3Wp
    31. 31. To learn more
    32. 32. To learn moreALA Library Technology Report: Using Drupal Great book on theming Drupal in Libraries Excellent General Text for Webmasters
    33. 33. Get Help• Drupal4Lib – Listserv : essential  Friendly, knowledgeable, helpful participants  Responsive• Drupalove.com• Lullabot.com – incl. podcast• Gotdrupal.com• Yadadrop.com/drupal-video
    34. 34. Get Help• Drupal.com/community ▫ Module/theme issues ▫ Forums• Groups.drupal.org – can be local, regional; or can be topic-specific