dbs [Thu, 5 May 2011 18:40:18 +0000 (18:40 +0000)]
Use valid JSON in Dojo i18n for Searcher.js
Dojo i18n processing scripts require valid JSON (quoted keys in hashes),
even though Dojo itself is more relaxed and accepts unquoted keys. So,
do the i18n dance here.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20438 dcc99617-32d9-48b4-a31d-7c20da2025e4
senator [Thu, 5 May 2011 16:44:23 +0000 (16:44 +0000)]
Patch from Niles Ingalls to make patron phone number searching more matchy.
With assistance from Mike Rylander on pointing out the needed indexes to keep
search fast, and from Mike Peters on arranging a last minute DCO :-)
Type numbers into a patron phone number field and get a match regardless of
the punctuation actually used in the database.
senator [Thu, 5 May 2011 15:43:09 +0000 (15:43 +0000)]
Add a feature authored by Joscha Filius for the International Institue of
Social History: a diacritical palette for the MARC editor!
Afelonne Doek of IISH wants the community to benefit from this code. To try
it out, press control S in the marc editor (reguarly non-flat-text view).
You can insert the characters you see, and you can right click on entries in
your palette to customize. Customizations /should/ persist through staff client
restart (untested by me so far).
This should make cataloging in multiple (Western-ish) languages at once easier.
Below I copy and paste some of Joscha's message to the list where he introduced
this code:
> *Bugs:*
> A known bug is that is you switch marc edit styles back and forth the
> listener trigger won't work anymore. Also for a far as I know there is at
> least another bug concerning layout which is as far as I know not the result
> of my doing.
>
> *Here comes a possibly nasty part*, to ensure that the diacriticals remain
> intact throughout the persist I've changed global_util.js to URL encode and
> URL decode all stored values. This might cause backwards incompatibility
> with values that are already stored for other purposes without encoding.
> This needs to be checked.
dbs [Thu, 5 May 2011 04:40:28 +0000 (04:40 +0000)]
Remove redundant plpgsql install step from README
PostgreSQL 9.0 includes plpgsql by default, and running the
createlang plpgsql step throws an error that could concern
the installer. Drop the step from the README.
Signed-off-by: Dan Scott <dan@coffeecode.net>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20424 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Wed, 4 May 2011 04:43:48 +0000 (04:43 +0000)]
Change an ERROR to a DEBUG log message in mod_idlchunk
Reported by James Fournie at Sitka, this message was logged
as an error when it is simply a debug message; we drop the
level accordingly so that it will not appear in the Apache
logs during the normal course of operations.
Signed-off-by: Dan Scott <dan@coffeecode.net>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20398 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Wed, 4 May 2011 03:47:19 +0000 (03:47 +0000)]
Prevent uninitialized var warnings in OpenILS::WWW::SuperCat::unapi
Given a tag URI like tag:localhost,2011:biblio-record_entry/1 with
no format, Evergreen was throwing uninitialized variable warnings
and attempting to invoke "open-ils.supercat..formats" due to the
unitialized $type variable, which resulted in an Apache error.
On the TT OPAC, this enables Zotero to successfully offer import
of all entries on the search results page. On the AjaxPAC, it seems
that Zotero parses the page before the unAPI hrefs have been supplied
by JavaScript.
Signed-off-by: Dan Scott <dan@coffeecode.net>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20391 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Tue, 3 May 2011 16:32:52 +0000 (16:32 +0000)]
Avoid data loss by setting MARC::Charset->assume_unicode(1)
When using MARC::File::XML, MARC::Charset is used to perform character
conversions; however, MARC::File::XML does not tell MARC::Charset that it is
handling Unicode data. If we do not tell MARC::Charset that it is handling
Unicode data, it can return an error which results in the loss of data
(typically a subfield containing one or more characters which MARC::Charset
does not have an equivalent mapping outside of Unicode).
This problem could be reproduced in authority_control_fields.pl with a
subfield like "von Hans-Christian Müơller" - when this subfield was encountered
without assume_unicode(1), a null string was returned for that subfield, and
if the record was written back to the database due to an authority match being
found in a different field, the only recourse was to restore the record from
auditor.biblio_record_entry_history. The same sort of problems could occur
for any other script or function that modifies the data being handed to it
using MARC::File::XML and BinaryEncoding => UTF8.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20386 dcc99617-32d9-48b4-a31d-7c20da2025e4
miker [Tue, 3 May 2011 14:57:50 +0000 (14:57 +0000)]
Patch from Jason Stephenson ( LP#770261, https://bugs.launchpad.net/evergreen/+bug/770261 ) adding support for bibliographic level inspection in the hold and circ matrix matchpoint tests.
dbwells [Mon, 2 May 2011 21:00:18 +0000 (21:00 +0000)]
Add support for sre/distribution summary methods (including merge), advanced receiving, and unit-less receiving in the serial control items tab
This commit includes three new minor features for the Serial Control interface. First, you are now able to set the latent 'summary_method' field on distributions, with the most significant new setting being 'merge with sre'. This setting effectively combines the sre marc with the generated holdings to form a single unified statement. Second, the previous 'receive' functionality has been renamed to 'advanced receive', and 'receive' will now show items from an entire subscription, but not allow you to receive directly into a specific unit (you can still receive into new/auto units). Third, a basic menu entry has been added for receving into 'no unit', allowing items to be received not forcing them to be unitized.
phasefx [Mon, 2 May 2011 15:05:10 +0000 (15:05 +0000)]
flesh stat_cat_entries in the call number tree method used by Holdings Maintenance, since those copies get shoved into the copy editor and we want stat cat entries to show up there
phasefx [Mon, 2 May 2011 14:06:19 +0000 (14:06 +0000)]
Fix bug and typo in stat cat editor
Specifically, disabling the ability to select a stat cat type on no permissions on current type.
If you don't have permissions on ASSET you could never get to ACTOR.
If you picked ACTOR without rights you couldn't get back to ASSET.
Also, re-enable the library selector and new buttons when you do change to one you can add for.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20372 dcc99617-32d9-48b4-a31d-7c20da2025e4
phasefx [Mon, 2 May 2011 13:21:10 +0000 (13:21 +0000)]
fix "undefined is in transit"
https://bugs.launchpad.net/evergreen/+bug/773528
---
Fix bug squashing of params in checkin_via_barcode2 in circ/util.js.
Author: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20369 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Sun, 1 May 2011 12:12:48 +0000 (12:12 +0000)]
Slight optimization for authority_control_fields.pl
Instead of creating two CStoreEditors per bib record, reuse the global
CStoreEditor for read operations; this way we only have to create a new
CStoreEditor if a record has fields to authorize.
Signed-off-by: Dan Scott <dan@coffeecode.net>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20357 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Sun, 1 May 2011 00:29:51 +0000 (00:29 +0000)]
Add excerpt AC and avoid rate-limiting for OpenLibrary content
OpenLibrary added rate-limiting (100 cover requests per 5 minutes)
for cover images requested by ISBN; using the OpenLibrary book
API to pull the list of direct cover URLs avoids the rate limit.
Also, add excerpt added content calls for OpenLibrary.
Signed-off-by: Dan Scott <gitorious@coffeecode.net>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20355 dcc99617-32d9-48b4-a31d-7c20da2025e4
Update Makefile.install and README for PostgreSQL 9.0
Along with cleaning out references to Debian Etch, Debian Lenny,
Ubuntu Hardy, add the Debian Squeeze, Ubuntu Lucid, and Fedora 14
PostgreSQL 9.0 repo locations, and convert the README to Asciidoc
syntax.
Remove references to Fedora 13 and genericize it for Fedora 14
(with the thought that Fedora 15 will probably be coming out
soon). Also add PostgreSQL 9.0 packages as a target for the
database server in Makefile.install.
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Bill Erickson <berick@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20353 dcc99617-32d9-48b4-a31d-7c20da2025e4
For copy details change the barcode to a link to the item status.
This only applies to the staff client itself due to an isXUL check first.
This allows for a staff member to get more details on the copy with a single click, rather than copy/paste of the barcode.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20350 dcc99617-32d9-48b4-a31d-7c20da2025e4
Consolidate on checking for integers for -full / -uris
The check for an integer when $flesh eq 'uris' was throwing errors
and breaking authority browsing; rather than complicating matters
further, use an explicit integer for the return value when the format
ends with "-uris" so that we can simply test for an integer value
greater than 0.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20336 dcc99617-32d9-48b4-a31d-7c20da2025e4
Prevent a MARC::File::XML error from killing authority_control_fields.pl batch
Continuing to make this script bullet-proof, MARC::File::XML cares deeply
about things like whether datafields have indicators and throws exceptions
that, if not caught, kill a processing script - like this one.
Borrowing the approach from marc_export, wrap the new_from_xml() call in
a try / otherwise block and roll on.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20333 dcc99617-32d9-48b4-a31d-7c20da2025e4
Hold, Transit, and Hold/Transit Slips used to suppress the printer dialog, but we lost that when we moved to templated slips. This adds a sticky Printer Prompt checkbox to Check In for controlling that behavior.
Setting print.always_print_silent to false is a bad thing, since it trumps gPrintSettings.printSilent, and will cause a print dialog regardless of Printer Prompt or Auto-Print checkboxes. Let's clear it instead when toggling it off, and if we find it lingering as false from past code, let's clear it then too.
Protect against errors returned by open-ils.search
If open-ils.search returns an error rather than a result, prevent
authority_control_fields.pl from bombing out completely; instead,
flag the problem in STDERR and move on to the next record.
Make authority_control_fields.pl resistant to database timeouts
LP 771237 describes how on an underpowered system, the work that
authority_control_fields.pl tries to do on a per-record basis may hit the
CStore default timeout of 6 seconds for a transaction and automatically
end the transaction, resulting in no work being committed once the script tries
to update the bibliographic record. Searching each controlled field for a
matching authority record can be costly in a database with millions of
authority records.
To enable the script to accomplish its work on underpowered test systems, use a
regular read-only CStoreEditor session to accomplish the lookups and create a
separate CStoreEditor session to issue the update in a transaction if required.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20312 dcc99617-32d9-48b4-a31d-7c20da2025e4
Add i18n support to the User Editor / registration interface
Per LP # 754898, the Register Patron interface currently contains
many hardcoded strings. Given that the previous patron registration
interface supported translation, this is a regression in 2.0.
Accordingly, we extend the use of Dojo i18n support to provide the
strings for buttons and a number of labels on the Register Patron
interface. The bulk of the remaining text is provided by the fieldmapper
definitions, which should in theory be translated automatically for us.
Disable Save Columns in xul holds interface when Hold Details is being viewed. https://bugs.launchpad.net/evergreen/+bug/691599 Not the best fix, but the quickest fix
Specifically, we prune subplans that contain no nodes (empty parens), and avoid dropping out of the top level query context when we encounter a close-paren.
org unit setting for making unified Volume/Item interface optional. fix the volume interface in its standalone incarnation, and tweak the label for editing items in holdings maintenance
Don't disable the Create Volume/Item button when building the data structure from the form.
If you have say, a <textbox> with on onchange event that disables a <button> and re-enables it shortly thereafter, and the onchange event was triggered by you clicking on said button while the textbox has focus/changes, then the disable action will prevent any click on the button from registering.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20281 dcc99617-32d9-48b4-a31d-7c20da2025e4
Better call number prefix/support in opac. The copy count status/location summary methods now group by prefix, label, suffix instead of just label. Still need to update rdetailShowCNBrowse/open-ils.search.callnumber.browse, which is being fed an array, [ prefix label, label, suffix label ]
Add org unit settings for default status of newly added copies
These two new org unit settings enable sites to control the
default status of newly added copies. The defaults match
the behaviour of the "Add Volumes" ("In Process") and
"Fast Add" ("Available") interfaces as of Evergreen 1.6.1,
but sites can choose to have the copies go directly to
"Reshelving", "Available", or any other status defined in
config.copy_status.
rigrelease:
Sets up branding/xulrunner-stub for release builds
Includes a change to windowssetup.nsi to swap out image set
rigbeta:
Sets up branding/xulrunner-stub for beta builds
Includes a change to windowssetup.nsi to swap out image set
rebuild:
Shortcut for re-using the same version/stamp as the last build
Updated stamp target to add files for rebuild.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20254 dcc99617-32d9-48b4-a31d-7c20da2025e4
Teach marc_export how to export bibs for specified libraries
Useful shortcut for getting the bibs for libraries based on the
non-deleted callnumbers they have attached to non-deleted bibs.
Doesn't guarantee that they also have either a visible copy or
localized URI attached but whaddya want, magic? :)
Teac marc_export how to replace the 001 field value with the record ID
This is option is probably more useful prior to 2.0 where we introduced
the automated "munge control numbers" option, but new features go
here, right? A site that wants to export their bibliographic records
to send to a large library consortium for control number matching
may find this a useful way to send out records with a local 001 record
ID and get standard identifier control numbers back that they can
add as a 035, per MARC standards.
flesh parts on items for circ functions. Hrmm, but this only works because unflesh_copy doesn't know about parts. Do we need unflesh_copy on checkout/checkin/renew result payloads?
Thanks to http://forums.mozillazine.org/viewtopic.php?f=19&t=2048501,
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20230 dcc99617-32d9-48b4-a31d-7c20da2025e4
Attempt to be more robust/forceful on clearing hint text
Reset hotkeys less often (such as *not* on operator change)
Re-enable keyset properly
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20229 dcc99617-32d9-48b4-a31d-7c20da2025e4
New menu items and updates to menus in admin menu area
Toolbar/hotkey settings can be saved to workstation prefs from admin -> workstation administration
Update org unit setting for button_bar to be a string, circ or cat by default to pick those two toolbars
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20209 dcc99617-32d9-48b4-a31d-7c20da2025e4
Define an Install Tag, defaulting to the product tag.
This will be used in the install location and registry setting for where we installed to.
Different install tags will mean different installs, so Trunk won't (by default) install over 2.1 (for example)
Plus, include riggings for Mike Peter's new install images.
Author: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_1@20200 dcc99617-32d9-48b4-a31d-7c20da2025e4
We went to the effort of extracting the translatable text from
950.data.seed-values.sql, but had not marked the fields as
translatable in the IDL. Now at least the out-of-the-box
fields and classes will easily be able to have translations.
Correct encoding issue with authority_control_fields.pl
Is there ever a time when MARC::File::XML would be invoked with
anything other than BinaryEncoding => 'utf-8'? Not here, at
least. Addresses LP# 764582.
* Move to in-core fts function, instead of the compat wrapper provided by the tsearch2 contrib
* Provide default cover density tuning (config file)
* Move default preferred language settings from storage to search, where they make more sense
More on the CD tuning:
Evergreen uses a cover density algorithm for calculating relative ranking of matches. There
are several tuning parameters and options available. By default, no document length normalization
is applied. From the Postgres documentation on ts_rank_cd() (the function used by Evergreen):
Since a longer document has a greater chance of containing a query term it is reasonable
to take into account document size, e.g., a hundred-word document with five instances of
a search word is probably more relevant than a thousand-word document with five instances.
Both ranking functions take an integer normalization option that specifies whether and how
a document's length should impact its rank. The integer option controls several behaviors,
so it is a bit mask: you can specify one or more behaviors using | (for example, 2|4).
0 (the default) ignores the document length
1 divides the rank by 1 + the logarithm of the document length
2 divides the rank by the document length
4 divides the rank by the mean harmonic distance between extents (this is implemented only by ts_rank_cd)
8 divides the rank by the number of unique words in document
16 divides the rank by 1 + the logarithm of the number of unique words in document
32 divides the rank by itself + 1
If more than one flag bit is specified, the transformations are applied in the order listed.
It is important to note that the ranking functions do not use any global information, so it
is impossible to produce a fair normalization to 1% or 100% as sometimes desired. Normalization
option 32 (rank/(rank+1)) can be applied to scale all ranks into the range zero to one, but of
course this is just a cosmetic change; it will not affect the ordering of the search results.
In Evergreen, these options are set via search modifiers. The modifiers are mapped in the
following way:
* #CD_logDocumentLength => 1 :: rank / (1 + LOG(total_word_count)) :: Longer documents slightly less relevant
* #CD_documentLength => 2 :: rank / total_word_count :: Longer documents much less relevant
* #CD_meanHarmonic => 4 :: Word Proximity :: Greater matched-word distance is less relevant
* #CD_uniqueWords => 8 :: rank / unique_word_count :: Documents with repeated words much less relevant
* #CD_logUniqueWords => 16 :: rank / (1 + LOG(unique_word_count)) :: Documents with repeated words slightly less relevant
* #CD_selfPlusOne => 32 :: rank / (1 + rank) :: Cosmetic normalization of rank value between 0 and 1
Adding one or more of these to the default_CD_modifiers list will cause all searches that use QueryParser to apply them.