WikiD (Wiki/Data) Jeffrey A. Young OCLC Office of Research Distributed Service Registry Workshop Warwick, UK 14 July 2005
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
What well cover Walkthrough of the conventional WikiPage creation process Walkthrough of the WikiD Collection creation process Discuss potential applications of WikiD Discuss the architecture of WikiD
Data democracy
Click to edit this sandbox page
Create a reference to a new WikiPage Click to save Changes
The ? indicates that the page doesnt exist yet. Click it to start the page creation process
Type in some content according to the Wiki Markup Language rules Click to save changes Side note: Category WikiNames are special
The question mark is gone, replaced with a hotlink to the new page
Here is the Wiki Markup we entered, rendered into HTML for display
Collection WikiNames Some WikiNames can have special meaning (e.g. WikiNames that begin with the word Category) For our purposes, we dont care how Category WikiNames are special, only that they are treated differently by the WikiEngine In the same spirit, WikiD treats WikiNames that start with the word Collection as special
This is the WikiD sandbox page and were going to edit it
The Collection prefix is special. Were going to create a registry of open- source software projects Click to save changes
The sandbox page has been updated to reflect our change. Click the ? to begin the collection creation process
Before we create the collection, note that none of the listed XML Schemas suit our needs So, click to add a new schema
Lets identify our new XML Schema with the label: software
Give our XML Schema a title Click Create to submit Now, list the element names in our new XML Schema
What gets stored is an XML Schema document generated from the list of elements we just entered
Were back to our collection creation form with our new XML Schema now included in the list of available XML Schemas Create the collection
The ? is gone. We just created the collection, so our collection name is now hotlinked
This is the collection home page. Its time to add items to the collection.
Here are the element names from the XML Schema I just created
This is the collection home page, with several items added
This is the display for a single item in the collection
WikiD Features Support for fielded searching (via SRW/U) Support for XML Schema crosswalks (via XSL) Support for custom HTML rendering (via XSL) Support for custom collection-level actions (via Java classes and/or XSL) Support to dynamically interact with external collections (e.g. OAI repositories, OPACS, OpenURL resolvers) Supports a variety of protocols for input/output OAI-PMH v2.0 SRW/U OpenURL 1.0 RSS Arbitrary URI resolution (via an embedded OpenURL 1.0 resolver)
Pears DB Engine File system SRW/UUpdate WikiD OpenURL 1.0 WebEdit Servlets & Data Flows
OpenURL 1.0 Resolver A standard for performing context-sensitive services on referents (e.g. rendering of wiki markup records) Installation is configured to recognize wiki-type services display edit delete etc. For this application, my plan is to embed this in the WikiD code rather than run it as a sibling web-app
Wiki/OpenURL 1.0 Mapping IdentifierBy Value Metadata By Reference Metadata Private Data Referentinfo:sid /localhost :Wiki.Internal :FrontPage/Sub Referring Entity wiki/info:sid/localhost:Wiki. Internal:FrontPage RequesterUser ID (if authenticated) Service Typeaction=edit Resolver Referrerhttp://localhost:8080/meta wiki
Pears A record-based database system
SRW/U Search/Retrieve Web/URL Service A SOAP/REST search service standard
Update Update Web Service A database update web service standard created by the SRW/U community Enhanced to support file system-based version control of documents
WebEdit A lightweight open-source web-based record editor Accepts HTML form submittals and transforms them into XML documents that conform to a desired XML Schema Forwards the generated XML document to a corresponding Update service
WikiD An lightweight wiki front-end to an OpenURL 1.0 resolver This combination supports wiki-enhancements for managing fielded data collections doGet/doPost processing Transforms a Wiki URL request into an OpenURL 1.0 ContextObject representation Issues the ContextObject to the OpenURL resolver Relays the resolver results back to the client