Table of Contents

VuFind Developers Call Minutes: January 22, 2013

Attending: Filipe Bento, Demian Katz, Benjamin Mosior, Sean Purcell, Al Rykhus

Agenda

1. New/Updated JIRA Tickets

2. VuFind 1.4 Update

The release is still on schedule for next week – just waiting on some language files and possibly a SolrMarc upgrade.

3. VuFind 2.0 Update

Some improvements have been made to continuous integration for better coverage of the multiple modules that make up VuFind 2.0 (previously only the main VuFind glue module was being covered).

Demian has updated wiki links in the code in an effort to make the auto-generated documentation slightly more accurate. There's still room for improvement in documentation tagging and linking, but at least 2.x code should no longer be pointing to 1.x docs.

As mentioned on the previous call, the module.config.php file has been rearranged to get VuFind-specific settings out of the global configuration namespace.

As noted in JIRA tickets above, password security improvements have been committed (with significant help from Kyle McGrogan).

As noted above, VUFIND-294 has been resolved, so the MySQL database is now UTF-8 encoded.

4. Continuous Integration

Demian has upgraded the Jenkins continuous integration server to the latest version; this does not seem to have caused any problems.

The VuFind 2 job has been enhanced with some new features:

All of this will make builds take a bit longer, but it will provide a lot more information within Jenkins and should help us further improve the code.

If anyone wants to work on reducing some of the warnings and problems currently showing, feel free to submit pull requests/patches to Demian. In at least some cases, warnings can be safely ignored (i.e. base class for ILS drivers has many children) and the fix is simply to add an appropriate annotation to the code.

Demian has disabled Sonar on the VuFind 1.x continuous integration process – it was taking up significant server resources but was never being used for anything; the new 2.x process does not require Sonar.

Also in the interest of freeing up more resources for continuous integration, Demian has also turned off the “demo_trunk” instance at vufind.org, as this was outdated and no longer necessary.

5. Linked Data

No major developments this week, though Filipe shared some new open-data URLs he recently discovered:

6. Other Topics?

Al is working on a problem with his AlphaBrowse customizations: user input needs to be normalized to match the indexed data so that when a user types a search to jump to a particular position in the browse list, they actually go to the correct position. Al will try to solve this through custom PHP normalization routines (though it would be nice to have a way to use the same Java routines for indexing and searching, similar to Solr analysis chains… but this may be less practical at present).

Sean asked about entry points to learning the 2.0 code – Demian will try to write some blog posts about unit testing to make that option more viable. He also suggested looking at the new PHPMD results in Jenkins – investigating possible problem areas in the code might be a good way to dive in and begin learning about it.

There was also some discussion about VuFind's compliance with Zend Framework 2 conventions/standards; Demian has tried to follow existing practices (with the exception of the theme system, which is intentionally different). However, it is very possible that some details have been missed – feel free to share any concerns when reviewing the code.

Filipe also talked about the Solr DataImportHandler, which offers capabilities for populating the Solr index using external data sources (including RSS feeds). There was some discussion of the fact that indexing an RSS feed directly could make rebuilding the index difficult – some archival process (or possibly use of Google Reader's existing archive/API) may be necessary in parallel with indexing to capture the data necessary to rebuild.

Next Call

The next call will be Tuesday, February 5, 2013 at 10am Eastern Standard Time (15:00 GMT).