1 / 51

CWSpace

CWSpace. Archiving Courseware Websites to DSpace Using a Content Packaging Profile & Web Services. William Reilly, Rob Wolfe — MIT Libraries. Digital Library Federation Spring Forum, 2006 April 11, 2006 — Austin, Texas. ©. 2006. Project Overview.

tilly
Télécharger la présentation

CWSpace

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CWSpace Archiving Courseware Websites to DSpace Using a Content Packaging Profile & Web Services William Reilly, Rob Wolfe — MIT Libraries Digital Library Federation Spring Forum, 2006 April 11, 2006 — Austin, Texas © 2006

  2. Project Overview CWSpace: MIT iCampus project, nearing completion Vision: Increase value in Institute publication: OCW • Also: Increase value in Open Source platform: DSpace Goal: Archive OCW to MIT’s DSpace • Also: Make content available to CLEs * * CLE = Collaborative Learning Environment Method: Interoperability of systems • Use Content Packaging standard • Use Web Services standard MIT's CWSpace

  3. Perceived Need: inter-operability™ • Obvious observation: Higher Ed. Technologies increasingly seeking integration with Library & Repository holdings • Not so obvious(?): Libraries seeing their charter to include collection, preservation, dissemination of Teaching & Learning materials(?) MIT's CWSpace

  4. InterOp: What’s Available MIT's CWSpace

  5. 1 of 3 InterOp: What’s Achievable MIT's CWSpace

  6. 2 of 3 InterOp: Challenges MIT's CWSpace

  7. 3 of 3 InterOp: Possible Resolution? MIT's CWSpace

  8. OCW Materials in DSpace = New Ground MIT's CWSpace

  9. Content Packaging MIT's CWSpace

  10. Content Packaging: Steps Toward a Profile • Model OCW Content • Choose Packaging Specification • Profile That Specification MIT's CWSpace

  11. Content Package Package Interchange File (PIF) • Usually a .zip file • Contains a manifest • Manifest references files (some in, some out of the package) MIT's CWSpace

  12. Object Models • Mapping one world to another • Content Package design considerations • Use, re-use, subsequent dissemination OCW DSpace … … DIP SIP MIT's CWSpace

  13. OCW to DSpace mapping MIT's CWSpace

  14. Which Packaging Spec.? • Content packaging specifications are generic loose envelopes to carry content, metadata • Choice of package is largely determined by user community • Dspace to use METS internally • Higher Education uses IMS Content Packaging • METS • IMS-CP • MPEG-21 DIDL • XFDU MIT's CWSpace

  15. METS and IMS-CP MIT's CWSpace

  16. IMS-CP & OCW Content Model MIT's CWSpace

  17. IMS-CP & DSpace Object Model MIT's CWSpace

  18. OCW to IMS-CP to DSpace MIT's CWSpace

  19. Every Implementation of IMS-CP or METS will: Constrain the Standard Extend the Standard Interpret the Standard The sum of these adjustments is the implementation profile The Standards themselves encourage profiling in a systematic way: IMS Application Profile Guidelines Technical Manual http://imsglobal.org/ap/apv1p0/imsap_techv1p0.html METS Profile Schema and Guidelines http://www.loc.gov/standards/mets/mets-profiles.html Profiling Package Standards MIT's CWSpace

  20. Application Profiles MIT's CWSpace

  21. Application Profiles MIT's CWSpace

  22. Application Profiles MIT's CWSpace

  23. Application Profiles MIT's CWSpace

  24. Application Profiles MIT's CWSpace

  25. Now with Package defined… …need to move that across the network from producer to consumer… Content Provider DSpace Profiled Content Package… MIT's CWSpace

  26. Web Services MIT's CWSpace

  27. DSpace dev: LNI & PKGers MIT's CWSpace

  28. Lightweight Network Interface 0. What Was The Problem? • What Is the LNI? • DSpace & WebDAV • Example of Use: Submit OCW • Future Development… MIT's CWSpace

  29. Content Provider DSpace What was the Problem…? Content Providers wanted… • Networked Access: Programmatically access the DSpace object model, but not running on the DSpace server • Basic (Lightweight Network Interface (LNI)) • [ Access, Deposit, Limited Mods. ] • Submit • Retrieve Item w. Metadata • Build own U/I • Collection Mgt, Map Items • Advanced (possible future LNI dev.) • [ Replace, Withdraw, Delete ] • Specialist metadata • Automated metadata • Quality control checks • Format migration … MIT's CWSpace

  30. What Is the LNI? The "Lightweight Network Interface" is: • A remote API to control DSpace • It's essentially WebDAV: Extensions to HTTP • A SOAP (with WSDL) equivalent is provided • It's a mapping: — • a "complete and comprehensive" view of the DSpace public object API… (the "business logic" layer) • …as mapped to WebDAV semantics MIT's CWSpace

  31. DSpace: Model • DSpace digital repository • Differs from file system • Submit URI not known • Workflow • … MIT's CWSpace

  32. WebDAV: Model, Basics DAV = "Distributed Authoring and Versioning" • Each Resource named by a URL • Properties are "name value" pairs • Properties are extensible • Property values can be found, and modified URL MIT's CWSpace

  33. WebDAV: Model, Fuller • Resources can be Collections or leaf nodes • Collections can nest • Everything can be discovered descending from the DAV server's root '/' resource MIT's CWSpace

  34. DSpace Mapped to WebDAV • WebDAV MIT's CWSpace

  35. DSpace Implemented as WebDAV • Properties • WebDAV • Custom for DSpace • LNI URLs • WebDAV Methods MIT's CWSpace

  36. Properties: WebDAV • DAV:creationdate • DAV:displayname • DAV:getcontentlength • DAV:getcontenttype • DAV:getlastmodified • DAV:resourcetype • … Akin to file system properties, with add'l. metadata http://www.webdav.org/specs/rfc2518.html MIT's CWSpace

  37. Properties: Custom DSpace (1 of 3) • ALL DSpace Objects: • dspace:type • "BITSTREAM", "ITEM", "COMMUNITY" etc. • DAV:resourcetype • "COLLECTION" etc. • dspace:displayname • dspace:current-user-privilege-set MIT's CWSpace

  38. Properties: Custom DSpace (2 of 3) • Community DSpace Objects • dspace:logo • dspace:short_description • dspace:side_bar_text • dspace:handle • … MIT's CWSpace

  39. Properties: Custom DSpace (3 of 3) • Bitstream DSpace Objects • DAV:getcontentlength = getSize() • dspace:format = getFormat().getID() • dspace:sequence_id = getSequenceID() • … • Many more DSpace Objects (some 10) • With many more Properties (some 87) http://wiki.dspace.org/LightweightNetworkInterface MIT's CWSpace

  40. URLs: DSpace LNI • Community • http://uni.edu/dspace/dav/dso_1721.1$46 • Collection • http://uni.edu/dspace/dav/dso_1721.1$349 • Item • http://uni.edu/dspace/dav/dso_1721.1$5543 • Bitstream • http://uni.edu/dspace/dav/dso_1721.1$5543/bitstream_13 • The LNI URLs for DSpace objects are only for use with the LNI. • They are therefore not to be used: • as persistent URLs (e.g. bookmark, store for later use) • as interactive URLs (e.g. browser) MIT's CWSpace

  41. WebDAV Methods in LNI • PROPFIND - very powerful request with multiple functions: • list names of properties • return property values • recurse through 1 or more levels of a "collection" resource. • PROPPATCH - changes value of or deletes properties on one resource. • GET - retrieves contents of a resource • PUT - replace or add a new resource to a collection • COPY - map a resource ("Item") to a different Collection. As noted, equivalent SOAP methods are provided Not Implemented: Locking, Versioning. MIT's CWSpace

  42. Current DSpace (pre-LNI) DSpace Non Std. Non Web Batch Importer Content Provider, currently • Batch import (& export) • End user Web U/I • dspace-admin Web U/I • SRW, OAI-PMH Web U/I Web, but Non Auto- mated Adm Workflow DSpace Object API OCW Comm. "Biology (7)" "Physics (8)" Item MIT's CWSpace

  43. "Physics (8)" Item DSpace with LNI DSpace DSpaceLNI.class - Web. - Stds. - Batch- able. Content Provider using LNI: • LNI SOAP end-point URL • LNI WebDAV URLs • dspace-admin (partial) • SRW, OAI-PMH • (Not replicated in LNI) • Still available: • Batch import (& export) • End user Web U/I DSpace LNI WebDAV DSpace Object API OCW Comm. "Biology (7)" MIT's CWSpace

  44. "Physics (8)" Item Submission: Overview DSpace DSpaceLNI.class Lang. - Indep. Platform - Indep. OpenCourseWare Client Needs 3 Values: • LNI SOAP end-point URL http://userid:password@dspace.mit.edu/dspace-lni/lni/DSpaceLNI • Handle for OCW Community = hdl:1721.1/125 • Dept. Name (MIT "Course" Number) for Course to be submitted = "Physics (8)" DSpace LNI WebDAV DSpace Object API OCW Comm. 1721.1/125 "Biology (7)" MIT's CWSpace

  45. Submission: 1. Lookup DSpace DSpaceLNI.class Request: OCW Comm. HANDLE LNI lookup() = http://dspace.mit.edu/dspace-lni/dav/lookup/handle/1721.1/125 Response: OCW Comm. LNI URL http://dspace.mit.edu/dav/dso_1721.1$125 DSpace LNI WebDAV DSpace Object API OCW Comm. 1721.1/125 dso_1721.1$125 Lookup "Biology (7)" dso_1721.1$197 "Physics (8)" dso_1721.1$253 MIT's CWSpace

  46. Submission: 2. Collections DSpace DSpaceLNI.class Request: PROPFIND on LNI URL for children DSpace Collections' "displaynames": <propfind> <prop> <DAV:displayname/> </prop> </propfind> Response: MULTISTATUS <multiStatus> <resource> <href URI="dso_1721.1$197"/> <displayname>Biology (7)</displayname> </resource> <resource> <href URI="dso_1721.1$253"/> <displayname>Physics (8)</displayname> </resource>... DSpace LNI WebDAV DSpace Object API OCW Comm. 1721.1/125 dso_1721.1$125 "Biology (7)" dso_1721.1$197 Iterate… "Physics (8)" dso_1721.1$253 MIT's CWSpace

  47. Submission: 3. Submit (PUT) DSpace DSpaceLNI.class Request: PUT to DSpace Collection LNI URL, including specification of Packager Type (IMS-CP): PUT /dspace/dav/dso_1721.1$253?package=OCW-IMSCP ....package contents in body... Response: LNI URL for DSpace Itemin "Location" Header: HTTP/1.1 201 OK Location: http://dspace.mit.edu/dspace/dav/dso_1721.1$836 ....other headers.... DSpace LNI WebDAV DSpace Object API OCW Comm. 1721.1/125 dso_1721.1$125 "Physics (8)" dso_1721.1$253 Item dso_1721.1$836 Ingest MIT's CWSpace

  48. Submission: 4. Item Handle DSpace DSpaceLNI.class Request: PROPFIND on DSpace Item LNI URL for the DSpace Handle: <propfind> <prop> <dspace:handle/> </prop> </propfind> Response: Properties Requested === PROPERTIES Successfully returned: dspace:handle = "hdl:1721.1/836" DSpace LNI WebDAV DSpace Object API OCW Comm. 1721.1/125 dso_1721.1$125 "Physics (8)" dso_1721.1$253 OCW Content Mgt. System Stores DSpace Handle SQL Server Table: hdl:1721.1/836 Item dso_1721.1$836 1721.1/836 Reverse Lookup MIT's CWSpace

  49. Submission: Summary DSpace DSpaceLNI.class In this 4-step OpenCourseWare submission example, we've seen: • SOAP endpoint URL • Dspace Handles • Dspace LNI URLs • LNI Lookup() function • WebDAV Properties • WebDAV Methods • PROPFIND (LNI request) • MULTISTATUS (LNI response) • LNI "Reverse Lookup" • WebDAV Headers (Location; Success/Fail) DSpace LNI WebDAV DSpace Object API OCW Comm. 1721.1/125 "Physics (8)" 1721.1/253 Item 1721.1/836 MIT's CWSpace

  50. Future Development • Other Use Cases, Needs • Basic, Advanced … • Other DSpace objects • Bitstream Format Registry • Metadata Registry … • Other WebDAV methods • PUT (for Replacement) • DELETE • MKCOL … MIT's CWSpace

More Related