DSpace 5 REST API - supports authentication and CRUD

172 views
Skip to first unread message

Peter Dietz

unread,
Oct 20, 2014, 12:43:01 PM10/20/14
to dspac...@googlegroups.com
Hi All,

I just wanted to share an update that we have merged the Pull Request https://github.com/DSpace/DSpace/pull/666 that provides CRUD to the DSpace REST API to DSpace 5.

This was developed by Czech Technical University developers in Prague Czech Republic. The story of this PR traces back to OR2014 in Helsinki, where Ivan mentioned to me that an institution had modified the read-only Jersey API to support authentication and CRUD. We talked, and they were using REST API to sync institutional organization changes to their DSpace instance. They also had to support a complicated workflow, where students had to submit their thesis to DSpace or the grading system (can't remember), and then the thesis review board would grade each thesis, assign the score to the grading system, and then once approved the thesis would become publicly available on DSpace. They had build integration between the central university system and DSpace to more-or-less automate this. So, they sent a zipped archive of their code to Ivan and I, then, we got them to produce a formal PR with this. 

I've been reviewing and suggesting improvements to it since. I've customized my dspace-rest-play (Play! framework) app to use this API. And I've got a screencast of a client webapp that can login, and create a new community. I don't hard code auth-keys into this app. The end user logs in with their eperson credentials (username/password), and then it authenticates, and future requests use this rest-token. We could perhaps standardize/improve this authentication with something more along the lines of jersey / rest api best practices, but I think this is sufficient. Also, the CRUD endpoints are added in a jersey-style and follow the existing feel of the read-only endpoints.

I'm also looking at the other PR's to REST, and how they'll need to be modified within given the overhaul to the REST API.
Search (which also means pagination context) -- #556
View Statistics -- #557

If Volkswagen can say Drivers Wanted, then I say Developers Wanted. Enhance CRUD REST, and build client integrations.
Reply all
Reply to author
Forward
0 new messages