Table of Contents

VuFind Developers Call Minutes: February 17, 2015

Attending: Filipe Bento, Chris Delis, Judy Drescher, Guenter Hipler, John Jung, Demian Katz, Jochen Lienhard, Tod Olson

Agenda

1. Development Updates

JIRA Tickets

Pull Requests

PHP 5.4 Requirement

The master branch has been updated to require PHP 5.4. Some code has been refactored to use traits to reduce redundancy.

PHP CodeSniffer Upgrade

The continuous integration server has been upgraded to the latest release (2.2) of PHP_CodeSniffer, which adds a few new rules related to doc comments and fixes a bug related to pass-by-reference variables.

php-cs-fixer in Jenkins

The php-cs-fixer tool has been used to normalize some inconsistent style in master; Jenkins is now monitoring changes and will fail the build if any new styles are violated. If a problem is introduced, a Phing task (“php-cs-fixer”) can be run to automatically fix styles.

2. Development Planning

Call Number Normalization

Tod has made some more fixes to SolrMarc. Tod and Demian will talk outside of the call to come up with a plan for what belongs in the VuFindIndexer; once that is sorted out, another SolrMarc release can be minted. Tod is thinking about the possible use case for call number prefix trimming, but no real life use has appeared yet.

Code Generators

Demian has made some progress on VUFIND-1035 by building a command line code generator to automate the process of overriding a core VuFind service or plugin. The generator automatically creates an appropriate subclass in a custom module and updates the module's configuration.

This gave Demian the idea of moving the current dynamic route generation found in module.config.php into a code generator and then regenerating VuFind's default configuration as a static file. This will make the route generation logic more reusable and will also simplify the configuration loading process. Demian will build a pull request to demonstrate this idea.

New Array Formatting

PHP 5.4 allows a shorter array syntax, so you can use brackets in place of the array() keyword. The php-cs-fixer tool can automatically update all of our code to use the new syntax. Do we want to make the change?

Unanimous “yes” on converting to new format.

Solr Upgrade?

VuFind is currently using Solr 4.2.1 by default, which is rather old. Demian has reviewed release notes for all versions up to 4.10.3 and sees no major causes for concern, though several adjustments to solr.xml validation may catch errors unnoticed in previous releases (upgrading is the only way to find out). We also need to review SolrMarc compatibility. Also of note: Solr 5 is under development and seems to deploy differently than previous versions (it is now its own service, rather than a .war file).

Demian will work on a 4.10.3 branch in the near future, then work with Tod and Bob Haschart to investigate any SolrMarc compatibility issues that may arise. Guenter reports running 4.10.3 with VuFind successfully, so hopefully no large problems will come up.

2.4 Release Goals

Now that the PHP 5.4 requirement has been introduced, we should take inventory of what work remains before we can issue a 2.4 release.

Key dependencies:

  1. Updated SolrMarc
  2. Completion of Karen Coombs' projects

Possible release goal: late March.

3. Other Topics?

Demian has once again been contacted by somebody looking for a VuFind developer; if anyone knows somebody looking for work in this area, please let him know.

Next Call

The next call will be Tuesday, March 3, 2015 at 10am Eastern Standard Time (15:00 GMT).