CONTENTdm Extensions Terry Reese 541-737-6384 [email_address] Slides:  http://oregonstate.edu/~reeset/contentdm/presentati...
Understanding the rules <ul><li>You have to work within CONTENTdm’s application framework, i.e.: </li></ul><ul><ul><li>CON...
Retrieving Data: OAI & the CONTENTdm API <ul><li>Two primary methods for accessing collection data dynamically within CONT...
Retrieving Data: OAI & the CONTENTdm API <ul><li>Two primary methods for accessing collection data dynamically within CONT...
Examples: E-Commerce Extension <ul><li>E-commerce extension: </li></ul><ul><ul><li>What it does: </li></ul></ul><ul><ul><u...
Examples: E-Commerce Extension <ul><li>E-commerce extension: </li></ul><ul><ul><li>How it works: </li></ul></ul><ul><ul><u...
Examples: E-Commerce Extension <ul><li>E-Commerce extension: </li></ul><ul><ul><li>Data flow: </li></ul></ul><ul><ul><ul><...
Examples: E-Commerce Extension <ul><li>E-Commerce extension: </li></ul><ul><ul><li>Example (Demo here): </li></ul></ul><ul...
Examples: RSS Generator <ul><li>RSS Feed Generator </li></ul><ul><ul><li>Probably the most widely used CONTENTdm extension...
Examples: RSS Generator <ul><li>RSS Feed Generator </li></ul><ul><ul><li>How it works: </li></ul></ul><ul><ul><ul><li>Uses...
Examples: RSS Generator <ul><li>RSS Feed Generator </li></ul><ul><ul><li>Example: </li></ul></ul><ul><ul><ul><li>Within Bl...
Things I’d like to see or am working on <ul><li>An Open-Source Acquisitions client built in Java (so it can be run on Linu...
Going Further: Embedding Rights Management <ul><li>Rights management example – how it works: </li></ul><ul><ul><li>Generat...
Upcoming SlideShare
Loading in...5
×

contentDM

2,496

Published on

For use on a contentDM UI project. For custom collections management design contact us at futurehat.com

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

No Downloads
Views
Total Views
2,496
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • contentDM

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

    ×