Hans van der Weij
Reply to Micah's post dated 2010-07-14:
Outdated information about barcodes is updated in my forked repository. Sorry for converting line breaks from DOS to unix in the same commit. You might think that all text is changed, but thats not true.
There is more, take a look at the other commits to https://bitbucket.org/jgvdweij/obiblio
I did not fix deprecated MySQL (type=) and PHP warnings, I hope someone is working on that.
Changing search and performance testing was an … interesting process. When almost done, I discovered a great resource: http://forge.mysql.com/wiki/Practical_Full-Text_Search_in_MySQL From that I learned that OpenBiblio 0.5.2 - 0.6.x - 0.7.0 won't scale well, and there are several ways how to improve this. Perhaps an inverted index would best fit OpenBiblio, because that would not affect system requirements. (I've done some rough experiments with an inverted index and 20,000 records: queries return results in less than a second. The current search process takes several seconds.)
I think there might be another benefit when using an inverted index: punctuation in MARC records won't be a problem any more.
I think my changes for search will work for libraries using OpenBiblio 0.6.0 etc, because the databases are not large.
Don't include my changes for search in the release if that would delay the release a lot.
I have put up a fork where the deprecated SQL and PHP has been fixed. Look here: https://bitbucket.org/talgdank/obiblio/
Hans van der Weij
Thanks Carl, that was helpful.
InstallQuery.php now supports TYPE and ENGINE, so system requirements remain as they are and OpenBiblio will run on recent MySQL versions.
Deprecated PHP fixed.
For fixing issue 26, 27, 48 I had to change the database version number to 0.7.1
Most open issues are fixed now. Still not ready for release.
Hans van der Weij
Found some new issues and fixed them. Now there are fixes for _all _open issues.
Short list of what has been fixed:
* Backward incompatible changes in MySQL and PHP. Minimum system requirements haven't changed an OpenBiblio should now run fine on MySQL 5.5 and PHP 5.3 (and even PHP 5.4).
* issues introduced in 0.7.0: 45, 46, 50, 51, 54 (Override Due Date and rewritten scripts for Check In and Check Out that use timestamp date calculations)
* issues introduced in older versions: 17, 22, 55, 56.
* Issue 2: allow characters -/._ in barcodes, make barcode validation optional.
* Issue 3
* Issue 42 https://bitbucket.org/mstetson/obiblio/issue/42/author-search-incomplete-results
* Based on the fix for issue 42, other search types have been modified
* New search type: Call Number search (default in barcode lookup)
* New search type: Keyword search (default)
* Bonus: new PDF layouts for labels and member cards
Complete list of changes: https://bitbucket.org/jgvdweij/obiblio/changesets
* Issue 1 is fixed in 1.0-wip, will not be fixed for 0.7 so this is not 100% MARC compatible.
* UTF-8 support is incomplete. Reports system only shows characters that can be translated to single byte. Issue 19 search case sensitive?
* OpenBiblio doesn't scale well. Author search is a bit faster with the fixes for issue 42 and changes for improving query speed. Other search types now return more hits, but are slower than before.
Fundamentally the queries are: select * from table where table.field like '%word%';
queries in this form do not use an index
Still acceptable on very old hardware, with a database of 20.000 imported full MARC records.
See first message on this thread for an idea how to change OpenBiblio to take away the scale problem.
* With the fix for issue 42 BiblioSearchQuery needs many additional changes to keep query speed acceptable.
But on the other hand, compared to 1.0-wip it finds more hits (issue 42 also applies to 1.0-wip, for all search types) and it doesn't use temporary tables.
* OpenBiblio's OPAC works different than experienced users of library catalogs might expect. It might be good that searching for "law" finds "lawyer", but is it good that "sea" finds "research"?
But on the other hand, no one ever complained about this (perhaps using web search engines makes us more tolerant for bad results?). And the catalog is really simple to use for novices.
* Timezone problems: fix 15 is only a temporary workaround
Short guide for testing:
follow install_instructions.html (not updated, but roughly OK)
* Mandatory for upgrading from OpenBiblio 0.6.1 or older versions
* Recommended for upgrading from 0.7.0 (0.7.0 was not an official release, only the source code has been published).
Test suite (automatic testing)
The test suite is not updated to test features introduced in 0.7, but running the tests is possible.
* rename folder obiblio to openbiblio
* browser should allow popups from the URL OpenBiblio is on
* run /openbiblio/tests (deletes all information from the database!)
* (sometimes) reduce Selenium speed slider
* (sometimes) close browser and restart test from the beginning
It might be helpful to read the messages published with the changesets: these say what issue they fix.
Status for the majority of the fixed issues has not been adjusted. Please act on this, when you can confirm or reject a fix.
Tested succesfully on
XAMPP for Linux 149a: Apache 2.0.52, MySQL 4.0.21, PHP 4.3.9
XAMPP for Linux 173a: Apache 2.2.14, MySQL 5.1.41, PHP 5.3.1
EasyPHP 5.4alfa3 on Windows 7: Apache 2.2.19 VC9, MySQL 5.5.13, PHP 5.4.0 alpha3 VC9