Page History
...
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 | ||
---|---|---|
| ||
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 | ||||||
---|---|---|---|---|---|---|---|---|
id | sort results by entity id | | ||||||
name | sort results by entity name | | ||||||
countitems | sort results by number of items contained | | ||||||
lastmodified | sort results by date of last item modification | | ||||||
submitterName | sort results by submitter name | | ||||||
submitterId | sort results by submitter id | |
...
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 |
---|---|---|---|---|---|---|---|---|
| | | Action to be done under community | | - | | | 200, 400, 401, 403, 500 |
| | /communities/{id}/{element} | Update the field | | - | Response code |
| 200, 400, 401, 403, 500 |
| | | Set the logo for community | | - | Response code | binary | 200, 400, 401, 403, 500 |
| | Delete community from the system | | - | Response code | | 200, 400, 401, 403, 500 | |
| | Remove attribute/value | | - | Response code | |
| |
| | Action to be done under collection | | - | Id ow newly created element | | 200, 400, 401, 403, 500 | |
| | Update field | | - | Response code | | 200, 400, 401, 403, 500 | |
| | Delete collection from the system - CANNOT BE DONE DIRECTLY | - | - | Response code | | 200, 400, 401, 403, 500 | |
| | | Remove attribute/value | | | Response code | | 200,400,401,403,500 |
• | | | Set the logo for collection | |
| Response code | binary | 200,400,401,403,500 |
• | | | Action to be done under item | |
| Id of newly created element | | 200,400,401,403,500 |
• | | | Update field | | - | Response code | | 200,400,401,403,500 |
• | | | Delete item from the system | | - | Response code | | 200,400,401,403,500 |
• | | | Delete element/attribute | | - | Response code | | 200,400,401,403,500 |
...
Info | ||
---|---|---|
| ||
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 | | | - | ontains entities selected and sorted in conformance to request parameters. For more details see description of | |
Mandatory parameters
Parameter | Description | Values | Example | ||||||
---|---|---|---|---|---|---|---|---|---|
property | Return entities satisfying requested property relation | Structural properties | | ||||||
rtype | restriction on type - only entity with specifed type(s) would be returned | | | ||||||
| restriction on fields - return only selected fields; by default all fields are returned | id | 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).
...
Panel | |||
---|---|---|---|
Update: Current version includes this update (thanks Peter!). This explanation will be shortly removed. Note: The code for the REST API from the Google Summer of Code 2010 may be out of date with the latest version of dspace. It may help to import the latest stable version of DSpace through the REST-API pom.
|
For both approaches you should have Apache Maven installed. Then proceed using Subversion and check out the code from http://scm.dspace.org/svn/repo/modules/dspace-rest/trunk
1) This way assumes you are running DSpace under Tomcat. Locate {{ Wiki Markup src/main/webapp/WEB-INF/web.xml
}} (under directory you just downloaded DSpace REST API). Find variable named {{dspace-config
}} and alter it to point to current location of {{dspace.cfg
}} file of your DSpace instance. Navigate to the root directory of the REST API and type {{mvn
package
}}. If everything goes well, in {{target
}} directory will be packaged {{dspace-rest-
\[version
\].war
}}. Deploy this file (changing the name to rest.war) to your current Tomcat webapp directory. The application will be available under [ to your current Tomcat webapp directory. The application will be available under http://localhost:8080/rest/|http://localhost:8080/rest/] by by default.
2) You can run REST API under Jetty container. Proceed with the same steps as under #1. Then instead to deploy .war file to Tomcat web server, from the root of REST API source tree issue command mvn jetty:run-war
. This will run REST support under Jetty and the web point will be available at http://localhost:8080/dspace-rest/ by default.
...
If you have an existing instance of DSpace that you are developing, you can connect the rest api module to your existing code base by adding it as a module.
Modify \Modify [dspace-source\]/dspace/pom.xml by adding the path to the checked out rest code. Wiki Markup
Code Block |
---|
--- a/dspace/pom.xml +++ b/dspace/pom.xml @@ -505,6 +505,7 @@ --> <modules> <module>modules</module> + <module>../../../dspace-rest-gsoc10</module> </modules> <build> |
...
6) Add a <profile> to dspace-src/dspace/modules/pom.xml.
7) Rebuild your project.
Possible problems:
- If you have trouble starting the application, check the dspace-config
variable and make sure it points to the location of the dspace.cfg
file. Use absolute addressing (see comment in src/main/webapp/WEB-INF/web.xml).
...
- If you are already running another application on port 8080 try instead to start Jetty container with the following line: mvn jetty:run-war -Djetty.port=9090
for port 9090.
...