Drupal in Libraries

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Drupal in Libraries - Presentation Transcript

    1. Drupal in Libraries Cary Gordon, MLIS The Cherry Hill Company http://chillco.com
    2. Agenda
      • A short chat about Drupal
      • Modules (4849 at last count)
      • A brief library tour
      • Drupal as application framework
      • Your reality check is in the mail
      • Reading the manuals
      • Making good decisions
    3. But First…
      • The Cherry Hill Company
        • Library focused development and system integration
        • Developed the California State Library website
        • Integrated and developed 24/7 Reference (now rolled into OCLC’s QuestionPoint)
        • Pre-Drupal, mostly ColdFusion and Java
        • We provide a full range of support and development services for Drupal in libraries.
      • Active in the local, US and World Drupal communities.
        • Board member of the Drupal Association
        • Events Manger for Drupal events worldwide
        • Drupal evangelist
        • Drank the KoolAid
    4. Drupal is different
      • Free and Open Source
      • Simple – based on the blogging idiom
      • Content Management Framework
        • Designed to be a development platform
      • The hook system
      • Drupal CVS contributions
    5. A Small Corner of the CMS Universe And about 1085 others (http://www.cmsmatrix.org/matrix)
    6. Drupal is designed by the community
      • About 800 contributors to core
      • 25 Maintainers
      • 2 Core committers
          • Angela Byron
          • Dries Buytaert
      • http://cvs.drupal.org/viewvc.py/drupal/drupal/MAINTAINERS.txt?view=co
    7. Drupal is built…
      • Standing on the shoulders of…
      • Each other
    8. Drupal Principles
      • Modular and extensible.   Drupal aims to provide a slim, powerful core that can be readily extended through custom modules .
      • Quality coding.  High quality, elegant, documented code is a priority over roughed-in functionality.
      • Standards-based.  Drupal supports established and emerging standards.  Specific target standards include XHTML and CSS.
      • Low resource demands.   To ensure excellent performance, Drupal puts a premium on low-profile coding (for example, minimizing database queries).  Drupal should also have minimal, widely-available server-side software requirements.  Specifically, Drupal should be fully operational on a platform with a web server, PHP, and either MySQL or Postgresql.
      • Open source.  Drupal is based on the open source philosophy of collaborative free software development and is licensed under the GPL.  Drupal is itself open source and builds on and supports other open source projects.  Specifically, Drupal is coded in the open source scripting language PHP and supports as primary data sources the open source database formats MySQL and Postgresql.
      • Ease of use.   Drupal aims for a high standard of usability for developers, administrators, and users.
      • Collaboration.   Drupal development supports open, collaborative information sharing systems and approaches.
      http://drupal.org/principles
    9. Drupal Lingo
      • Node
      • Comment
      • Block
      • Page
      • Path
      • Taxonomy
      • Modules
      • Themes
      • Core
      • Contrib
    10. Drupal Technology Stack Presentation Helpers Drupal LAMP/???P
    11. Best Practices
      • Plan your site.
      • Plan for the future.
      • Get involved in the community
      • Back up your site.
      • Test your PHP snippets.
      • Observe Drupal Programming Best Practices - http://drupal.org/node/287350
      • Use a version control system.
      • Keep your site up-to-date.
      http://drupal.org/best- practices (with a couple additions)
    12. You’ve been warned!
      • Don’t use a Windows server and IIS (unless you wear Kevlar socks)
      • Don't hack core
      Don't hack core!
    13. Contributed Modules
      • 4849 contrib modules in Drupal CVS
      • Little concrete information on what they do
      • Most start as solutions to specific problems
      • Also 570 contrib themes
    14. Cherry Hill module collection library for public library hosting (example)
      • acl customerror logintoboggan views_bulk_operations
      • admin_menu date nice_menus views_calc
      • advanced_help event nodeasblock views_groupby
      • backup_migrate extlink nodewords views_node_feed
      • better_formats faceted_search pathauto views_or
      • calendar fivestar securepages votingapi
      • captcha google_analytics service_links webform
      • cck image services workflow worldclock
      • cck_redirection imce taxonomy_access wysiwyg
      • checkbox_validate imce_wysiwyg token
      • computed_field legal views
      • content_access link views_bonus
    15. Cherry Hill Drupal root dir (example)
      • lrwxrwxrwx 1 www-user apache 19 Jul 6 16:29 cron.php -> ../drupal6/cron.php
      • -rw-r--r-- 1 www-user apache 3964 Mar 19 2009 .htaccess
      • lrwxrwxrwx 1 www-user apache 19 Jul 6 16:29 includes -> ../drupal6/includes
      • lrwxrwxrwx 1 www-user apache 20 Jul 6 16:29 index.php -> ../drupal6/index.php
      • lrwxrwxrwx 1 www-user apache 22 Jul 6 16:29 install.php -> ../drupal6/install.php
      • lrwxrwxrwx 1 www-user apache 15 Jul 6 16:29 misc -> ../drupal6/misc
      • lrwxrwxrwx 1 www-user apache 18 Jul 6 16:29 modules -> ../drupal6/modules
      • lrwxrwxrwx 1 www-user apache 19 Jul 6 16:29 profiles -> ../drupal6/profiles
      • lrwxrwxrwx 1 www-user apache 21 Jul 6 16:29 robots.txt -> ../drupal6/robots.txt
      • lrwxrwxrwx 1 www-user apache 18 Jul 6 16:29 scripts -> ../drupal6/scripts
      • drwxrwxr-x 13 www-user apache 4096 Aug 6 18:10 sites
      • lrwxrwxrwx 1 www-user apache 17 Jul 6 16:29 themes -> ../drupal6/themes
      • lrwxrwxrwx 1 www-user apache 21 Jul 6 16:29 update.php -> ../drupal6/update.php
      • lrwxrwxrwx 1 www-user apache 21 Jul 6 16:29 xmlrpc.php -> ../drupal6/xmlrpc.php
    16. Example sites
    17. Ann Arbor District Library
    18. Darien Library
    19. Darien Library
    20. Darien Library
      • SOPAC 2
      • http://www.thesocialopac.net/
      • Millennium integration (Locum)
      • Locum is an abstraction layer between the ILS and Drupal
    21. Genesee Valley BOCES
    22. Genesee Valley BOCES
    23. Genesee Valley BOCES
      • Catalog
      • Research tools
      • Student resources
      • Teacher resources
      • System contributed & school contributed
    24. Genesee Valley BOCES
      • Using Drupal as a framework
      • Took everything that they could from contrib
      • Wrote the rest
      sites/all/modules: contrib: calendar jquery_calendar spellchecker cck jstools tagadelic cck_redirection link taxonomy_super_select contemplate link_views_rss tinymce date nodequeue user_import devel panels views directory porterstemmer views_bonus faceted_search prepopulate views_podcast fivestar refine_by_taxo votingapi imagecache search_config workflow imagefield similarterms jcarousellite slidebox fish: bcckreview dedupe ez_amazon pathfinder custom details marc
    25. Idaho Commission for Libraries
    26. Troy Public Library <http://troylibrary.info>
    27. Benicia Public Library - LLWIP
    28. Camerena Memorial Library - LLWIP
    29. North State Cooperative Library System
    30. Example applications
    31. California State University San Marcos
    32. California State University San Marcos
      • Digital repository/archive
      • Intranet/Extranet
      • E-resource directory/manager
      Ian Chan <ichan@csusm.edu>
    33. California State University San Marcos
    34. SFU Library Thesis Assistant
    35. Simon Fraser University Library Thesis Submission/Management
      • Replaces legacy submission app based on single CGI script and Excel files
      • Allows students to submit their theses, inc. PDF and supplemental files
      • Allows Library Thesis Office staff to
        • Audit (i.e., approve) thesis
        • Manage basic information about correspondence with student
        • Manage “degree” records that contain details about departments, programs, etc.
      • Allows Grad Records staff to get lists of students
      • Going live mid October
      Mark Jordan <mjordan@sfu.ca>
    36. Albert R. Mann Library - Cornell
    37. Anchor Archive Zine Library http://www.robertsstreet.org/n/searchinfields Amanda Stevens <amandastevens@zenbe.com>
    38. Curation Tool William Hayes < [email_address] >
    39. Curation Tool
      • Node import
      • CCK
      • Exhibit (using Josh Huckabee's tutorial).
      • Allows us to import a spreadsheet of a lot of data and have very quick and powerful data filtering/visualization set up very quickly with the ability to curate the data at will which we did not have using Exhibit alone.  Of course, once it's set up, adding data manually is pretty easy and we also have the ability to programmatically add new data records.
      • William Hayes, PhD, Director of Decision Support, Biogen Idec <william.s.hayes@gmail.com>
    40. McMaster University Guides
    41. Simon Fraser University Library Thesis Submission/Management Application
      • Replaces legacy submission app based on single CGI script and Excel files
      • Allows students to submit their theses, inc. PDF and supplemental files
      • Allows Library Thesis Office staff to
        • Audit (i.e., approve) thesis
        • Manage basic information about correspondence with student
        • Manage “degree” records that contain details about departments, programs, etc.
      • Allows Grad Records staff to get lists of students
      • Going live mid October
    42.  
    43.  
    44. Islandora http://islandora.org/Module
    45. Drupal 7
      • Currently in code freeze:
      • Bug patches only
        • With a few exceptions
      • Release when it’s ready
      • Expanded automated test coverage should shorten cycle
      • #D7CX pledge http://bit.ly/121D6T - components ready on the day Drupal 7 is released
    46. Drupal 7 changes - General
      • Install consolidation
          • Fewer pages with more logical arrangement
      • Users can cancel accounts!
      • Improved translation interface
      • Improved and expanded help integration
      • Administration theme
      • More error reporting options
    47. Drupal 7 changes - Theming
      • Page template XHTML refactored
      • More semantic class and ID names
      • Friendlier to CSS only layout
          • CSS only means no template changes needed (i.e. no PHP)
      • Better JavaScript cross library integration
      • JQuery 3.x
      • Library calls are wrapped
      (function($) { $('a').fadeOut().fadeIn(); })(jQuery);
    48. Drupal 7 changes – automated testing
      • SimpleTest integration
      • http://testing.drupal.org
    49. Drupal 7 changes - DBTNG
      • Using PHP data objects (PDO)
      • Direct support of MySQL PostgreSQL & SQLite
      • Implied support for others
      • Transaction support
      • Replication support (master/slave)
          • Potential for update automation
      • Dynamic select queries
      • Geek alert:
          • Hook_query_alter replaces hook_db_rewrite_sql
    50. Drupal 7 changes - DBTNG
      • New static select query syntax
        • Drupal 6:
        • Drupal 7:
      $node = db_query('SELECT nid, title FROM {node} WHERE type = :type AND nid = :nid', array(':type' => $type, ':nid' => $nid))->fetchObject(); $result = db_query(&quot;SELECT nid, title FROM {node} WHERE type = '%s' AND nid = %d&quot;, array($type, $nid)); $node = db_fetch_object($result);
    51. Drupal 7 changes - DBTNG
      • New dynamic select query:
        • Drupal 6:
        • Drupal 7:
      • $select = db_select('node', 'n')
        • ->fields('n', array('nid'))
        • ->condition('promote', 1)
        • ->condition('status', 1)
        • ->orderBy('sticky', 'DESC')
        • ->orderBy('created', 'DESC')
        • ->extend('PagerDefault')
        • ->limit(variable_get('default_nodes_main', 10))
        • ->addTag('node_access');
      $result = pager_query(db_rewrite_sql('SELECT n.nid FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC'), variable_get('default_nodes_main', 10));
    52. Drupal 7 – Field API
      • CCK API -> core
      • CCK UI -> contrib
      • Not node specific
          • Use fields in users, etc.
      • Storage abstraction
          • Multiple databases (potential)
          • Amazon S3 (or …)
    53. Drupal 7 – and more…
      • File API
          • Files are now first class objects
              • hook_file_load(), _save(), _move()
      • Registry
          • Automatically caches functions, classes, interfaces
      • $page object
      • Image handling in core (maybe)
    54. Drupal is not Magic
      • It will not:
        • Design your site
        • Write your content
        • Keep it up to date
      • The real limitations are time and money
      • You must start with a clear idea of what you want to accomplish
      • Keep your initial install as simple as possible
      • The beauty of a content management system is that it allows you to keep your site fresh
      • The hell of a content management system is that, if your content is stale, you have nobody to blame
    55. Recommended Reading
      • Building powerful and robust websites with Drupal 6, David Mercer
      • Learning Drupal 6 Module Development, Matt Butcher
      • Pro Drupal Development, Second Edition, John K. VanDyk
      • Cracking Drupal, Greg Knaddison MUST READ!!!
    56. More Recommended Reading
      • Drupal handbooks - http://drupal.org/handbook
      • The code - http://cvs.drupal.org/viewvc.py/drupal
      • The APIs - http://api.drupal.org
      • Getting started - http://drupal.org/getting-started
    57. Recommended sites
      • Drupal Library Group - http://groups.drupal.org/libraries
      • DrupaLib - http://drupalib.interoperating.info/
      • Drupal4lib mailing list – http://listserv.uic.edu/archives/drupal4lib.html
    58. Can’t say it enough… Don't hack core!
    59. Cary Gordon, MLIS The Cherry Hill Company Los Angeles, California http://chillco.com [email_address] (310) 397-2999

    + Cary GordonCary Gordon, 1 month ago

    custom

    347 views, 0 favs, 0 embeds more stats

    Overview of Drupal for use in libraries

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 347
      • 347 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 8
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories