0
University Libraries




    dmBridge: A public access
    framework and alternative
 templating system for CONTENTdm

Ale...
University Libraries



                     Topics covered
•   Introduction
•   Feature-by-feature walkthrough
•   Templa...
INTODUCTION
University Libraries



              What is dmBridge?
• An alternative templating system for
  CONTENTdm with additional...
University Libraries



            What is dmBridge not?
•   A content management system
•   A general web application fr...
University Libraries



         Who can use dmBridge?
• CONTENTdm users with web design experience
• Web designers with z...
University Libraries



         Why develop dmBridge?
• The default templates were no longer acceptable
  to us
  1. Anti...
University Libraries


 Our dmBridge-enhanced collections
• “Welcome Home, Howard!”
  – dmBridge pilot project, launched N...
FEATURE TOUR
University Libraries



Some features unique to dmBridge
• Scheduled “object of the        • Search suggestions based on
 ...
University Libraries



                The Control Panel
• Graphical interface for configuration
  and maintenance tasks
...
University Libraries



             Object commenting
• Optional comment moderation
• Optional e-mail notification of new...
University Libraries



                 Object feedback
• Like a comment, but gets sent as an email
  instead of being po...
University Libraries



                    Object ratings


• View highest-rated objects in the Control
  Panel
• Can app...
University Libraries



  The highlighted & random object
• Set up in the Control Panel
• Highlighted object can be return...
University Libraries



                             Tag clouds
• Based on collection DC
  metadata fields
• Can define ta...
University Libraries



                     Search views
• Advanced search
  – You choose which search forms to include:
...
University Libraries



                    Search queries
• Simple
  – http://myserver/mytemplates/dm.php/?q=cheese
• Adv...
University Libraries



              Search suggestions
• Use indexed field terms from CONTENTdm
• Can be hooked up to te...
University Libraries



RSS, Atom, & other output formats
Example: http://digital.library.unlv.edu/hughes/dm.php/?format=x...
University Libraries



                   The data store
• Used to store dmBridge-specific data
• Modular and abstracted
...
University Libraries



                            Extensions
• “Extensions” let you:
  – Override any of the “Draw” (hel...
University Libraries



         Image viewer challenges
• “As long as we’re rewriting the entire
  templating system…”
• ...
University Libraries



                     Image viewer
• Written by Brian in JavaScript/jQuery
• Separate from dmBridge...
University Libraries



             Other media viewers
• CONTENTdm supports any file type; dmBridge
  can as well*
   • ...
University Libraries



       What is dmBridge missing?
• dmBridge offers most the
  functionality of the                ...
THE PAGE TEMPLATES
University Libraries



     Working with the templates
• The template creation process is simpler, but
  different
• dmBr...
University Libraries


 Working with the templates (cont’d)
• In dmBridge, you have six different views
  • Single object,...
University Libraries



          Template-view correlation
                                      Multiple
   No target in...
University Libraries


          Using the helper methods
This code in the object view         Becomes…
template…
<div id=...
University Libraries

       A small sample of dmBridge API
             “helper” methods
• Any view                    • ...
PLANNING & DEPLOYMENT
University Libraries



    How can dmBridge be used?
1. As a standalone                         Templates

   templating ...
University Libraries



 How else can dmBridge be used?
2. As a more useful &                       Any script in
   intui...
University Libraries



           Migrating to dmBridge
• dmBridge templates can coexist with the
  default templates
• T...
University Libraries


Is dmBridge a long-term commitment?
• It’s already working and proven at UNLV, and
  is a core part...
University Libraries



        How hard is it to install?
1. Copy the dmBridge core folder into your web
   server’s docu...
University Libraries



           What about upgrades?
• Components () can be
  swapped out more-or-less       dmBridge
...
University Libraries



                    Requirements
• Personnel:
  – HTML/CSS aptitude
  – Sense of adventure!
• Soft...
University Libraries



                        Availability
• We’re still exploring our options
University Libraries



                          Thank you!
•   Thanks UNR!                   Casinos
                   ...
Upcoming SlideShare
Loading in...5
×

dmBridge & dmMonocle

1,689

Published on

dmBridge and dmMonocle are two technologies developed by Alex Dolski and Brian Egan, respectively, which significantly enhance the default CONTENTdm web templates and image viewer. This is the presentation was given at the OCLC Western CONTENTdm Users Group meeting.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,689
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "dmBridge & dmMonocle"

  1. 1. University Libraries dmBridge: A public access framework and alternative templating system for CONTENTdm Alex.Dolski@unlv.edu Web & Digitization Application Developer Brian.Egan@unlv.edu Web/Multimedia Designer University of Nevada, Las Vegas Libraries
  2. 2. University Libraries Topics covered • Introduction • Feature-by-feature walkthrough • Template crash course • Planning & deployment logistics
  3. 3. INTODUCTION
  4. 4. University Libraries What is dmBridge? • An alternative templating system for CONTENTdm with additional features • Enables enhancement and modernization of public digital collection web interfaces • Provides a lot of extra features without any custom programming
  5. 5. University Libraries What is dmBridge not? • A content management system • A general web application framework • A CONTENTdm replacement • A CONTENTdm customization • A set of drop-in replacement templates – You have to write your own HTML/CSS; dmBridge only streamlines the process
  6. 6. University Libraries Who can use dmBridge? • CONTENTdm users with web design experience • Web designers with zero programming experience • Programmers from novice to expert • Both of the above, collaboratively! • Beginners can get started faster and more easily • Advanced users can accomplish more in less time • At UNLV, we have been using it since last fall – All of our work with the default templates has been suspended
  7. 7. University Libraries Why develop dmBridge? • The default templates were no longer acceptable to us 1. Anti-modular; not conducive to customizations 2. Code base beyond repair 3. Force the programmer to work within an ad hoc “code soup” paradigm 4. Heavily dependent on unnecessary JavaScript and invalid, non-semantic HTML 5. Ignores recent trends and best practices in web application architecture • Bottom line: pervasive systemic defects
  8. 8. University Libraries Our dmBridge-enhanced collections • “Welcome Home, Howard!” – dmBridge pilot project, launched November 2008 – http://digital.library.unlv.edu/hughes/ • Southern Nevada: The Boomtown Years – Launched May 2009 – http://digital.library.unlv.edu/boomtown/ • More to come…
  9. 9. FEATURE TOUR
  10. 10. University Libraries Some features unique to dmBridge • Scheduled “object of the • Search suggestions based on day/week/month” CONTENTdm field indices • “Random object” from one or • Server-side page caching all collections • Object ratings • Output format independence • Metadata output in multiple (HTML, XML/XSLT, JSON…) formats • RSS/Atom search subscriptions • Integrated object email • Commenting with moderation feedback and notification • Configurable tag clouds based • Extensions support on DC metadata • Relatively pretty URLs • Easy web-based control panel • Object-oriented PHP API for configuring most of this • XML/JSON REST API stuff • More to come…
  11. 11. University Libraries The Control Panel • Graphical interface for configuration and maintenance tasks • Uses the same authentication system as the CONTENTdm Administration Module • Functionality is mutually exclusive with the admin module (no overlapping features)
  12. 12. University Libraries Object commenting • Optional comment moderation • Optional e-mail notification of new comments • For compound object pages, comments are associated with the parent object and appear on every page • Can be enabled or disabled independently on a per-template-set basis
  13. 13. University Libraries Object feedback • Like a comment, but gets sent as an email instead of being posted to the page • Email contains a reference to the object • Cleaner & more professional than a mailto: link • Can be enabled on a per-template-set basis
  14. 14. University Libraries Object ratings • View highest-rated objects in the Control Panel • Can appear on any scale • Can be enabled on a per-template-set basis
  15. 15. University Libraries The highlighted & random object • Set up in the Control Panel • Highlighted object can be returned as an XML feed: http://digital.library.unlv.edu/hughes/dm.php/object/highlighted • Both can be returned in code: $obj = dmObject::getHighlighted(); $obj = dmObject::getRandom();
  16. 16. University Libraries Tag clouds • Based on collection DC metadata fields • Can define tag cutoff, randomization, and tag CSS classes based on term frequency • Code to draw this cloud: $c = new dmCollection(‘/snv’); echo Draw::tagCloud( $c, array(‘subjec’) );
  17. 17. University Libraries Search views • Advanced search – You choose which search forms to include: • Field, date, and/or proximity search – Collection checkboxes are generated dynamically based on template & CONTENTdm access privileges • Compound object search – Shows the full text of all pages for which there are matches, with matching terms highlighted
  18. 18. University Libraries Search queries • Simple – http://myserver/mytemplates/dm.php/?q=cheese • Advanced – Supports the full capabilities of the CONTENTdm search engine – /?modes[]=all&fields[]=title&strings[]=cheese&aliases[]=/uw
  19. 19. University Libraries Search suggestions • Use indexed field terms from CONTENTdm • Can be hooked up to text inputs via JavaScript/AJAX • See our dmBridge collections for examples
  20. 20. University Libraries RSS, Atom, & other output formats Example: http://digital.library.unlv.edu/hughes/dm.php/?format=xml Object Results Obj.-Results Favorites Search View View View View View HTML ✓ ✓ ✓ ✓ ✓ Atom RSS RDF/XML ✓ JSON ✓ ✓ ✓ XML ✓ ✓ ✓ XML + XSLT ✓ ✓ ✓ ✓ ✓
  21. 21. University Libraries The data store • Used to store dmBridge-specific data • Modular and abstracted • Currently, modules exist for: – On-disk XML files – PDO (MySQL, PostgreSQL, etc.) • All CONTENTdm data continues to live in CONTENTdm, of course
  22. 22. University Libraries Extensions • “Extensions” let you: – Override any of the “Draw” (helper) methods – Write new custom methods that do whatever • Extensions: – Isolate & modularize custom code – Should be easy for any programmer to grasp – Can be shared with other dmBridge users – Can be made available on a global or per- template-set basis
  23. 23. University Libraries Image viewer challenges • “As long as we’re rewriting the entire templating system…” • All alternative viewers have at least one of the following problems: – Require manual pyramidal tile pregeneration – Google logo in the corner – Spotty support for JPEG2000 – Server requirements (e.g. Djatoka)
  24. 24. University Libraries Image viewer • Written by Brian in JavaScript/jQuery • Separate from dmBridge; works with or without it • Image tiles generated on the fly by getimage.exe – No pregeneration or extra software needed – Supports JPEG2000 • Easy dragging and zooming • Customizable control appearance • Demo: – http://digital.library.unlv.edu/hughes/dm.php/hughes/9
  25. 25. University Libraries Other media viewers • CONTENTdm supports any file type; dmBridge can as well* • (*showfile.exe sends everything as application/octet- stream; nothing we can do about that) • Viewers are modular; can plug in your own • Custom viewers (like all other extensions) are not clobbered by dmBridge upgrades • Assign any viewer for a particular file type to any collection
  26. 26. University Libraries What is dmBridge missing? • dmBridge offers most the functionality of the dmBridge default templates • Notable absences: – Comparative object viewer CONTENTdm – Faceted browsing default templating – Slideshow viewer system – Some other minor stuff – These are possible; we just haven’t got around to Feature set overlap them yet
  27. 27. THE PAGE TEMPLATES
  28. 28. University Libraries Working with the templates • The template creation process is simpler, but different • dmBridge leaves most aspects of template design up to you • You decide what elements to include on the page and how to style them • Fully-functional sample templates are provided
  29. 29. University Libraries Working with the templates (cont’d) • In dmBridge, you have six different views • Single object, compound object, results, object- results, favorites, search (see next slide) • Mark up and style each one using standard HTML/CSS • Call up dynamic functionality with one-line calls to dmBridge helper (“Draw”) methods • No knowledge of dmBridge inner workings is necessary
  30. 30. University Libraries Template-view correlation Multiple No target in Uncertain Concrete concrete particular target(s) target targets Browse Search search/index.html.php object/index.html.php Result Set No Results (redirects to search) object/single.html.php Object Favorites favorite/index.html.php & compound.html.php
  31. 31. University Libraries Using the helper methods This code in the object view Becomes… template… <div id=“metadata”> <div id=“metadata”> <?= ObjectDraw::metadata() ?> <dl> </div> <dt>Title</dt> <dd>Some great object</dd> <dt>Description</dt> <dd>A great object from one of our ObjectDraw::metadata() is great collections.</dd> just one of over 50 built-in helpers available for doing all <!– etc. --> kinds of stuff </dl> </div>
  32. 32. University Libraries A small sample of dmBridge API “helper” methods • Any view • Object view – downloadImageLink() – addFavoriteButton() – loginLink() – childLinksAsList() – tagCloud() – commentsSection() • Results view – feedbackSection() – pageLinks() – highlightedFullText() – results() – metadata() – searchTerms() – previousNextLinks() – thumbsToggleLink() – ratingsSection() – viewLinks() – viewer()
  33. 33. PLANNING & DEPLOYMENT
  34. 34. University Libraries How can dmBridge be used? 1. As a standalone Templates templating system Collection Collection Collection – One or more template sets connected to a Templates Templates single instance of the dmBridge core Collection Collection Collection – Each set can have its own “look,” collection Templates Templates Templates access privileges, etc. Collection Collection Collection
  35. 35. University Libraries How else can dmBridge be used? 2. As a more useful & Any script in intuitive CONTENTdm API any language for any PHP project 3. As a web service dmBridge dmBridge REST API templates Any local dmBridge CONTENTdm PHP script PHP API templates CONTENTdm PHP API
  36. 36. University Libraries Migrating to dmBridge • dmBridge templates can coexist with the default templates • The default templates are never touched; nothing happens to them. Just change your links • Reference URLs can be rerouted on a per- collection basis (use them!) • For most, an iterative migration (like ours) will be more comfortable than all-at-once
  37. 37. University Libraries Is dmBridge a long-term commitment? • It’s already working and proven at UNLV, and is a core part of our technical strategy – We plan on converting all of our collections to it eventually • Its data schemas are simple and open • Code base is clean and understandable by anyone with MVC / classical OO experience • You can always return to the default templates
  38. 38. University Libraries How hard is it to install? 1. Copy the dmBridge core folder into your web server’s document root 2. Fill in some info in the Control Panel 3. Set some config file paths 4. Create as many custom template sets as you like • A few more steps, but nothing complicated
  39. 39. University Libraries What about upgrades? • Components () can be swapped out more-or-less dmBridge independently templates • Minimal (if any) template changes should be necessary when upgrading dmBridge either CONTENTdm or dmBridge • Older dmBridge templates can be easily upgraded to CONTENTdm use new features
  40. 40. University Libraries Requirements • Personnel: – HTML/CSS aptitude – Sense of adventure! • Software: – If you are running CONTENTdm, you probably already meet the requirements • The PHP cURL extension is required • PHP 5.3 is needed for custom object viewers • The PDO & XSL extensions are optional
  41. 41. University Libraries Availability • We’re still exploring our options
  42. 42. University Libraries Thank you! • Thanks UNR! Casinos $$$$$ Visitors (you) • Enjoy Reno! erence Taxes Indiff- • Bike safe! State of • alex.dolski@unlv.edu Nevada dmBridge • brian.egan@unlv.edu $$$ Toil • http://digital.library.u $ UNLV Us nlv.edu/dmbridge/ The circle of dmBridge life
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×