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.
senator [Mon, 4 Apr 2011 16:29:17 +0000 (16:29 +0000)]
Backport r19942 from trunk
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.
Add realistic row estimates to tree-ish functions (default is 1000) so that callers can make better plans in complex queries; includes four functions backported from 2.1 for simplicity when it comes to upgrading
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
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).
dbwells [Thu, 31 Mar 2011 18:13:09 +0000 (18:13 +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:18:06 +0000 (15:18 +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.
phasefx [Wed, 30 Mar 2011 02:24:59 +0000 (02:24 +0000)]
add item columns to xul-based holds lists
Could argue this fixes a regression, since the original pull list from 1.6 showed the circ modifier, and the xul alternative does not. So begging forgiveness :)
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@19914 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Wed, 30 Mar 2011 01:52:44 +0000 (01:52 +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:52:12 +0000 (01:52 +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/branches/rel_2_0@19910 dcc99617-32d9-48b4-a31d-7c20da2025e4
gmc [Tue, 29 Mar 2011 02:09:14 +0000 (02:09 +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:44:05 +0000 (22:44 +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:33:19 +0000 (18:33 +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.
dbs [Mon, 28 Mar 2011 17:28:18 +0000 (17:28 +0000)]
Address LP 744393: Arabic text in en-CA offline.properties
A translator appears to have mistakenly added Arabic text to
the en-CA offline.properties file in Launchpad. This commit
corrects those translations and completes the translation of
the file for 2.0.
phasefx [Mon, 28 Mar 2011 16:38:32 +0000 (16:38 +0000)]
fix up receipt options persistence in billing interface; implement # of receipts option (not perfect if using print dialogs; non-blocking and not necessarily queued up)
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@19870 dcc99617-32d9-48b4-a31d-7c20da2025e4
dbs [Fri, 25 Mar 2011 06:53:43 +0000 (06:53 +0000)]
Avoid Apache warnings resulting from duplicate NameVirtualHost directives
Benjamin Shum reported that the Apache warnings that have been a part
of Evergreen's default configuration on Apache start for ages could
be avoided by commenting out the "NameVirtualHost: *80" line in
eg.conf. Testing confirmed that the directive was not necessary on Ubuntu,
Debian, or Fedora. As this warning has been the cause for unnecessary concern
on the part of many new adopters of Evergreen, getting rid of it appears to
be a nice usability win.
dbs [Tue, 22 Mar 2011 01:26:31 +0000 (01:26 +0000)]
Build libjs from source for now until the Perl threading problem can be reliably tested
The previous commit changed JavaScript::SpiderMonkey to be built without
thread safety, but on Fedora we had been installing the js-devel package
(which was threaded). As you can't build a non-threaded
JavaScript::SpiderMonkey on top of a threaded libjs, for now we'll make
Fedora build a non-threaded libjs from source just like the other distros.
Note that the problem with threaded JavaScript::SpiderMonkey surfaced
on Debian Lenny when targeting holds. Lenny has libthreads-perl 1.71, but
a number of fixes have been committed to subsequent versions
(http://cpansearch.perl.org/src/JDHEDDEN/threads-1.82/Changes) - so
threading support might be reliable on more current distros. Once we
have a reliable test, we might be able to go back to the packaged
version of libjs.
dbs [Tue, 22 Mar 2011 00:41:47 +0000 (00:41 +0000)]
Another layer of escaping for the escapes in the DB update script
Apologies for the previous patch that led to breakage; I "tested" in a
script in which I had already hardcoded the answer I wanted after
running into problems with the previous version of the script. Not
good testing practice.
Thanks to Bill Erickson for suggesting the extra escapes. Tested in
a clean environment this time, and it works.
dbs [Mon, 21 Mar 2011 20:13:44 +0000 (20:13 +0000)]
Enable update_db.sh to handle upgrading databases with release version
When '0475' is mixed with '1.6.0.4', the latter wins as far as a plain MAX()
operator goes. Ensuring that the version is all digits should help avoid the
release version numbers in the config.upgrade_log table.
Thanks to Thomas Berezansky for suggesting a SIMILAR TO operator variation
that led to this approach.
dbs [Wed, 16 Mar 2011 04:04:19 +0000 (04:04 +0000)]
Set default db schema search path to public,pg_catalog
With the addition of the 'evergreen' schema, we discovered that
all of the unqualified database objects were being created in
the 'evergreen' schema if the database user name was 'evergreen'
(as the default search path is "$user",public we started matching
"$user").
Thomas Berezansky proposed a variation of the function provided
here for changing database settings. By creating the function in
the first schema file, the subsequent connections pick up the
new default search path and all works blissfully as it once did.
Long term, we should probably move towards explicitly qualified
database objects.
dbs [Sat, 12 Mar 2011 23:14:20 +0000 (23:14 +0000)]
Clean up build errors when creating/recreating database schema
Dropping the evergreen schema cascaded and wiped out some previously
defined functions, so move it ahead of the other functions. (And maybe
we can start moving those public functions into the evergreen schema?)
DROP AGGREGATE IF EXISTS exists on any version of PostgreSQL that we
care about for Evergreen 2.0, so we can use it to avoid false errors
during schema creation.
FTS config was complaining about public.english_nostop in the ALTER
statement, so remove the schema qualification. This seems to have
been there for a long time?
dbs [Sat, 12 Mar 2011 03:14:10 +0000 (03:14 +0000)]
Resolve inconsistent results when invoking LOWER() in C vs. UTF8 locale databases
As reported by the Fundamental Science Library of Armenia, patron searches
were not retrieving patrons who were known to be part of the patron database.
While the initial approach to solve this problem used an encode_utf8() call
to encode the data before passing it on to the database, this turned out to
break the patron search function in other environments.
Testing by Dan Wells confirmed that the LOWER() function returned different
results when invoked against text in a database created with LC_CTYPE=C vs
a database created with LC_CTYPE=*.UTF-8. As the patron search function
used a Perl lc() function call to convert the incoming data to lowercase,
the success of the call depended on the LC_CTYPE value of the database.
To avoid this problem in the future, we define our own evergreen.lowercase()
function that can reliably produce lowercase text for characters outside
the Latin1 range, and we convert our indexes and function calls to use that
function consistently.
dbs [Fri, 11 Mar 2011 20:39:03 +0000 (20:39 +0000)]
LANG=C results in SQL_ASCII encoding by default for PostgreSQL, which isn't cool
We want LC_CTYPE=C and LC_COLLATE=C, and SERVER_ENCODING=UTF8.
The docs have been adjusted as 8.4 and up now offer database-level
--lc-ctype / --lc-collate options for createdb command.
dbs [Fri, 11 Mar 2011 16:46:15 +0000 (16:46 +0000)]
Ensure incoming query values to patron search are UTF8-encoded
Addresses the problem reported with searching for patrons with
Armenian names, where Unicode query params were getting corrupted
on its way to the database.
dbs [Wed, 9 Mar 2011 19:08:43 +0000 (19:08 +0000)]
Draw pre-cataloged items (author and title) in My Account checkedout screen
Two problems: FETCH_MODS_FROM_COPY returns an object, so we weren't
getting to the point of fetching the raw copy itself, and there was
some confusion about pre-cataloged vs. non-cataloged items that is
hopefully straightened out now.
dbs [Mon, 7 Mar 2011 15:14:01 +0000 (15:14 +0000)]
Fix cloning of AutoField widgets: LP #728055
Cloning Action/Trigger event definitions was not working properly, as
all values were being copied from the original object using their display
strings rather than the underlying values.
Bill Erickson suggested a fix in IRC that works, so full credit to him
for this change!
dbs [Sat, 5 Mar 2011 03:18:56 +0000 (03:18 +0000)]
Correct search index definitions for subject|complete and identifier|bibcn
Dan Wells reported in LP# 729385 that the index definitions for
subject|complete and identifier|bibcn were not working, and traced
the problem to a change in how indexes are generated in 2.0+. Dropping
the trailing '//text()' on these two indexes addresses the problem.
Sites upgrading from a previous version of Evergreen 2.0 will want
to refresh the indexes after applying this schema change to enable
searches against subject|complete and identifier|bibcn to work.
dbs [Fri, 4 Mar 2011 04:58:41 +0000 (04:58 +0000)]
Backport SRU fixes from trunk (r19572, r19573)
Add complete set of Evergreen search aliases and attributes to SRU explain
Original "pull from database" code had limited the search aliases to those
that were qualified; now we pull all of them, and if they are not qualified,
we qualify them as "eg".
In addition, for some of the non-index attributes (sort, direction, site,
available), restore the descriptive title that was previously available.
Slightly longer term we will add a "description" column to
config.metabib_search_alias to store this information.
By returning explicit index and title elements from the method,
we can backport cleanly to 2.0 and set the stage for pulling the
title element directly from the database in 2.1 and beyond.
In addition, the enriched object enables us to get rid of the
hardcoded nested qualifier map for bibs.
Finally, we also fix the mappings of SRU qualifiers to Evergreen
search aliases (in many cases we had been quietly falling back
to plain kw searches, which was not cool).
dbs [Thu, 3 Mar 2011 06:01:58 +0000 (06:01 +0000)]
Draw SRU search indexes from config.metabib_search_alias
We had hardcoded search indexes for SRU, but thanks to the work
of Mike Rylander, it is fairly easy to remove that brittle code
and replace it with code that polls the contents of
config.metabib_search_alias and dumps it into the explain document.
miker [Wed, 2 Mar 2011 21:15:15 +0000 (21:15 +0000)]
Call number sorting "before" the context needs to be segregated based on directly on the label, "here-and-after" on the bytea version. Testing bears this out, but more eyes would be appreciated.
dbs [Tue, 1 Mar 2011 05:34:17 +0000 (05:34 +0000)]
Add a TT helper to encode email headers in UTF-8
This can and should be used to encode any headers (To, From, Subject, etc)
in an email that might include text outside of the ASCII 7-bit range. Names
of people or libraries, for example, that might otherwise come out garbled.
dbwells [Thu, 24 Feb 2011 20:04:33 +0000 (20:04 +0000)]
Fix regex in maintain 901c
The previous regex would delete any 901 fields *and* any fields which followed. Since the 901 is typically the last field, this problem didn't surface during testing.
senator [Thu, 24 Feb 2011 15:35:51 +0000 (15:35 +0000)]
Per Robert Soulliere, it can be necessary in some cases to clean out bad
data from action.reservation_transit_copy before applying the missing
fkeys to said table.
dbs [Wed, 23 Feb 2011 15:07:17 +0000 (15:07 +0000)]
Add 830 as a controllable bibliographic field in authority linking script
Per http://www.loc.gov/marc/bibliographic/bd830.html, bibliographic 830
should be controlled by authority 130. The "common cataloging practice"
in 830 of omitting non-filing characters may cause some entries to not be
linked that otherwise would be.
dbs [Wed, 23 Feb 2011 02:12:02 +0000 (02:12 +0000)]
Correct the install location for Dojo i18n bundles
We had been converting xx-YY into xx/yy for a directory structure,
but current evidence shows that it should be xx-yy. Hard to believe
we've overlooked this for so long. Also, with the exception of the
en-ca/en-gb/en-us locales, we should probably trim the locale to
just xx - but that's a different problem, and let's just focus on
getting this working to begin with.