Table of Contents
VuFind Developers Call Minutes: January 22, 2013
Attending: Filipe Bento, Demian Katz, Benjamin Mosior, Sean Purcell, Al Rykhus
1. New/Updated JIRA Tickets
- VUFIND-276 - The VuFind 2.0 version of the feedback module patch has continued to evolve.
- VUFIND-294 - The VuFind 2.0 MySQL database now uses UTF-8 instead of Latin-1 text encoding for more consistent functionality.
- VUFIND-340 - Improved password security has been committed for VuFind 2.x.
- VUFIND-630 - Demian has posted some notes here about a Windows-only bug related to Wikipedia parsing; a workaround has been found, though the ticket is still open since there are several possible long-term resolutions. Eoghan has proposed linking to the ticket from Windows install documentation, external content page, config.ini and/or the 2.x auto-installer.
- VUFIND-631 - Lists now correctly populate the “created” field in the database when inserted (ticket closed).
- VUFIND-643 - More progress has been made on the 2.0 version of the MultiBackend ILS driver.
- VUFIND-659 - Demian has done some further investigation and added comments to this ticket (about problems with time zone inconsistencies when tracking record changes in the database).
- VUFIND-732 - This ticket was spam and has been deleted.
- VUFIND-735 - This is another ticket related to David's search system refactoring.
- VUFIND-737 - This ticket addresses some bugs in VuFind's spelling tokenizer (now fixed in 1.x/2.x code bases).
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:
- PHP copy-and-paste detection (to identify duplicate code)
- Charts of phploc outputs (to measure project growth)
- PHP_Depend data (to measure various software metrics)
- PHPMD (“mess detector” for warning about potentially problematic code)
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.
The next call will be Tuesday, February 5, 2013 at 10am Eastern Standard Time (15:00 GMT).