Didaskon/IKHarvester/REST
From Corrib Clan Wiki
Contents |
REST Web Services Specification
As stated before, [Didaskon/IKHarvester|IKHarvester] is a SOA layer for [Didaskon]. Then, [Didaskon] is a client using Web Services provided by my system. All available Web Services must be specified, for the client code purposes.
Here, I define formats of HTTP requests and responses for the Web Services. The following tables define usage from a client's point of view. When the Web Services are invokded from a JSP page, a query string is used: mode=admin. Then the output can be displayed on JSP pages.
Get the list of available Learning Objects
This HTTP request is used for obtaining all the LOs that can be created from stored informal knowledge.
| URL | http://[server]/ikh/soa/[type] |
| Method | GET |
| Returns | All available LOs or LOs of the specified type. |
| Content type | text/xml |
Definitions:
- server - the server on which IKHarvester is hosted
- type - if not set, the Web Service delivers a list of LOs of all types; if set BlogPost, MediaWiki, JeromeDL, only resources of that type are returned
Examples:
http://notitio.us/ikh/soa http://notitio.us/ikh/soa/BlogPost
Get the manifest of the Learning Object
This HTTP request is used for retrieving from the informal knowledge repository the manifest of the specific LO in a an XML form, compatible with LOM standard.
| URL | http://[server]/ikh/soa/$URI$/manifest |
| Method | GET |
| Returns | LO manifest compatible with LOM standard. |
| Content type | text/xml |
Definitions:
- server - the server on which IKHarvester is hosted
- URI - the URI of the resource
Examples:
http://notitio.us/ikh/soa/$http://dobrzanski.net/2007/03/15/pandora/$manifest
Get the content of the Learning Object
This HTTP request is used for obtaining the content of the specific LO in a an XML form. The content is collected on the fly - it is not stored in the repository.
| URL | http://[server]/ikh/soa/$URI$/content |
| Method | GET |
| Returns | LO content. |
| Content type | text/xml |
Definitions:
- server - the server on which IKHarvester is hosted
- URI - the URI of the resource
Examples:
http://notitio.us/ikh/soa/$http://dobrzanski.net/2007/03/15/pandora/$content
Add Learning Object
This HTTP request is used for adding and updating informal knowledge to the repository. All crucial metadata, except from the actual content, for the given resource are saved as triples describing it.
| URL | http://[server]/ikh/soa/$URI$ |
| Method | PUT |
| Returns | |
| Content type |
Definitions:
- server - the server on which IKHarvester is hosted
- URI - the URI of the resource
Examples:
http://notitio.us/ikh/soa/$http://dobrzanski.net/2007/03/15/pandora/$
Remove Learning Object
This HTTP request is used for removing informal knowledge from the repository. It is should be invoked if the resource is no longer available in the Internet.
The resource is not physically removed from the repository. Instead, a triple informing about the removal is added to the repository. This is forced because of the synchronizing problems, when more than one LMS uses IKHarvester.
| URL | http://[server]/ikh/soa/$URI$ |
| Method | DELETE |
| Returns | |
| Content type |
Definitions:
- server - the server on which IKHarvester is hosted
- URI - the URI of the resource
Examples:
http://notitio.us/ikh/soa/$http://dobrzanski.net/2007/03/15/pandora/$



