3rd party CONTENTdm development by UH0EH9R

VIEWS: 6 PAGES: 13

									CONTENTdm Extensions
                     Terry Reese
                    541-737-6384
            terry.reese@oregonstate.edu
                       Slides:
http://oregonstate.edu/~reeset/contentdm/presentati
                 on/2004_05_09.ppt
           Understanding the rules
•   You have to work within CONTENTdm’s
    application framework, i.e.:
    1. CONTENTdm’s indexes can only be easily accessed
       via an .exe in the CGI-BIN so the OAI is your friend
    2. That nearly all data is stored in plain text files and
       are accessible via http/file level access
       •   Examples:
            –   Project Configuration Files:
                http://digitalcollections.library.oregonstate.edu/archives/index
                /etc/config.txt
            –   Vocab. Files:
                http://digitalcollections.library.oregonstate.edu/archives/index
                /text_search/voc.creato
    3. In general, all data not within a results grid can be
       easily customized using javascript
   Retrieving Data: OAI & the
       CONTENTdm API
• Two primary methods for accessing collection
  data dynamically within CONTENTdm:
   – API
      • Example: queryget.exe
      • Usage Example:
        http://digitalcollections.library.oregonstate.edu/cgi-
        bin/queryget.exe?CISOROOT0=/archives&CISOROOT1=/fa
        kecollection&CISOOP=all&CISOMAX=17000000&CISOS
        TART=1&CISOSORTBY=title&subjec=memorial+union
   Retrieving Data: OAI & the
       CONTENTdm API
• Two primary methods for accessing
  collection data dynamically within
  CONTENTdm:
  – OAI
     • Retrieves all Dublin Core tagged Fields
     • Retrieves data as simple Dublin Core
     • Example:
        – http://digitalcollections.library.oregonstate.edu/cgi-
          bin/oai.exe?verb=ListRecords&metadataPrefix=oai_dc&
          set=archives
      Examples: E-Commerce
           Extension
• E-commerce extension:
  – What it does:
     • Allows institutions to implement a shopping cart feature with
       CONTENTdm
     • Provides patrons with a printout receipt of their orders
     • Provides staff with an html encoded email with links into the
       CONTENTdm collection to eliminate confusion regarding
       staff requests
     • Provides a method to potentially allow online billing of
       documents
         – Method will vary from institution to institution based on their
           business offices rules and practices
       Examples: E-Commerce
            Extension
•   E-commerce extension:
    – How it works:
       •   Modifications to the global.js script to:
           1. Insert shopping cart buttons in the item & results windows
           2. Add Cookie parsing and Packing functions
               » The script uses the same cookie as the My Favorites
                   functionality, allowing the Shopping Cart to import data
                   from the My Favorites list.
       •   Creation of two php scripts:
           – mycart.php (handles the data retrieval submission form
             generation)
           – request.php (generates & emails this request – also provides
             the fork point for online payment if available)
       Examples: E-Commerce
            Extension
•   E-Commerce extension:
    – Data flow:
       1. Patron clicks on shopping cart link to pack CISOPTR into
          the cookie.
       2. Patron clicks on “order prints” link to generate the request
          form.
       3. Request form (mycart.php) generates an OAI request for
          each item and extracts the necessary data required to
          generate the print/email request.
       4. Patron enters data & submits data – receipt is generated and
          user is given one last opportunity to verify data.
       5. Submits data – Email is sent to staff which fill the request.
     Examples: E-Commerce
          Extension
• E-Commerce extension:
  – Example (Demo here):
    • http://digitalcollections.library.oregonstate.edu/br
      acero/
    Examples: RSS Generator
• RSS Feed Generator
  – Probably the most widely used
    CONTENTdm extension in our library.
  – Used by:
    1. Librarians to track individual collection or topical
       growth within collections.
    2. Managers (like myself) as a review tool to keep
       track of items as they change and check resulting
       metadata.
      Examples: RSS Generator
•   RSS Feed Generator
    – How it works:
       •   Uses OAI for data retrieval
           –   OAI is called using date limiters that can be specified by the
               user
       •   SAXON for XSLT parsing
           – This allows the OAI to be pre-processed to Qualified Dublin
             Core and then processed against a users processing
             instructions. Using XSLT, the user can:
              1. Query items with specific keywords
              2. Query items with specific creators/titles
              3. Query items with a combination of criteria – XSLT step
                  simply allows script to produce queries using a level of
                  granularity that isn’t available in OAI.
       •   RSS Feed reader to display results
    Examples: RSS Generator
• RSS Feed Generator
  – Example:
    • Within Bloglines
       – Example
    • As a simple link
       – http://fluffy.library.oregonstate.edu/cgi-
         bin/harvester/harvester.pl?collection_server=digitalcolle
         ctions.library.oregonstate.edu&collection_project=all&
         collection_options=rss&collection_wrapper=1&rss_tim
         e=14
      Things I’d like to see or am
              working on
•   An Open-Source Acquisitions client built in
    Java (so it can be run on Linux and customized
    for specific workflows
•   Open Source Multi-Site server solution
•   True OBDC driver to access CONTENTdm
    database natively within scripts
•   More folks developing and sharing their
    development.
     Going Further: Embedding
        Rights Management
•   Rights management example – how it works:
    1. Generate a wrapper .exe for the CONTENTdm
       display exe.
    2. Embed rights management metadata into individual
       items
    3. Have the wrapper pre-process requests on the server,
       pulling data from CONTENTdm using the OAI.
    Example screenshots:
       •   Metadata
           (http://oregonstate.edu/~reeset/contentdm/screens/rights1.png)
       •   Display
           (http://oregonstate.edu/~reeset/contentdm/screens/rights2.png)
    For more information, feel free to contact me.

								
To top