Integrating Wiki Functions into OCLC Services Jeffrey A. Young OCLC Office of Research CNI Fall 2005 Task Force Meeting Phoenix, Arizona 5-6 December 2005
Context The web is evolving beyond the creation and publication of information toward services that enable communication and personal expression Wikis Blogs Podcasts Flickr Amazon Netflix There are benefits to doing this in an open and interoperable way (standards and protocols)
Strategic fit With Open WorldCat we can expand the OCLC cooperative to enable anyone to contribute: Individual opinions (ratings and reviews) Communal facts (tables of content and notes) Other collaborative opportunities: Pathfinders/reading lists Terminology services Bibliographies… Supports Corporate Objective 2: Deliver OCLC products and services at the point of need OCLC as the first resource rather than the last resort
OCLC Cataloging Services OCLC Discovery Services OCLC Collection Analysis Services Embedded in OCLC Services OCLC User-Contributed Content Service Stand- alone Service Library OPAC/Circ System Amazon PsychBooks Embedded in 3 rd party services WikiD (An OSS J2EE webapp) Accessed via Wiki URL OpenURL SRW/U OAI RSS
Pilot project Phase 1: October-December Users can add and edit reviews associated with WorldCat records through Open WorldCat User can add and edit descriptive content through Open WorldCat Users will have to register to add or edit content Phase 2: November-June Functionality available in Open WorldCat will be added to WorldCat records through FirstSearch and possibly other OCLC Services
Purpose of the pilot Assess the quantity and quality of contributed content Profile contributors to determine who they are, why they are using this, etc. Evaluate the use of the content (click through rates, return visits, repeat contributions, etc.) Elicit ideas from users about how to expand the project
Contributions per month Closing DateAll ContentNotesTOCReviews Oct Nov Dec TOTALS
Middleware: WikiD overview Ward Cunningham describes a wiki as "the simplest online database that could possibly work".describes The cost of this simplicity is that wikis are generally limited to a single collection containing a single kind of record (viz. Wiki Markup Language records). Wiki Markup Language WikiD (Wiki/Data) extends the wiki model to support multiple collections containing arbitrary schemas of XML records with minimal additional complexity. WikiD
Extending wiki’s utility Wiki: supported markup: wikitext supported outputs: HTML, wikitext page editing: a single text block searches: full text searching collections managed: one per wiki WikiD: supported markup: any XML Schema (wikitext, MARC, METS…) supported outputs (via XSLT) any XML Schema page editing: a single text block, or, field level searches: full text searching fielded searching collections managed: one/multiple per WikiD
History: Using the OAI-PMH… Differently OAI + XSL + content + “extension verbs” Used OAI-PMH as an interactive web service The addition of an XSL Stylesheet reference in OAI responses provided a human interface without disrupting its intended purpose of automated harvesting Dare to store XML content in the OAI record’s element Sharp criticism for daring to add OAI “extension verbs” Extract content from OAI GetRecord Perform HTTP redirect to dc:identifier in oai_dc record OpenURL Spec Registry: “info” URI Registry:
Extensible Repository Resource Locators (ERRoLs) Decouple “extension verbs” from the OAI mechanism Extend principles to any repository registered at UIUC One way to think about ERRoLs is as a resolver for OAI repository and item identifiers, with various resolution targets (using rule- based URL construction) HTML renderings of OAI verbs Raw extraction and crosswalks Content dereferencing Extensible services, protocols, and XSL Stylesheets RSS OpenURL 0.1 API Customized via OAI Identify elements SRW/U
Limitations of ERRoLs ERRoL pushed the boundaries of OAI’s harvesting mandate The ERRoL URL encoding rules were non-standard Many OAI repositories were too slow and/or unreliable I was the only one exploiting ERRoL to its full potential I was requested to update from OpenURL 0.1 to 1.0 Every OAI repository I operated was configured differently I needed a way to update my repositories online Coincidentally, I was playing with a wiki around this time and was disappointed with its performance and features
Synthesis of available solutions Instead of transforming OpenURL requests into ERRoL requests, I could flip it and use OpenURL as my core infrastructure. I could merge my OAI repositories into a single version-controlled database divided into “Collections” Each collection can have its own native metadataFormat XSL Stylesheets provide the user interfaces and crosswalks Use SRW/U as the database API The SRW community developed an Update web service protocol I developed WebEdit to bridge the gap between HTML forms and the XML-based Update service This gave me everything I needed to create a wiki-style application to manage multiple collections of structured datasets Conventional wiki capabilities could be contained in a single collection within the general model The conventional wiki collection could serve as a user interface for the creation and maintenance of the various collections
Pears DB Engine File system SRW/UUpdate WikiD OpenURL 1.0 WebEdit Servlets and data flows
OpenURL 1.0 Most people continue to think in terms of OpenURL 0.1: Deliver the “appropriate copy” of a “journal article” OpenURL 1.0 abstracts the 0.1 function: Supply the “appropriate service” related to an “identifiable resource” The words “appropriate”, “service”, “identifiable” and “resource” are left to the imagination of developers OpenURL 0.1 is thus an “application” of OpenURL 1.0 WikiD is another example of an OpenURL 1.0 application: “identifiable resource” can be anything (but typically refers to internal collection items) and “appropriate service” can mean anything (but typically refers to wiki- style functions)
Support for multiple collections CollectionWikiPages is the primary bootstrap collection and gives WikiD its out-of-the-box wiki functionality Consider that many conventional wiki implementations treat certain types of WikiNames as special (e.g. WikiNames that begin with the word “Category”) In the same spirit, CollectionWikiPages treats WikiNames that start with the word “Collection” as special This special class of WikiNames allows users to create, reference, and manipulate collections in much the same way they would create and reference wiki pages.
Summary OCLC contributed content pilot project Extends the cataloging cooperative and creates a social platform for members libraries and their patrons Pilot in Open WorldCat/FirstSearch (fall 2005) If the pilot is successful, by December 2005 we’ll develop a business case for a complete service based on user contributed content WikiD research project Allow non-programmers to quickly and easily create new user- contributed collections of structured data through its “wiki” interface Supports a variety of standards-based protocols to enable stand-alone use or integration into other systems Supports custom displays and services at the collection and item levels Demonstrates the efficacy of OpenURL 1.0 beyond the “appropriate copy problem”
Reference Links Open WorldCat contributed content (example) eviews eviews WikiD project page WikiD demo