Bug 13852

Summary: Manage C4::VirtualShelves in C4::Auth for performance
Product: Koha Reporter: Fridolin Somers <fridolin.somers>
Component: Architecture, internals, and plumbingAssignee: Fridolin Somers <fridolin.somers>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: jonathan.druart, tomascohen
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: Trivial patch
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Bug Depends on:    
Bug Blocks: 7923, 13998    
Attachments: Bug 13852 - Manage C4::VirtualShelves in C4::Auth for performance
Bug 13852 - Manage C4::VirtualShelves in C4::Auth for performance
[PASSED QA] Bug 13852 - Manage C4::VirtualShelves in C4::Auth for performance

Description Fridolin Somers 2015-03-17 13:49:08 UTC
In C4::Auth there is a use C4::VirtualShelves.
Virtualshelves are displayed in all OPAC pages, but not in intranet.
For performance, we should move this into a require only for opac pages.
Comment 1 Fridolin Somers 2015-03-17 14:24:18 UTC Comment hidden (obsolete)
Comment 2 Marcel de Rooy 2015-03-19 10:19:16 UTC Comment hidden (obsolete)
Comment 3 Kyle M Hall 2015-03-27 13:01:46 UTC
Created attachment 37315 [details] [review]
[PASSED QA] Bug 13852 - Manage C4::VirtualShelves in C4::Auth for performance

In C4::Auth there is a use C4::VirtualShelves.
Virtualshelves are displayed in all OPAC pages, but not in intranet.
For performance, we should move this into a require only for opac pages.

This patch adds a condition to fetch virtualshelves only if opac and moves the dependancy on C4::VirtualShelves into require calls.

On my desktop, I have those compilation times for C4/Auth.pm :
- Without patch : 0,41 seconds
- With patch : 0,22 seconds

This performance improvement is very usefull for pages that only use a few as dependancy, like errors/404.pl

Test plan :
- Be sure there are some public lists
- Apply patch
- Go to opac (not logged-in)
- Click on "Lists"
- Check you see the public lists
- Login with a user
- Be sure this user has some private lists
- Click on "Lists"
- Check you see the public and private lists
- Logout
- Go to /cgi-bin/koha/opac-reserve.pl
- You see the loggin page
- Click on "Lists"
- Check you see the public lists
- Go to intranet
- Check you can loggin

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Comment 4 Tomás Cohen Arazi 2015-03-31 17:19:53 UTC
Patch pushed to master.

Thanks (for the Pastis) Frido!
Comment 5 Jonathan Druart 2015-04-15 11:24:33 UTC
Ok, found you!
This is crazy but... this patch breaks opac-ratings-ajax.pl, see bug 13998