Project
(→RDF representation) |
(→Example in RDF/XML format) |
||
Line 139: | Line 139: | ||
</rdf:RDF> | </rdf:RDF> | ||
</pre> | </pre> | ||
+ | |||
+ | = Security = | ||
+ | |||
+ | ==== Only a logged in user is allowed to modify content under its URI /user/{id} ==== | ||
+ | |||
+ | User and author information can be retrieved by members of groups scrtox,hemibio,notox,cosmos,toxbank,detective,sep. | ||
+ | |||
+ | The policies can be browsed | ||
+ | [https://services.toxbank.net/toxbank/admin/policy?search=https%3A%2F%2Fservices.toxbank.net%2Ftoxbank%2Fuser here]. | ||
+ | |||
+ | ==== Only an admin user allowed to create new users at /user ==== | ||
+ | |||
+ | == Registered users== | ||
+ | Should have URI in Toxbank system, and assigned LDAP username. LDAP/OpenAM backend to be synced with the User service. | ||
+ | |||
+ | == Non-registered users== | ||
+ | Could have an user URI in Toxbank system, but not LDAP username |
Revision as of 11:13, 5 February 2013
Project |
---|
A project is a REST resource,representing projects from SEURAT cluster, or external projects. A project is identified by its URI,
has a name and may be assigned an LDAP group. The LDAP group should be one of the existing ToxBank LDAP groups and accessible via ToxBank OpenAM. External projects may or may not be assigned an LDAP group.
A Protocol is always associated with a project,and the protocol representation includes a link to a Project.
Contents |
REST Operations
GET: Retrieve all projects
Description | Retrieves available projects |
---|---|
Resource | Project |
Method | GET |
URI | /project |
Parameters | none, or ?search=prefix_name or paging parameters: page, pagesize |
Header Parameters | subjectid:SECURITY-TOKEN |
Media Type (input) | none |
Results | The project representation in supported media type |
Media Type (output) | application/rdf+xml;text/n3;text/uri-list |
Status code | 200,400,401,402,403 |
Example: http://toxbanktest1.opentox.org:8080/toxbank/project
cURL example
curl -X GET -H 'Accept:text/uri-list' -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project
curl -X GET -H 'Accept:application/rdf+xml' -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project?search=Tox
curl -X GET -H 'Accept:text/uri-list' -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project?page=0&pagesize=5
GET: Retrieve a single project
Description | Retrieves a single project |
---|---|
Resource | Project |
Method | GET |
URI | /project/{id} |
Parameters | none |
Header Parameters | subjectid:SECURITY-TOKEN |
Media Type (input) | none |
Results | The project representation in supported media type |
Media Type (output) | application/rdf+xml;text/n3;text/uri-list |
Status code | 200,400,401,402,403 |
Example: http://toxbanktest1.opentox.org:8080/toxbank/project/G1
cURL example
curl -X GET -H 'Accept:application/rdf+xml' -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project/G1
POST: Create a project
Description | Creates a project |
---|---|
Resource | Project |
Method | POST |
URI | /project |
Parameters | Any combination of name,ldapgroup |
Header Parameters | subjectid:SECURITY-TOKEN |
Media Type (input) | application/x-www-form-urlencoded |
Results | Task representation in supported MIME formats |
Media Type (output) | application/rdf+xml;text/n3;text/uri-list |
Status code | 200,202,400,401,402,403,500 |
Example: http://toxbanktest1.opentox.org:8080/toxbank/project
cURL example
curl -X POST -H 'subjectid:TOKEN' -H 'Content-Type:application/x-www-form-urlencoded' \ -d 'title=MANDATORY_VALUE' -d 'ldapgroup=OPTIONAL_VALUE' http://toxbanktest1.opentox.org:8080/toxbank/project
PUT: Update a project
Description | Updates the project metadata |
---|---|
Resource | Project |
Method | PUT |
URI | /project/{id} |
Parameters | Any combination of name,ldapgroup |
Header Parameters | subjectid:SECURITY-TOKEN |
Media Type (input) | application/x-www-form-urlencoded |
Results | Task representation in supported MIME formats |
Media Type (output) | application/rdf+xml;text/n3;text/uri-list |
Status code | 200,202,400,401,402,403,500 |
cURL example
curl -X PUT -H 'subjectid:TOKEN' -H 'Content-Type:application/x-www-form-urlencoded' \ -d 'title=MANDATORY_VALUE' -d 'ldapgroup=OPTIONAL_VALUE' http://toxbanktest1.opentox.org:8080/toxbank/project/G3
DELETE: Delete a project
Description | Removes an existing project |
---|---|
Resource | Project |
Method | DELETE |
URI | /project/{id} |
Parameters | none |
Header Parameters | subjectid:SECURITY-TOKEN |
Media Type (input) | none |
Results | Task representation in supported MIME formats |
Media Type (output) | application/rdf+xml;text/n3;text/uri-list |
Status code | 200,202,400,401,402,403,500 |
cURL example
curl -X DELETE -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project/G3
RDF representation
Stable version
This RDF representation is automatically generated by the production version of the Toxbank Java client library
Alpha test version
This RDF representation is automatically generated by the alpha test version of the Toxbank Java client library
Development version
This RDF representation is automatically generated by the latest version of the Toxbank Java client library
Example in RDF/XML format
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY tb 'http://onto.toxbank.net/api/'> <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'> <!ENTITY tbo 'http://toxbanktest1.opentox.org:8080/toxbank/organisation/'> <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY tbpt 'http://toxbanktest1.opentox.org:8080/toxbank/project/'> <!ENTITY dcterms 'http://purl.org/dc/terms/'>]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:tbo="&tbo;" xmlns:dcterms="&dcterms;" xmlns:xsd="&xsd;" xmlns:tbpt="&tbpt;" xmlns:tb="&tb;"> <tb:Project rdf:about="&tbpt;G2"> <tb:subOrganisationOf rdf:resource="SEURAT-1"/> <tb:hasAccount rdf:datatype="&xsd;string">toxbank</tb:hasAccount> <dcterms:title rdf:datatype="&xsd;string">ToxBank</dcterms:title> </tb:Project> </rdf:RDF>
Security
Only a logged in user is allowed to modify content under its URI /user/{id}
User and author information can be retrieved by members of groups scrtox,hemibio,notox,cosmos,toxbank,detective,sep.
The policies can be browsed here.
Only an admin user allowed to create new users at /user
Registered users
Should have URI in Toxbank system, and assigned LDAP username. LDAP/OpenAM backend to be synced with the User service.
Non-registered users
Could have an user URI in Toxbank system, but not LDAP username