Make Evergreen Perl modules installable via Module::Build to match OpenSRF Build.PL gives us an install-time check on dependencies; right now the required versions are not set, but we can update these easily to start catching some of the problematic modules that have tripped sites up in the past. Build.PL really seems to want a top-level "OpenILS.pm" so add a placeholder accordingly. Adjust references to /src/perlmods/ to /src/perlmods/lib/ even though a number of the affected scripts are probably cruft. Use autoconf to provide the default paths in O:WWW:Web and O:WWW:Method; next step is probably to teach autoconf to ask Build.PL to do that for us to make the OpenILS Perl modules more independent. git-svn-id: svn://svn.open-ils.org/ILS/trunk@19340 dcc99617-32d9-48b4-a31d-7c20da2025e4
Correct authority browsing for reals First, restore the >= enable before and after ranges in authority_tag_sf_browse(), after I mistakenly removed it in r19131; the second storage request for $after does not stomp on the prior $before results, it simply gets pushed onto the carefully constructed list of $before results, ensuring that our target is in the middle of page 0. Second, we're treating all of the "tag" members in the method registration as list references now (for the purpose of searching against 4xx/5xx in the .refs. variants), but that was blowing up when we registered just a single tag as a string and tried to treat the scalar as a list reference. I could have checked to see if what we had incoming was a reference and dance accordingly, but opted to just define all single-tag entries as single-element arrays instead. Applied the same to startwith. Finally, in r19331 I had used chop() to ensure that an exact match for startwith would be returned as element 1 on page 0, instead of appearing as the last element of page -1. I had said that the right way to do this would be to naco_normalize() the value to match the normalized afr.value, and so this is what I have done. Rather than torturously using O:A:Storage:FTS to get at the naco_normalize() definition, I moved the function into its own Utils package and adjusted its usage accordingly through the affected code. One step closer to single-sourcing the function in the database, as well? git-svn-id: svn://svn.open-ils.org/ILS/trunk@19332 dcc99617-32d9-48b4-a31d-7c20da2025e4
Make authority validation rules match authority ingest rules for better matches This resolves a problem in O:A:Storage:Publisher:authority:validate_tag() where the full NACO normalization rules that are applied to the subfields of the authority records when they are ingested into authority.full_rec are not similarly applied to the incoming subfields of the bib field that is being validated; only diacritic characters in the bib field subfields were being normalized. Now we apply naco_normalize() to the search terms so that they will match the ingested form of the authority record. Addresses https://bugs.launchpad.net/evergreen/+bug/649556 git-svn-id: svn://svn.open-ils.org/ILS/trunk@18076 dcc99617-32d9-48b4-a31d-7c20da2025e4
validate.tag.id_list: Return an empty list instead of 0 in the case of no matching records This makes it a little easier to handle cases where there was no match, rather than having to check to see if we have a scalar or a reference to a list. git-svn-id: svn://svn.open-ils.org/ILS/trunk@16927 dcc99617-32d9-48b4-a31d-7c20da2025e4
Stub script for adding authority control to an existing set of bibs The goal of this script is to iterate over every bib record listed at the command line (or --all) and check every controlled bib field for matching subfield combinations in authority records. This is going to be slow, friends, but for this iteration we're looking at paying a one-time cost; after that, controlled fields will automatically be maintained by triggers on the authority.record_entry tables. The bib field-to-auth field mapping needs to be fleshed out (should be comparable to the mapping in marcedit.js) and floating subdivisions still need to be controlled. Probably in a separate pass over the bibs, given the current "design". We extend open-ils.s*.authority.validate.tag to offer an id_list() variant so that we can get the corresponding authority record ID back from the call, instead of just a count. git-svn-id: svn://svn.open-ils.org/ILS/trunk@16918 dcc99617-32d9-48b4-a31d-7c20da2025e4
identifier search class, including some (I believe) sane default index defs git-svn-id: svn://svn.open-ils.org/ILS/trunk@16448 dcc99617-32d9-48b4-a31d-7c20da2025e4
avoid empty authority search queries git-svn-id: svn://svn.open-ils.org/ILS/trunk@13067 dcc99617-32d9-48b4-a31d-7c20da2025e4
adding default FTS classing to authority searches git-svn-id: svn://svn.open-ils.org/ILS/trunk@6968 dcc99617-32d9-48b4-a31d-7c20da2025e4
adding initial "full tag" authority validation git-svn-id: svn://svn.open-ils.org/ILS/trunk@5138 dcc99617-32d9-48b4-a31d-7c20da2025e4
fixing authority lookup a bit git-svn-id: svn://svn.open-ils.org/ILS/trunk@4741 dcc99617-32d9-48b4-a31d-7c20da2025e4
new, faster authority code git-svn-id: svn://svn.open-ils.org/ILS/trunk@4710 dcc99617-32d9-48b4-a31d-7c20da2025e4
allowing "limit" (and "offset") to be passed into authority marc search and ordering them by rank git-svn-id: svn://svn.open-ils.org/ILS/trunk@2420 dcc99617-32d9-48b4-a31d-7c20da2025e4
checking for all words in subject git-svn-id: svn://svn.open-ils.org/ILS/trunk@2007 dcc99617-32d9-48b4-a31d-7c20da2025e4
adjust authority stuff; separate title and subtitle git-svn-id: svn://svn.open-ils.org/ILS/trunk@2006 dcc99617-32d9-48b4-a31d-7c20da2025e4
adjusting rank and "title" searching git-svn-id: svn://svn.open-ils.org/ILS/trunk@2000 dcc99617-32d9-48b4-a31d-7c20da2025e4
adding open-ils.search support from subject crossreferencing git-svn-id: svn://svn.open-ils.org/ILS/trunk@1996 dcc99617-32d9-48b4-a31d-7c20da2025e4
adding authority see-also and see-from lookup support git-svn-id: svn://svn.open-ils.org/ILS/trunk@1995 dcc99617-32d9-48b4-a31d-7c20da2025e4