DSpace REST
...
API
Excerpt |
---|
Integration, testing, documentation and further development of DSpace REST services for 1.x and 2.0 versions. - Bojan SuzicThis is a wiki page for DSpace REST API addon. The project is in development phase, but can be tested by the users. The complete version is expected to be published during October 2010. |
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Project Title: | DSpace REST API |
Student Author: | Bojan Suzic , University of Technology Graz |
Mentors (at GSoC): | Aaron Zeckoski, Mark Diggory |
Contacting author: | bojan.suzic AT gmail _DOT _com - using subject line DSpace |
SCM Location for Project: |
...
This project is continuation of last year's activities, supported by Google as part of GSoC 2009 and GSoC 2010 . In the first stage the basic support for REST for DSpace is provided, exposing many parts of DSpace functionality to the clients.
Detailed activities
In In this year's GSoC the following activities should be primarily addressed:
- integration of existing code in the system
- alignment of REST API with currently available DSpace features/functionality, e.g. adding of new features
- extending of existing code, in order to provide better handling of management and injection functions
- providing more detailed documentation and examples for end users
- testing activities, e.g. cooperation/coordination with other GSoC 10 project Unit testing
- promotion of DSpace REST interaction (by taking part in integration with other systems)
Detailed activities
...
sections main activities are elaborated in detail.
REST API Endpoints
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.
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.
REST API Endpoints
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.
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.
Note | ||
---|---|---|
| ||
DSpace 1.x and 2.x are treating the resources on different way. 2.x is more generalized, suggesting the use of RDF-like interrelation notations. |
...
C | Verb | URL | Description | Mandatory parameters | Optional parameters | Sorting fields | Response Data | Formats | Response codes | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| | | Returns a list of all communities on the system or return just top level communities. | - | | The list of communities containing respective fields . | | ||||||||
| | | Return detailed information about | | | - | Fields describing community. | | |||||||
| | | Return a particular data field found in the community
element ): id - entity identifier, internal to the system name - entity name countItems - number of items under community handle - handle of the community (unique persistent resource identifier) type - entity type (object type in the system) collections - collections contained in the community, ordered by id canedit - states user persmission on the community (editing) anchestor - anchestors of the community children - subcommunities, ordered by id administrators - group administrators, ordered by id recent - recent items in the community shortDescription - short description copyrightText - copyright text sidebarText - sidebar text introductoryText - introductory text | | Respective field info | | |||||||||
| | | Return a community logo | | - | - | Contains community logo (bitstream) | | |||||||
| | | Return a list of all collections in the system. | - | The list of the collections containing respective fields. | | |||||||||
| | | Return detailed information about | | Fields of the collection entity. | | |||||||||
| | | Return a particular data field found in the collection
element ): id - entity identifier, internal to the system name - collection name licence - collection licence items - items contained in collection handle - handle of the collection (unique persistent resource identifier) canedit - states user permission on the collection (edit) communities - communities collection is a part of countItems - number of the items in the collection type - entity type (object type in the system) shortDescription - short description of the collection introText - introductory text for the collection copyrightText - copyright text for the collection sidebarText - sidebar text for the collection provenance - provenance | | Respective field info | | |||||||||
| | | Return a list of the items in the system | - | - | - | The list of the items containing related fields . |
|
| ||||||
| | | Return detailed information about an item. | | - | | Fields of the item entity. | | 200, 204, 400, 500 | ||||||
| | | Return a particular data field fould in the item
element ): metadata - item metadata submitter - submitter group isArchived - archival status of the item isWithdrawn - states if the item is withdrawn owningCollection - owning collection of the item lastModified - last modified time collections - collections the item appears in communities - communities the item appears is name - name of the item bitstreams - bitstreams related to the item handle - item handle (unique identified) canedit - states can user edit the item id - item id type - element type bundles - bundles related to the item | | - | - | Respective field info | | 200, 204, 400, 500 | ||||||
| | | Return bitstream object - usually the library item file. | | - | - | Fields of the bitstream entity. | | 200, 400, 401, 403, 404, 500 | ||||||
| | | Return a particular data field found in bitstream
Supported fields (for element ): mimeType - mime type of file bundles - bundles the bitstream is a part of checkSum - checksum of the file checkSumAlgorithm - checksum algorithm used description - bitstream description formatDescription - file format description sequenceId - sequence id of the file size - size of the file source - source (typically filename with path information) storeNumber - asset store number where the bitstream is stored userFormatDescription - user's format description name - bitstream name handle - unique id of the bitstream id - internal id of the bitstream type - type of the entity (referring to bitstream) | | - | - | Respective field info | | 200, 400, 401, 403, 404, 500 | ||||||
| | | Return bitstream | | - | - | Return bitstream | | 200, 400, 401, 403, 404, 500 | ||||||
| | | Return a list of the groups in the system | - | - | - | The list of the groups containing related fields . | | 200, 204, 400, 500 | ||||||
| | | Return a group object | | - | - | Fields of the group entity. | | 200, 204, 400, 500 | ||||||
| | | Return a particular data field found in the group entity
Supported fields (for element ): handle - unique id (external) id - internal id of the gruop isEmpty - is the group empty members - group members (as users) memberGroups - group members (as groups) name - group name type - entity type (referring to group) | | - | - | Respective field info | | 200, 204, 400, 500 | ||||||
| | | Return a list of the users in the system | - | - | - | The list of the users containing related fields . | | 200,204,400,500 | ||||||
| | | Return a user info | | - | - | Fields of the user entity. | | 200,204,400,500 | ||||||
| | | Return a particular data field found in the user
Supported fields (for element ): email - user's email firstName - first name fullName - full name handle - handle (unique, external) id - internal id of the user language - preferred language lastName - last name name - name netId - network id requireCertificate - requires certificate to login selfRegistered - is user self registered type - type of the object | | - | - | Respective field info | | 200,204,400,500 |
...
Parameter | Description | ||||||
---|---|---|---|---|---|---|---|
topLevelOnly | returns only top level communities | ||||||
idOnly | if true return only the identifiers for the record | ||||||
immediateOnly | return only direct parent community | ||||||
isAuthorized | return only collections user has permission to work on | ||||||
inArchive | return archived items for respective collection | ||||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="65511f0d-fe47-46e8-b4c8-22d16e0decbd"><ac:plain-text-body><![CDATA[ [[details]] | parameters: [[minimum]], [[standard]] or [[extended]] |
Sorting fields:
Info | ||
---|---|---|
| ||
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. |
...