A quick update. There are several bug reports, and the tree is at https://gitlab.com/joubu/Koha/-/commits/bug_32991 It's ~40 commits on top of master, a lot of architecture changes in the erm/vue files. It would be great to have them pushed ASAP, they are blocking other works. Most important is that people will read, learn and copy the code that is in master, which will be obsolete (and generate conflicts) one this tree will be pushed. How can we coordinate to make it move forward? Who is willing to help here? Cheers, Jonathan Le mer. 15 févr. 2023 à 14:09, Jonathan Druart < jonathan.druart@bugs.koha-community.org> a écrit :
Hi,
Pedro and I have been working on improving the way we request the Koha REST API from Vue components. We ended up with the implementation that is available on the following remote branch: https://gitlab.com/joubu/Koha/-/commits/bug_32925
It contains the patches from the following bug reports: *Bug 32898* <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32898> - Cypress tests are failing *Bug 32923* <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32923> - x-koha-embed must a header of collectionFormat csv *Bug 32806* <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32806> - Some Vue files need to be moved for better reusability *Bug 32939* <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32939> - Have generic fetch functions in vue modules *Bug 32925* <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32925> - Display loading info when a form is submitted
First, make the tests pass (32898)! We forgot to include the cypress test in the jenkins pipeline and we missed regressions! There have been regressions on the REST API specs, that are fixed on 32923. We noticed that the code we provided for the ERM module was not flexible enough and too ERM oriented. Some directories have been moved and code split a bit to make it more reusable for other modules (32806). Finally there are 32939 that introduce generic fetch functions, to have all the error handling (catch exceptions and display the error on the UI) in a single place. On top of that we added a "loading" message when a form (POST/PUT/DELETE) is submitted and, thanks to the previous moves, it's only a couple of lines of code!
All this must be considered a base for future Vue enhancements, and I would like people interested in the Vue work to have a look at it.
Cheers, Jonathan