[Koha-devel] Move list related code to Koha::Virtualshelves (Dbix::Class inside)

Jonathan Druart jonathan.druart at bugs.koha-community.org
Thu Jul 16 19:51:46 CEST 2015

Hello developers,

For much of the last 2 days, I have tried to get rid of
C4::VirtualShelves::Page, which is, in my opinion, the worst module of
Koha [1]

I am a bit frustrated because I will be afk for the next 2 weeks and I
have not finished what I intended to do. I am still far of removing
this module, but I prepared the ground:
I have added the package Koha::Virtualshelf, Koha::Virtualshelves,
Koha::Virtualshelfshare[s] and Koha::Virtualshelfcontent[s] to take
advantage of Dbix::Class.
I have also introduced a Koha::Exceptions module to throw exceptions
when needed.

Of course I have added tests to cover the changes.

I did not test widely the interface, so there are certainly some bugs.
But for what I tested, it works like as before.
It would be interesting to do some benchmarks also.

I really would like to get feedbacks on these patches. For those
interested in following the evolution of the code and want to share
their idea, have a look :)
Compare both code (before and after), you will understand why we
really need to move/rewrite our code :)

I won't be far from my mailbox, don't hesitate to ask [relevant]
questions and comment the patch set.

Be care, the last patch is a wip ("release early, release often"),
don't apply it if you want to test. You will certainly need to update
the Dbix::Class schema files.
The next steps are: Get rid of GetShelves, GetShelfContents and the
other subroutines of C4::Virtualshelves. Then introduce a normal
structure to the perl script (shelves.pl and opac-shelves.pl). Finally
remove C4::VirtualShelves::Page.


[1] Actually it's not true, there are C4::Context, C4::Auth and
C4::Search before :)

More information about the Koha-devel mailing list