Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

In the following section listed are supported endpoints on the application level. The items marked with dot (in C column) are in phase of implementation, while other items are considered already working. 

Please note that additional tests should be made in order to ensure proper stability of the whole application.

...

Sorting fields:
Info
titleNot completed!

The sorting of the fields / output results is currently partially supported. This part of the application is implemented independently of the endpoints and will be worked on after the most of endpoints are completed.

Parameter

Description

Ordering supported

Anchor
sort_id
sort_id
id

sort results by entity id

asc | ascending
desc | descending

Anchor
sort_name
sort_name
name

sort results by entity name

asc | ascending 
desc | descending

Anchor
sort_countitems
sort_countitems
countitems

sort results by number of items contained

asc | ascending 
desc | descending

Anchor
sort_lastmodified
sort_lastmodified
lastmodified

sort results by date of last item modification

asc | ascending 
desc | descending

Anchor
sort_submittername
sort_submittername
submitterName

sort results by submitter name

asc | ascending 
desc | descending

Anchor
sort_submitterid
sort_submitterid
submitterId

sort results by submitter id

asc | ascending 
desc | descending

...

Authorization is done on underlying api level; in the case of error the proper message and error code are returned to the user.

Repository manipulation

C

Verb

URL

Description

Mandatory parameters

Optional parameters

Response Data

Formats

Response codes

 

POST

/communities

Action to be done under community id, adding new content or values.

Supported actions:
createAdministrators
createCollection
createSubcommunity

id, action



-
name
name

-

Id of newly created entity, depending on the action selected:
id of group of administrators
id of collection
id of subcommunity

json 
xml

200, 400, 401, 403, 500

 

PUT

/communities/{id}/{element}

Update the field element of the community id.

Supported fields:
name - change name
shortDescription - change short description
copyrightText - change copyright text
sidebarText - change sidebar text
introductoryText - change introductory text
collections - add existing collection
children - add existing subcommunity

id


value
value
value
value
value
cid
cid

-

Response code

 

200, 400, 401, 403, 500

 

PUT

/communities/{id}/logo

Set the logo for community id

id

-

Response code

binary

200, 400, 401, 403, 500


DELETE

/communities/{id}

Delete community from the system

id

-

Response code

json
xml

200, 400, 401, 403, 500


DELETE

/communities/{id}/{element}/{eid}

Remove attribute/value eid of element element from the community id.

Suported elements:
collections
children
administrators

id, eid



cid
cid
-

-

Response code

json
xml

 


POST

/collections

Action to be done under collection id, adding new content or values.

Supported actions:
createAdministrators
createSubmitters
createTemplateItem
createWorkflowGroup

id, action

 

-
-
-
step

-

Id ow newly created element

json
xml

200, 400, 401, 403, 500


PUT

/collections/{id}/{element}

Update field element of the collection id.

Supported elements:
shortDescription - short description
introText - introductory text
copyrightText - copyright text
sidebarText - sidebar text
provenance - provenance
licence - collection licence
name - collection name

id 


value
value
value
value
value
value
value

-

Response code

json
xml

200, 400, 401, 403, 500


DELETE

/collections/{id}

Delete collection from the system

-

-

Response code

json
xml

200, 400, 401, 403, 500

DELETE

/collections/{id}/{element}/{cid}

Remove attribute/value cid from collection id
Supported attributes:
administrators
item
submitters
templateItem

id, cid

-

Response code

json
xml

200,400,401,403,500

PUT

/collections/{id}/logo

Set the logo for collection id

id

 

Response code

binary

200,400,401,403,500

POST

/items

Action to be done under item id, adding content or value.

Supported actions:
createBundle
createBitstream


id, action



name
name, input

 

Id of newly created element

json,xml, binary

200,400,401,403,500


PUT

/items/{id}/{element}

Update field element of the item id

Supported fields:
isArchived
isWithdrawn
owningCollection
submitter

id,element

-

Response code

json,xml

200,400,401,403,500


DELETE

/items/{id}

Delete item from the system

id

-

Response code

json,xml

200,400,401,403,500


DELETE

/items/{id}/{element}/{eid}

Delete element/attribute eid from the item id

Supported fields for element:
bundle
licences 

id,element,eid

-

Response code

json,xml

200,400,401,403,500

...

Info
titleExperimental feature

This is considered as a experimental feature in the phase of being considered for compability with future versions of DSpace. Consider not important section; the status of the feature for upcoming release yet to be determined.

C

Verb

URL

Description

Mandatory parameters

Optional parameters

Sorting fields

Response Data

Formats

Response codes


GET

/resource/{handle}/relations

Return entities according to relation and parameters specified

handle 
DSPACE:property

DSPACE:rtype
rfield

-

ontains entities selected and sorted in conformance to request parameters. For more details see description of rtype andrfield.

json 
xml

DSPACE:200, 204, 400, 401, 403, 500

Mandatory parameters

Parameter

Description

Values

Example

Anchor
property
property
property

Return entities satisfying requested property relation

Structural properties 
ds:isPartOfSite 
ds:isPartOfCommunity 
ds:isPartOfCollection 
ds:isPartOfItem 
ds:isPartOfBundle 
ds:hasCommunity 
ds:hasCollection 
ds:hasItem 
ds:hasBundle 
ds:hasBitstream 
ds:hasBitstreamFormat 

Communities and collections 
ds:logo 

Bistream format 
ds:support 
ds:fileExtension 
ds:mimeType 

Bitstream 
ds:messageDigest 
ds:messageDigestAlgorithm 
ds:messageDigestOriginator 
ds:size 

Eperson 
ds:language 

property=ds:hasCommunity - return subcommunities of a community 
property=ds:isPartOfCommunity - return communities current community is part of (children) 
property=ds:hasCollection - return collections belonging to community 
property=ds:hasItem - return Items belonging to community

Anchor
rtype
rtype
rtype

restriction on type - only entity with specifed type(s) would be returned

ds:Bitstream  
ds:Bundle  
ds:Collection  
ds:Community  
ds:EPerson  
ds:Group  
ds:Item  
ds:DSpaceObject  
ds:Policy  
ds:Site  
ds:BitstreamFormat|

rtype=ds:Collection - return entities of Collection type

Anchor
rfield
rfield
rfield

restriction on fields - return only selected fields; by default all fields are returned

id
name
countitems
metadata
subcommunities
ancestors
owner
other (depending on object type, will be documented later)

rfield=id,name - return only entity id and name in response

Note: incomplete/orientative properties, for more info check [Vocabularies|http://code.google.com/p/dspace-sandbox/source/browse/#svn/modules/dspace-rdf/tags/dspace-rdf-1.5.1/src/main/java/org/dspace/adapters/rdf/vocabularies]. 

...


Here the visitors and stakeholders can insert their suggestions or describe the needs for their applications in detail.

Comment: In this case it is not clear how to treat recent part of endpoint. If we stick to semantic mapping, then it should look like /resource/id/mapping, but recent in this case obviously do not represent a mapping, but the property. 

Comment #2: Semantic mapping presented in this case should be probably hardcoded for 1.x branch, but on abstraction level which enables easy replacement with some auto-discovery method prepared for 2.x and eventually backported to 1.x. This way we would be able to call something similar to /communities/id or communities/id/capabilities in order to get supported mappings (amongst other data).

Suggesting new options:

Instead of changing wiki contents visitors can enter their suggestions as a comments.

...

  • Confluence pages, current location
  • integrated documentation in PDF form (manual)
  • short slides containing technology overview, advocacy/facts, configuration and usage guideliens and examples
  • code will be additionally commented

Example of usage


At the end of the current stage of this project as a bonus task (if time constraints allow) the examples of usage will be provided for several languages, the use-cases will be presented (example of integration in other software, e.g. LMS) and optionally simple client system demonstrating UI customization will be demonstrated (e.g. Flex or JavaFX like).

...