Skip to Content.
Sympa Menu

cc-metadata - RFC: Creative Commons SOAP API

cc-metadata AT lists.ibiblio.org

Subject: discussion of the Creative Commons Metadata work

List archive

Chronological Thread  
  • From: "Nathan R. Yergler" <nathan AT yergler.net>
  • To: discussion of the Creative Commons Metadata work <cc-metadata AT lists.ibiblio.org>
  • Subject: RFC: Creative Commons SOAP API
  • Date: Thu, 09 Sep 2004 07:48:36 -0500

The initial version of our SOAP API for licensing is now available. The SOAP API has the following goals:

* Provide a web services interface to the CC licensing engine
* Allow 3rd party developers to easily integrate CC licensing into their applications, regardless of UI

The API is rooted at http://api.creativecommons.org/soap, and defines the following methods:

licenses()
Returns a list of license class identifiers (currently standard, publicdomain; gpl, lgpl, recombo will be added)

fields(license)
Returns a list of field identifiers for a particular license class; fields are values which must be supplied in order to issue a license

fieldDetail(license, field_id, lang='en')
Returns a sequence of two-tuples which form a detail mapping for the particular field. Keys include id, label, description and type.

fieldEnum(license, field_id, lang='en')
For fields with type=='enum', returns a mapping of id/label pairs

getLicense(license, answers)
Returns an XML document containing the license URL and license RDF; license is the license class ID and answers is a mapping (dictionary) with field identifiers as the keys.

Sample code is available in soap-client.py, available from SourceForge CVS (http://http://cvs.sourceforge.net/viewcvs.py/cctools/) in the api module.

The following questions still need to be answered:

* How to handle work information, which should be integrated into the returned license RDF (always add the keys to the field list? seperate function to get the work info fields and return them in an additional, optional parameter to getLicense?)
* Exceptions are currently poorly defined and hence relatively useless

Note that the API may (and probably will) change in the future as we receive feedback and developers begin using the API. We will be using the API internally at CC for our ccTag application. We expect this "real world" usage experience will reveal possible faults in the current design. Your suggestions, comments and questions are welcome.

We will also be developing a more REST-ful API, which should be available for testing shortly, as well.

Thanks for your help,

Nathan R. Yergler
Software Engineer
Creative Commons




Archive powered by MHonArc 2.6.24.

Top of Page