Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
titleEndpoints redefined

Based on semantic mapping relationships the following is proposed for DSpace REST endpoints. The same would apply for 1.x and 2.x branches.


More info: DSpace SandBox


Repository browsing


C

Verb

URL

Description

Mandatory parameters

Optional parameters

Sorting fields

Response Data

Formats

Response codes

 

GET

/communities

Returns a list of all communities on the system or return just top level communities.

-

topLevelOnly=true
idOnly=false

id
name
countitems

By default contains item count, identifier, handle and name and other referencing data, or 204 if none. Additionaly, based on parameter idOnly=true the method returns only identifiers.
Order of communities is ???

json
xml

200, 400, 500

 

GET

/communities/{id}

Return information about id community.

-

-

-

TBD

json
xml

200, 204, 400, 500

PUT

/communities/{id}

Change description of id community

name

-

-

TBD

json
xml

200, 204, 500, 501

POST

/communities

Add community to the system

name

logo
parent
other metadata

-

TBD

json
xml

200, 201, 204, 500, 501

 

GET

/communities/{id}/ds:isPartOfCommunity

Return a list of all ancestor communities of the id community.

-

idOnly=false
immediateOnly=true

id
name
countitems

Contains item count, identifiers, handle and name or 204 if id is already top-level. Additionaly, based on parameter idOnly=true the method returns only identifiers.
Order of ancestors is ??? immediate first or most distant first?

json
xml

200, 204, 400, 500

 

GET

/communities/{id}/ds:hasCommunity

Returns a list of immediate sub-communities (children) of the id community.

-

idOnly=false

id
name
countitems

Contains item count, identifiers, handle and name or 204 if none. Additionaly, based on parameter idOnly=true the method returns only identifiers.
Order of children is ???

json
xml

200, 204, 400, 500

 

GET

/communities/{id}/ds:hasCollection

Return a list of collections in the id community.

-

idOnly=false

id
name
countitems

Contains item count, identifiers, name, archival status, last modification and handle of collections, or 204 if there are none of them. Additionaly with idOnly=true only identifiers are returned.

json
xml

200, 204, 400, 500

 

GET

/collections

Return a list of all collections in the system.

-

idOnly=false

id
name
countitems

Contains item count, identifiers, name and handle of collections, or 204 if
there are none of them. In the case idOnly=true is used, returns only
identifiers of collections.

json
xml

200, 204, 400, 500

 

GET

/collections/{id}/ds:isPartOfCommunity

Return a list of all ancestor communities a collection with id belongs to.

-

idOnly=false
immediateOnly=true

id
name
countitems

Contains item count, identifier, name and handle of collections, or 204 if
there are none of them. Additionaly, when idOnly=true is used, return
only identifiers.

json
xml

200, 204, 400, 500

 

GET

/collections/{id}/ds:hasItem

Returns a list of all items from the collection id.

-

idOnly=false
in_archive=false

id
name
lastmodified
submitter

Contains full information info including name, submitter, collections related or 204 if there are none of them. In the case idOnly=true is used, return only identifiers of results.

json
xml

200, 204, 400, 500

...

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).


Parameter

Description

Anchor
toplevelonly
toplevelonly
topLevelOnly

returns only top level communities

Anchor
idonly
idonly
idOnly

if true return only the identifiers for the record

...