Enable marc2sre.pl to run reasonably fast with a large set of bibs
Our previous iteration of marc2sre.pl used an ILIKE stanza
beginning with a wildcard to match system control numbers
without having to specify the institution's MARC code.
This worked, but was painfully slow in large bib sets as
the database needed to use a bitmap index scan to find matches.
By adding a --prefix flag, the user can specify the institutional
MARC code for the set of records and we can use an exact match
against metabib.full_rec.value, which is immeasurably faster.
This is, of course, a problem if there are multiple institutional
MARC codes in use for a given set of bibliographic records.
Improve error handling in marc2sre.pl when bib ID is not found
If we can't find a bibliographic record ID to use in our load, then
skip that MFHD record and move on to the next one. Using the counter
gives sites a chance to identify which record caused the problem.
Aside: bitmap index scans for leading '%' LIKE searches make the
--bibfield / --bibsubfield extremely slow in large datasets. If
at all possible, avoid this path!
Make the bib record lookup in marc2sre.pl more specific
Don't strip the identifier down to a bare integer if we are doing
a lookup of the value in the bib record. Otherwise, identifiers
such as ABC1001 and ABC001 will overlap ('%001' will return both
records).
Overhaul the marc2sre.pl script for importing MFHD records
Add --bibfield / --bibsubfield options to support retrieving the
bib record ID by searching the specified field/subfield for the
identifier, instead of assuming that the identifier =
biblio.record_entry.id. Avoiding the lookup will be much faster, but
some sites want to start clean with their bibliographic record IDs,
so this supports them.
Remove the need for passing in the owning user's password and simply do
a lookup by username in the actor.usr table. This is a bit more secure
as the password isn't exposed on the command line and you can easily set
someone else as the owner of the records without having to know their
password.
Prevent patron search from returning horrible errors on regexian input
Add a utility method, _clean_regex_chars(), to filter common regex
characters out of input values. When these characters are passed to
database SIMILAR searches, strange things (generally ugly errors) can
happen - so filter them out.
Rather than show a suggestion for every word in the
original search phrase, only display suggestions
for words not found in the dictionary. For example,
rather than having a search for "Amesh paradise" return
a suggestion of "Amish paraders", return "Amish paradise"
as the suggestion (assuming the default dictionaries are used).
Order was effectively random otherwise. Use case from at least
one library indicates this change, but doesn't preclude later work
to make the sort order more flexible.
Menu/Toolbar commands can have a perm= attribute added, containing a space-seperated list of permissions.
Without it they stay enabled at all times (or disabled if they are manually disabled in the file).
With it they disable unless the user has at least one permission listed.
In addition, made *all* new or active windows get UI updates when changing operators, including updated menu enable/disable.
Will need a check on the permissions from previous commit, and probably a pile more from those who understand what needs what.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19953 dcc99617-32d9-48b4-a31d-7c20da2025e4
The following entries had multiple menu items with differing labels.
I picked one for each to be the "default" on the command node.
The others were left on the menuitems.
senator [Mon, 4 Apr 2011 16:28:17 +0000 (16:28 +0000)]
Booking: This should a) make booking interfaces behave better when a staff
login session times out and is replaced by use of a re-auth dialog, and b)
wrap booking interfaces in a <browser> element with the attendant
back/forward/reload buttons that most similar interfaces already had.
Patch from Thomas Berezansky to address unneccessary fine generation and avoid unchecked division by zero; details and DCO at https://bugs.launchpad.net/evergreen/+bug/747533
When an extra is chosen, anchor the page on the selected extra for focus
Lots of cleanup to create a consistent system for selecting and
displaying extras
Better search normalization de-duping when 'params' are used
This patch addresses search normalization deduping at two levels. We now verify that both the function and the params are the same before excluding a normalization, both when the normalization is first added to the set and when the SQL is being built (since currently multiple sets may be involved).
berick [Thu, 31 Mar 2011 21:48:47 +0000 (17:48 -0400)]
Fleshed out View MARC / Subjects Tabs
Record detail page has support for showing the 'extras' tabs. Currently
supported tabs are View MARC (html) and extended subject info. For
consistency w/ seed skin, subjects are now only shown in expanded
subjects area.
dbwells [Thu, 31 Mar 2011 18:12:39 +0000 (18:12 +0000)]
Use identifer indexes for older ISxN API methods (LP Bug #728671)
There are three logic layers involved in the older ISxN 'quick searches': the OPAC, the search API, and the storage API. The approach of this patch is to update the search API (which in turn fixes the OPAC), and ignore/deprecate the storage API for these identifiers.
phasefx [Thu, 31 Mar 2011 15:17:19 +0000 (15:17 +0000)]
Logic error trying to merge the date component of one date object with the time component of another. We were trying to use the time object and update it piecemeal, which resulted in non-sensical dates that were forced to wrap. For example, if the date object was to set to March 31, 2011, and we tried .setMonth(3) on it to change it to April, that would result in an April 31st, which doesn't exist, and the date thus moves forward a certain number of days into May.
This affects Check Out, dedicated Renew interface, and the various date picking functions in Items Out and Holds interfaces.
dbs [Wed, 30 Mar 2011 01:42:37 +0000 (01:42 +0000)]
Change label to "Reset Password" and get button out of tab ordering
In a keyboard-intensive patron input workflow, pressing tab should
not place focus on the "Reset Password" button; the password is
automatically generated at dialog creation time. Setting tabIndex
to -1 disables tab focus for the button.
Also, the button has been relabeled to "Reset Password" to be
consistent with the previous button.
dbs [Wed, 30 Mar 2011 01:41:08 +0000 (01:41 +0000)]
Restore the Reset Password button on patron editor
Per LP 488243, the Reset Password button that existed on the old
XUL patron editor was lost in the transition to the new Dojo
patron editor. Jason Stephenson stepped up and offered a patch
to restore the functionality.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@19906 dcc99617-32d9-48b4-a31d-7c20da2025e4
miker [Tue, 29 Mar 2011 15:24:44 +0000 (15:24 +0000)]
Monograph Parts; Unified vol/copy wizard; Call Number affixes; Instant Detail
* Monograph Bibliographic Parts - One MARC record should be able to support
all volumes associated with the title, subdivide records in multiple ways,
and the ability to support holds on individual Parts.
* Unified Volume/Copy Wizard - The ability to enter call number, barcode
number, and all copy information on the same screen. Also, the ability
to include some information associated with the call number, such as
classification scheme, prefix and suffix, in the item template feature
of the Unified Volume/Copy Wizard.
* Call Number Affixes - Delimiting the call number so that the prefix and
suffix reside in separate fields. This prefix and suffix should display
in the OPAC as part of the call number and should also be available for
use in spine labels.
* Instant Detail for One Record Hit List - When searching for records in
the staff client, the ability to immediately land on the bibliographic
record instead of the search results screen when there is only on matching
search result in the system. This enhancement does not change the way
search results are returned in the public catalog.
These features were sponsored by the Massachusetts Library Network Cooperative.
gmc [Tue, 29 Mar 2011 02:06:43 +0000 (02:06 +0000)]
bug 744687: fix multi-field MARC expert search
Fixes bug where a bib that has multiple subfields
meeting one condition of a 2+ field MARC expert
search could end up in the results list even if
it didn't meet the other conditions (currently multi-field
MARC expert searches use implicit 'AND').
dbwells [Mon, 28 Mar 2011 22:43:13 +0000 (22:43 +0000)]
Fix call-number sorting for non-generic sort keys (LP Bug #737819)
Selecting on 'label' but sorting on 'label_sortkey' did not work properly. Instead, we will now find the single best call number we can based on the label given, then both select and sort based on that call number's sort key.
dbwells [Mon, 28 Mar 2011 18:32:46 +0000 (18:32 +0000)]
MARC View print problem workaround (LP Bug #742033)
Certain printers were failing to print from the MARC View in the staff client. Adding a simple title to the view ended up being a successful workaround, and is unlikely to have negative consequences in any case.