Dynamic Content and ProtocolLevel Interoperability hussein suleman uct
Dynamic Content and Protocol-Level Interoperability hussein suleman uct cs honours 2006
What are CMSes? CMS= Content Management System p Online systems to create, store, edit, secure, preserve, transform and publish original and acquired digital content. p Examples: p n n Slashdot Freshmeat Source. Forge Wikipedia
Zope. org
PHPNuke, Post. Nuke, Zope Manage basic content (pages) and gather resources from different locations. p Easy to use and install for end users. p Professional appearance. p Minimal installation resources. p Modular and extensible. p n Portal approach to user interface.
Wikipedia
Wikis are collaborative website editors, using a Web interface. p Every page (generally) has an “edit” button. p HTML is too complex so it is simplified p n n p e. g. , !! heading, *bullets, _bold_ New pages are created by linking to them. Security is not necessary - actions can be undone by an administrator.
Blogger. com
Weblogs p Online Web-based journals. n There also online photo albums, shopping lists, CD inventories, etc. Simple interface for non-techie users to publish thoughts. p Single or group. p Usually free - what are the economics? p
Moodle
Learning Management Systems p Learning Management Systems (LMSes) handle not just creation and dissemination of content, but provide learning-specific facilities as well. n p LMSes are a superset of CMSes. n p e. g. , assignment submission, online testing Learning is not just about content! LMSes follow Web standards as well as particular learning-related standards: n n IMS Metadata Set, Content packaging, Question and Test Interoperability SCORM Content Packaging/Delivery
Ananzi
Web CMS/Portal Interoperability Federated Authentication p Federated Search p Content Syndication p
Federated Authentication p Shibboleth is a networked authentication/authorisation model. n n Single sign-on model. Access without identity! p n n n p Only by attributes e. g. , student at UCT. Privacy is user-controlled – users can decide how much information to pass on to third parties. Trust relationships are established among collaborating systems out-of-band. SAML records are exchanged to specify attributes (and club membership) of users. Security Assertion Markup Language (SAML) is an XML-based security assertion language.
Federated Search Protocols 1/2 p SDLIP (Simple Digital Library Interoperability Protocol) n n n Defines simple HTTP/CORBA-based interfaces for remote searching (esp. wrapping existing search systems) Stateless/ful a/synchronous operation 3 sub-interfaces source metadata p search p result access p
Federated Search Protocols 2/2 p Z 39. 50 is the traditional remote search protocol for library systems. n n n p ANSI/NISO/ISO standard Comparatively complicated syntax/operation Based on older standards (1998) Latest standards for federated search: n n SRW – Search/Retrieve for the Web SRU – Search/Retrieve URL mechanism? p http: //myserver. com/myurl/search. Retrieve? quer y=dc. title=cat&maximum. Records=10&record. Schema =http%3 a//www. loc. gov/mods/&sort. Keys=title, dc &start. Record=1 (excerpt from ZING website)
SRW Request SOAPAction: "search. Retrieve" <SOAP: Envelope> <SOAP: Body> <SRW: search. Retrieve. Request xmlns: SRW="http: //www. loc. gov/zing/srw/v 1. 0/"> <SRW: query>(dc. author exact "jones" prox///5 title >= "smith")</SRW: query> <SRW: sort. Keys>/record/title, "http: //www. loc. gov/zing/srw/dcsche ma/v 1. 0/", 1, 0, high. Value /record/datafield[@tag="100"]/subfield[@code="a"], "http: //www. l oc. gov/marcxml/", , , "Smith"</SRW: sort. Keys> <SRW: start. Record>1</SRW: start. Record> <SRW: maximum. Records>10</SRW: maximum. Records> <SRW: record. Schema>http: //www. loc. gov/mods/</SRW: records. Schem a> </SRW: search. Retreive. Request> </SOAP: Body> </SOAP: Envelope> (excerpt from ZING website)
SRW Response <SOAP: Envelope> <SOAP: Body> <SRW: search. Retrieve. Response xmlns: SRW="http: //www. loc. gov/zing/srw/v 1. 0/" xmlns: DIAG="http: //www. loc. gov/zing/srw/v 1. 0/diagnostic/"> <SRW: number. Of. Records>2</SRW: number. Of. Records> <SRW: result. Set. Id>8 c 527 d 60 -c 3 b 4 -4 cec-a 1 de-1 ff 80 a 5932 df</SRW: result. Set. Id> <SRW: result. Set. Idle. Time>600</SRW: result. Set. Idle. Time> <SRW: records> <SRW: record. Schema>http: //www. loc. gov/mods/</SRW: record. Schema> <SRW: record. Data> < ? xml version=" 1. 0" encoding=" UTF 8" ? > < mods xmlns: xlink=" http: //www. w 3. org/TR/xlink" xmlns: xsi=" http: //www. w 3. org/2001/XMLSchema-instance" xmlns=" http: //www. loc. gov/mods/" xsi: schema. Location=" http: //www. loc. gov/mods/ http: //www. loc. gov/standards/mods. xsd" > < title. Info> < title> Sound and fury : the making of the punditocracy /< /title> < /title. Info> < name type=" personal" > < name. Part> Alterman, Eric. < /name. Part> < role> creator< /role> < /name> . . . </SRW: record. Data> <SRW: record. Position>1</SRW: record. Position> </SRW: record>. . . (excerpt from ZING website)
Content Syndication - RSS p p p Really Simple Syndication (RSS) is a (predecessor to SOAP) standard to transfer a list of recently updated entries from one CMS to another. RSS 2. 0 is arguably a dynamically-generated “data format” rather than a “protocol”. Lots of different (incompatible) versions: 0. 91, 0. 92, 2. 0, etc. RSS 0. 92 used the Resource Description Framework (RDF) XML format to encode items. Blogs, Wikis and other CMSes generally support RSS, sometimes both as client and server. Alternatives? OAI-PMH?
RSS Time Sequence Client Server HTTP GET /rss. xml RSS Document v 1 HTTP GET /rss. xml RSS Document v 2 . . .
RSS Example <? xml version="1. 0"? > <rss version="2. 0"> <channel> <title>Liftoff News</title> <link>http: //liftoff. msfc. nasa. gov/</link> <description>Liftoff to Space Exploration. </description> <language>en-us</language> <pub. Date>Tue, 10 Jun 2003 04: 00 GMT</pub. Date> <last. Build. Date>Tue, 10 Jun 2003 09: 41: 01 GMT</last. Build. Date> <docs>http: //blogs. law. harvard. edu/tech/rss</docs> <generator>Weblog Editor 2. 0</generator> <managing. Editor>editor@example. com</managing. Editor> <web. Master>webmaster@example. com</web. Master> <item> <title>Star City</title> <link>http: //liftoff. msfc. nasa. gov/news/2003/news-starcity. asp</link> <description>How do Americans get ready to work …</description> <pub. Date>Tue, 03 Jun 2003 09: 39: 21 GMT</pub. Date> <guid>http: //liftoff. msfc. nasa. gov/2003/06/03. html#item 573</guid> </item> <description>Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a < a href="http: //science. nasa. gov/headlines/y 2003/30 may_solareclipse. htm"> partial eclipse</description> <pub. Date>Fri, 30 May 2003 11: 06: 42 GMT</pub. Date> <guid>http: //liftoff. msfc. nasa. gov/2003/05/30. html#item 572</guid> </item> </channel> </rss> source: http: //www. rssboard. org/files/sample-rss-2. xml
RSS Basic Structure <rss version=“ 2. 0”> <channel> <title>some channel</title> <link>some link</link> <description>stuff…</description> <item> <title>an_item</title> … </item> … </channel>
RSS Channel Tags Tag title link Description name of the channel URL of website corresponding to channel description language copyright description of channel language of channel copyright statement managing. Editor ttl email of content editor number of minutes before channel expires and must be refetched time when content was created last time content was updated pub. Date last. Build. Date
RSS Item Tags Tag title link description guid category comments Description name of the item URL of the item synopsis of item unique identifier for item classification of item URL of page where comments can be added source the RSS channel an element came from time when item was created pub. Date
RSS Cloud p Notification system for RSS n p Two methods: n n p Why contact the server waiting for an update when the server can contact you when it updates its content? client cloud_server, registers the procedure, port and transport protocol (e. g. , SOAP) to use to notify the client when content changes. cloud_server client, sends the RSS URL for the changed document. Clients must register every 24 hours.
Podcasting refers to the distribution of multimedia (non-text) files over the Internet using RSS-like technology. p Media files are linked to RSS items using the <enclosure> tag and automatically downloaded to mobile devices. p source: http: //www. rssboard. org/rss-specification
References p p p Internet 2 (2006) Shibboleth Project. Website http: //shibboleth. internet 2. edu/ Library of Congress (2006) SRU: Search and Retrieve via URL. Website http: //www. loc. gov/standards/sru/ RSS Advisory Board (2005) Really Simple Syndication: RSS 2. 0. 1 Specification (revision 6). Available http: //www. rssboard. org/rssspecification RSS Advisory Board (2001) Really Simple Syndication: Rss. Cloud API. Available http: //www. rssboard. org/rsscloud-interface Sureau, D. G. (2006) RSS - Really Simple Syndication. Available http: //www. xul. fr/en-xmlrss. html
- Slides: 26