Table of Contents
VuFind Developers Call Minutes: February 2, 2016
Attending: Chris Hallberg, Demian Katz, Claas Kazzer, André Lahmann, Jochen Lienhard, Ere Maijala, Brad Patton
1. Development Updates
No developments since last time.
- #566 - merged - Use display labels for MARC linking fields when present.
- #568 - merged - Fix to XCNCIP2 ILS driver.
- #569 - merged - Allow ILS holdings to be grouped by any field (or fields) in the getHolding response.
- #571 - merged - Minor improvement to MultiBackend ILS driver.
- #572 - merged - EDS improvements.
- #574 - merged - Recommendation module to suggest switching tabs.
- #575 - merged - Use POST instead of GET for some AJAX calls to avoid URL length limits.
- #576 - in progress - Refactoring of VuFind's search persistence functionality (memory of most recent sort/limit/view/etc. settings); see below.
- #578 - merged - Improved RSS/OpenSearch standards compliance.
- #581 - merged - Fixes to deduplication listener.
- #582 - in progress - Upgrade to bootstrap slider control; will be reviewed soon.
2. Development Planning
Improved Author Indexing
More translations have been merged to the branch, and Demian has merged the necessary code changes into SolrMarc master and inquired about the next release. This seems likely to be merged to master quite soon (barring a delay in the SolrMarc release process).
Ere requested a comprehensive summary of changes so that indexing tools can be properly updated; Demian will adjust the schema change log soon (if it is not already up to date).
No news since last time.
Demian has updated PR #435 to Solr 5.4.1, which solves the MoreLikeThis problem found in 5.4.0. The branch is once again functional. We still need to investigate outstanding potential performance issues and decide how to address docValues. Recent mailing list discussion (including a thread started today by Günter Hipler, who was unable to attend today's call) suggests that this remains a significant problem.
Work is ongoing on improved (simplified) lightbox functionality in pull request #402. Demian has been doing some work on automated testing of simulated ILS functionality to help exercise relevant code paths.
Chris is also working on eliminating the “two search boxes for responsiveness” approach in order to have just one functioning search box.
Coming soon: a style guide for code/front end of VuFind (also from Chris).
Günter reports that his API project with Markus Maechler is slightly delayed, but he will share more information as it becomes available.
Ere's search API implementation goes live tomorrow. He will think about generalizing this further in the near future (and open a PR for discussion).
Günter suggested reviewing this blog post on Expressive and the Zend Framework blog in general for progress on ZF3 which may impact future VuFind development. We should all take a closer look at this and discuss it in more detail on the next call.
Ere requested a summary of ZF3's current state; Demian mentioned the importance of PSR-7 but needs to do more research himself to have a full understanding of the situation – more next time.
Improved Use of Permissions
Demian has begun working on this. One challenge: how should we handle displaying links to permission-driven functionality when users are not logged in? For example, if only some users are allowed to store favorites, should we, or should we not, display a favorites link to a non-logged-in user? We should determine a pattern/convention for this situation that we can apply across the board, should we decide to make some of these features permission-driven.
Suggestion: use flash messages to display “please log in to see advanced features.”
Ere's comment: “try not to promise too much before the user logs in.” Hard to come up with wording.
Demian's thought: we may need some configuration mechanism for associating permissions with behaviors (i.e. show link, hide link, show flash message, etc.). More thought/discussion needed.
Session Performance Improvement
Demian is working to see if VuFind's session initialization (currently occurring on every request in the bootstrapper) can be made conditional based on needs (by moving the logic into a service manager factory). This requires replacing all ad-hoc use of the \Zend\Session\Container with explicitly dependency-injected instances. This in turn requires significant refactoring, the first part of which is pull request #576, which moves retention of recent user search preferences into the \VuFind\Search\Memory and out of the Options/Params objects.
3. Other Topics?
Ere asked what the next VuFind version number will be. Demian is set on 3.0 at this point (mainly for improved semantic versioning compliance – the main number will increment more quickly from now on, even though the pace of development probably won't accelerate dramatically to match).
The next call will be Tuesday, February 16, 2016 at 9am Eastern Standard Time (14:00 GMT).