Description
Michal Denar
2016-06-03 18:56:00 UTC
This bug is just omnibus. We would like to base our new Koha driver for VuFind on RESTful API and to rewrite driver for xcnciptoolkit using this API too. These drivers has many functions so we need the API to be heavily extended. The extensions we need for xcncip2toolkit: Authenticate user's credentials - can this be done using API? Retrieve user's personal information (bug #16330 - Signed off at the moment) - email, firstname, lastname, middlename, street, city & distinction between employee/reader for providing the user's identity to a simpleSAMLphp xcncip2 module (https://github.com/moravianlibrary/SimpleSAMLphp-modules/tree/master/modules/xcncip2) & for showing the profile in VuFind - also user's blocks and traps (called debarred in Koha) would be useful Retrieve, create & cancel user's holds (bug #13903 - Pushed to master) - within the retrieval we need the hold queue length for each hold Retrieve & renew user's checkouts/issues (bug #13895 - Failed QA) - we need to include the renewability to prevent user from being denied while trying to renew Retrieve user's checkouts history with pagination support (no bug yet) Retrieval of user's accounlines (bug #15165 - In discussion) Retrieve items & biblios - especially availability & current location - it also would be nice to include the requestability to currently logged in user in VuFind somehow to prevent user from being denied while trying to borrow Created attachment 53866 [details] [review] Bug 16652: RestfulAPI supporting services for Vufind and for xnciptoolkit drivers What this patch does is it takes current state of the following bugs: bug 13903 bug 16330 bug 13895 bug 16497 bug 16825 bug 17007 bug 16826 bug 15165 bug 17005 And rebases them on master altogether on each other fixing the merge conflicts. Using this patch it can be easily tried out the currently implemented functionality of REST API (even though in development for now) by running 'git bz apply 16652' after installing Koha's git-bz as decribed here: https://wiki.koha-community.org/wiki/Git_bz_configuration Also, the project xcncip2toolkit from eXtensibleCatalog has currently it's Koha connector implemented with respect to current state of these included bugs. See https://github.com/eXtensibleCatalog/xcncip2toolkit/blob/master/connectors/koha If you wish to try the full end-to-end functionality of this, you can run docker to install the xcncip2toolkit for you: https://github.com/eXtensibleCatalog/xcncip2toolkit/tree/master/dockerfile Created attachment 53942 [details] [review] Bug 16652: RestfulAPI supporting services for Vufind and for xnciptoolkit drivers What this patch does is it takes current state of the following bugs: bug 13903 bug 16330 bug 13895 bug 16497 bug 16825 bug 17007 bug 16826 bug 15165 bug 17005 And rebases them on master altogether on each other fixing the merge conflicts. Using this patch it can be easily tried out the currently implemented functionality of REST API (even though in development for now) by running 'git bz apply 16652' after installing Koha's git-bz as decribed here: https://wiki.koha-community.org/wiki/Git_bz_configuration Also, the project xcncip2toolkit from eXtensibleCatalog has currently it's Koha connector implemented with respect to current state of these included bugs. See https://github.com/eXtensibleCatalog/xcncip2toolkit/blob/master/connectors/koha If you wish to try the full end-to-end functionality of this, you can run docker to install the xcncip2toolkit for you: https://github.com/eXtensibleCatalog/xcncip2toolkit/tree/master/dockerfile This patch should be easier to apply than the previous. Created attachment 53943 [details] [review] Bug 16652: RestfulAPI supporting services for Vufind and for xnciptoolkit drivers Actualized included bugs. A little advertisement if you don't mind... I recommend checking out Bug 16212, Bug 16699 and Bug 14868 because they make Swagger more maintainable as new operations are introduced, fix problems with our spec being actually valid against Swagger schema and also enable our spec to be used with Swagger-UI (which is awesome), and introduce required permissions for an operation directly in Swagger instead of having them (hidden) inside controllers. If possible it would be nice to have sign-offs for them ASAP because as API grows larger, it will be more and more annoying to rebase those 3 bugs on master. Thank you! We have also rebased these bugs on top of master, see our API in our test server at http://renki.pohjoiskarjala.net/api/v1/doc with Swagger-UI. Created attachment 55642 [details] [review] Bug 16652: RestfulAPI supporting services for Vufind and for xnciptoolkit drivers Fixed checkout endpoint for null itemnumbers & renamed "borrowers" tags to "patrons" Note that this patch is about to be used with the current Koha stable version, which has not implemented Bug 16202, Bug 16699 and Bug 14868 just yet. We want to be capable of patching the stable so that it can contain all the services needed with basically zero-effort. Lari: I hope those patches are going to be backported to current stable soon so that we don't have to do this hassle. And, the Swagger-UI is quite awesome! :) Created attachment 55647 [details] [review] Bug 16652: RestfulAPI supporting services for Vufind and for xnciptoolkit drivers Added auth endpoint Note that this patch is about to be used with the current Koha stable version, which has not implemented Bug 16202, Bug 16699 and Bug 14868 just yet. Current depends: 13895 13903 13927 14868 15165 16202 16699 16330 16497 16825 16826 17003 17004 17005 17006 17007 Updated dependecies Created attachment 55651 [details] [review] Bug 16652: RestfulAPI supporting services for Vufind and for xnciptoolkit drivers Added renewability endpoint Note that this patch is about to be used with the current Koha stable version, which has not implemented Bug 16202, Bug 16699 and Bug 14868 just yet. Created attachment 55652 [details] [review] Bug 16652: RestfulAPI supporting services for Vufind and for xnciptoolkit drivers Fixed availability endpoint Note that this patch is about to be used with the current Koha stable version, which has not implemented Bug 16202, Bug 16699 and Bug 14868 just yet. We also want to have the API for manipulating suggestions implemented, so I've included Bug 17314 to dependecies. I'd like to mention that having such a big patch won't help this work get into master. You need to split it into several smaller units, that can be tested on their own, and have precise instructions so you find people willing to sign this work. (In reply to Tomás Cohen Arazi from comment #14) > I'd like to mention that having such a big patch won't help this work get > into master. You need to split it into several smaller units, that can be > tested on their own, and have precise instructions so you find people > willing to sign this work. Yes, I know that. All those patches actually exists already - those are the dependency bugs. This is just omnibus which should not have an implementation on it's own. The purpose of the only one attachment here is to easily perform one patch on a stable version of Koha in order to implement all the dependency patches at once. We do that because the bugs are changing their structure due to changes in swagger implementation but we still want those bugs to function on stable version of Koha (currently 16.05.x) as there probably won't be backported the newest swagger implementation Hi, I tried finding it, but is there going to be routes for Course Reserves? For example something that would return the courses, the instructors, and departments? And then something that would find the items that belong to each of the above? Thanks! (In reply to Tom Misilo from comment #16) > Hi, I tried finding it, but is there going to be routes for Course Reserves? > > For example something that would return the courses, the instructors, and > departments? And then something that would find the items that belong to > each of the above? > > Thanks! You should add an entry (or set of entries) on the RFCs page: https://wiki.koha-community.org/wiki/REST_api_RFCs And then ask people to comment or do their counter proposals for an eventual vote on a dev meeting. I'll try to keep an eye on it, keep me informed. This patch is abandoned, rest api in Koha is moving forward and such an omnibus patch does not makes sense anymore. |