Hi

For Fedora3.3, it seems we just want to duplicate the methods in the
SOAP interface, but there are room for improvement, perhaps in a later
version.

Here are some ideas I have been thinking on.

OBJECTS

 * GET /objects/{pid} - gets some presentation of the object like
objectprofile today
 * PUT /objects/{pid} - Create a new object, with no content, and
default values
 
 * DELETE /objects/{pid} - purge the object

 * GET/POST /objects/{pid}/label - read/write the object label

 * GET/POST /objects/{pid}/state - read/write the object state

 * GET /objects/{pid}/datastreams - get a list of the datastreams IDs

 * GET /objects/{pid}/contentmodels - Get the content models of the
object

 * POST /objects/{pid}/contentmodels/{cmid} - Add a content model to the
object



RELATIONS

 * GET/POST /objects/{pid}/relations - read/write the content of the
RELS-EXT datastream

* PUT/DELETE /objects/{pid}/relations/{relationname}/to/{objID} -
add/delete relation


DATASTREAMS
 * PUT/DELETE /objects/{pid}/datastreams/{dsID}

 * GET/POST /objects/{pid}/datastreams/{dsID} read/write the contents of
a datastream

 * GET /objects/{pid}/datastreams/{dsID}/properties - get the properties
in some format

 * GET/POST /objects/{pid}/datastreams/{dsID}/properties/label -
read/write the label of the datastream

 * GET/POST /objects/{pid}/datastreams/{dsID}/properties/versionable

 * GET/POST /objects/{pid}/datastreams/{dsID}/properties/state

 * GET/POST /objects/{pid}/datastreams/{dsID}/properties/checksum

 * GET/POST /objects/{pid}/datastreams/{dsID}/properties/mimetype

 * GET/POST /objects/{pid}/datastreams/{dsID}/properties/formatURI

 * GET/POST /objects/{pid}/datastreams/{dsID}/properties/relations -
read/write the content of the RELS-INT datastream specific to this
datastream

 *
PUT/DELETE 
/objects/{pid}/datastreams/{dsID}/properties/relations/{relationname}/to/{objID}
 - add/delete relation


 * GET /objects/{pid}/datastreams/{dsID}/properties/versions - list of
versions

 * GET /objects/{pid}/datastreams/{dsID}/properties/versions/{datetime}
- get the contents of the datastream at the datetime

 *
GET /objects/{pid}/datastreams/{dsID}/properties/versions/{datetime}/properties 
- get the properties in some format
and so on like above



This would provide a, in my view, intuitive interface to Fedora. Every
property is reachable with a simple URL, nothing should require parsing
of output. Objects can be created without ingest, and populated.
Contentmodels become easily reachable through the interface, and
relations 

 
Regards




------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Fedora-commons-developers mailing list
Fedora-commons-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers

Reply via email to