[Koha-devel] Vue improvements/refactorings

David Cook dcook at prosentient.com.au
Wed Feb 22 06:14:32 CET 2023


I think that the number of bug reports and commits is a bit intimidating. Unless there is a compelling reason to the contrary, I think squashing a lot of these commits would be a good idea. 

 

Also, I’m doing a diff on https://gitlab.com/joubu/Koha/-/commits/bug_32991 and the stats are: 76 files changed, 929 insertions(+), 1823 deletions(-). That’s a lot of changes to review. 

 

Looking through the changed files… I’d say targeting changes that affect non-ERM functionality should take highest priority – like Bug 32981 and Bug 32923 – since more people have the skills to work on them. Then maybe all the ERM changes can be tested at 1 time all together, although that’s a bit messy in terms of attaching signed off patches…

 

Looking at the Vue components… I’m not sure what to be looking for from a QA perspective, since we don’t have any rules around Vue.js specifically. For Javascript related things, things look OK in the couple of *.vue files I’ve reviewed, but I’d need to double-check them to know for sure. 

 

Looking through Breadcrumb.vue and Main.vue, I’d probably do things a bit differently for readability and generalizability/reusability. I don’t know if that should be a blocker or not at this stage though…

 

Personally, I don’t have any investment in the ERM work, but I’m very interested in the Vue.js work. I’d love to make sure we’re creating a design that maximizes reusability and eases maintenance. 

 

My koha-testing-docker is broken at the moment, so I’ll look at fixing that up, and then I’ll try to look at this more.

 

I am willing to help, although my schedule is fairly full too. I’m trying to do more Vue.js on other projects, so hopefully I can bring that experience back to Koha and help more…

 

David Cook

Senior Software Engineer

Prosentient Systems

Suite 7.03

6a Glen St

Milsons Point NSW 2061

Australia

 

Office: 02 9212 0899

Online: 02 8005 0595

 

From: Koha-devel <koha-devel-bounces at lists.koha-community.org> On Behalf Of Jonathan Druart
Sent: Wednesday, 22 February 2023 1:57 AM
To: koha-devel <koha-devel at lists.koha-community.org>
Subject: Re: [Koha-devel] Vue improvements/refactorings

 

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 at bugs.koha-community.org <mailto:jonathan.druart at 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:

 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32898> Bug 32898 - Cypress tests are failing

 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32923> Bug 32923 - x-koha-embed must a header of collectionFormat csv 

 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32806> Bug 32806 - Some Vue files need to be moved for better reusability 

 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32939> Bug 32939 - Have generic fetch functions in vue modules

 <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32925> Bug 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20230222/06cd3588/attachment-0001.htm>


More information about the Koha-devel mailing list