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
1. Drupal:anoverviewMatt WeaverWeb LibrarianWestlake Porter Public Libraryfacebook.com/mattweaver@mattrweaver
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. 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. 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. 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. Themes• The layout of the site• CSS• Template files: php Custom templates for node types, front page, user login…• Core and contributed
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. 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. 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. 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. Obstacles• Getting more complex: ▫ Lines between data structures getting blurred/overridden/emended• Can be overkill for a small site ▫ Sometimes Wordpress is better
13. The DrupalDevelopmentstack:The further down yougo, the more damageerrors can do to yoursite.
14. Essential Modules• Content Construction Kit (CCK) ▫ Custom node type: eresource taxonomy Node Title Default node “body” Link fields Attached image/image field
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. Essential Modules:Panels • Panels: templates for pages/nodes • Override theme restrictions • Incorporate blocks, nodes, views • Can restrict access to specific panels
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. Drupal at WPPL Main site and three subsites
19. Drupal at WPPL
20. Drupal at WPPL
21. Drupal at WPPL
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. 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. 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. Other usesOpportunities to create cost savings by building functionality provided by vendors ▫ Room reservation ▫ Course reserves ▫ libguides
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. 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; ? 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. 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. Development guidelines This setup is better Test site Production server(crash test dummy) Staging Server: Stores backup of production site: Minor tweaks
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. To learn more
32. To learn moreALA Library Technology Report: Using Drupal Great book on theming Drupal in Libraries Excellent General Text for Webmasters