Thomas Berezansky [Tue, 18 Dec 2012 20:53:28 +0000 (15:53 -0500)]
QueryParser: use combined metabib_field column
Because I somehow forgot about it. Oops.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 18 Dec 2012 20:12:10 +0000 (15:12 -0500)]
Add basic release notes and notes for docwriters
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 18 Dec 2012 19:35:28 +0000 (14:35 -0500)]
Upgrade script for ts config use
And the rest of that work
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 18 Dec 2012 15:38:24 +0000 (10:38 -0500)]
Add config interfaces
For metabib class, class ts maps, field, and field ts maps.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Thu, 11 Oct 2012 15:43:25 +0000 (11:43 -0400)]
QueryParser Driver: Much work
Switch to configurable fts configs
Add "combined" index vectors
Add word boundary checks for phrase searches
Use combined rel_bump function
And probably more I forgot about
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Wed, 10 Oct 2012 21:23:43 +0000 (17:23 -0400)]
QueryParser Driver: Remove Unphrases, add negates
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Wed, 10 Oct 2012 20:51:36 +0000 (16:51 -0400)]
Use ][ instead of # to split facets
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Thu, 27 Sep 2012 20:48:03 +0000 (16:48 -0400)]
QueryParser Driver: Add "lucky" modifier
Forces to 1 result. Best used with redirect on single hit active.
Because why not.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 18 Sep 2012 15:55:07 +0000 (11:55 -0400)]
QueryParser Driver: Improve format filter
Allow multi-select in particular, and make negate more intuitive.
-format(at-d) would previously generate:
-item_type(a,t) -item_form(d)
Now it generates:
-(item_type(a,t) item_form(d))
Multi-select allows for things like:
format(at-d,g)
To generate:
((item_type(a,t) item_form(d)) || item_type(g))
Negating that results in:
-((item_type(a,t) item_form(d)) || item_type(g))
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Fri, 14 Sep 2012 16:15:40 +0000 (12:15 -0400)]
QueryParser Driver: Long Line Cleanup
Both in the code and in the generated where clause.
The where clause we start a new line whenever:
1 - We encounter an AND or OR
2 - We are building a complex subquery (including embedded newlines)
3 - We enter a subplan
This makes for a nicely human-readable where clause.
For the code we split many long lines into multiple. A number of those were
changed due to the where clause formatting.
We also change all instances of multiple ${spc} being added to use the
${spc} x #
method of doing things, as it tends to be shorter.
Also, we move some conditionals from the ends of lines to the fronts, mainly
in those situations where we are moving something from single to multi line.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Fri, 14 Sep 2012 12:57:45 +0000 (08:57 -0400)]
QueryParser Driver: Remove Switch usage
Because not all distros install it by default.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Wed, 12 Sep 2012 13:12:41 +0000 (09:12 -0400)]
QueryParser Driver: Improve anchored searches
By checking individual atoms for ^ and $ anchors we can get better results,
without needing to have people quote individual terms.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 11 Sep 2012 19:02:59 +0000 (15:02 -0400)]
QueryParser Driver: Protect against NULLs
mrd.attrs->'value' can return NULL. If this happens:
Checking that the value is within a range or list will work fine.
NEGATING that will not.
This is because:
AND NULL returns NULL
AND NOT (NULL) also returns NULL
The solution? Adjust things so we can wrap all the offending checks in a
COALESCE to false. Then if mrd.attrs->'value' is null we get a false.
In the process we move any and all negations to outside the COALESCE.
Also apply the same logic to the bib_source filter, not to mention
making it support being negated.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 11 Sep 2012 13:48:39 +0000 (09:48 -0400)]
Add bib_source filter
Because it would likely be very useful, if only for staff.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 11 Sep 2012 13:42:38 +0000 (09:42 -0400)]
Fix empty statuses filter
By adding a check that was overlooked.
Also remove a leftover TODO note and add another test query.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 11 Sep 2012 13:21:36 +0000 (09:21 -0400)]
QueryParser Driver: Use proper table alias
When all atoms are dummy atoms we need the correct table alias.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Tue, 11 Sep 2012 13:11:29 +0000 (09:11 -0400)]
Add some more test queries to query_tester.pl
At least one of which requires a follow-up change to the driver to resolve.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Mon, 10 Sep 2012 20:47:15 +0000 (16:47 -0400)]
Remove search.query_parser_fts from schema
Including an upgrade script to drop it.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Mon, 10 Sep 2012 17:54:55 +0000 (13:54 -0400)]
Quick script for pushing queries into search
Several of the defaults are designed to trigger bad SQL generation.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Fri, 7 Sep 2012 20:07:26 +0000 (16:07 -0400)]
Remove dependence on search.query_parser_fts proc
We do this by moving everything into the QueryParser driver, then telling
the metabib layer to not call it anymore.
In the process we remove the "superpage" checks, instead just getting the
entire result set directly from the DB.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Fri, 7 Sep 2012 18:13:08 +0000 (14:13 -0400)]
Queryparser Driver: SQL Generation Tweaks
Remove fwhere/where distinction due to issues with detecting where some
operators were supposed to go.
Change format to a callback instead of forcing it to the top of the tree.
Change date-based filters to work in nested situations.
Change container and record_list to work in nested situations.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Fri, 7 Sep 2012 14:46:34 +0000 (10:46 -0400)]
QueryParser Driver: Adjust query whitespace
Adjust spacing and newlines to make the resulting query more easily read.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Sun, 16 Sep 2012 20:46:43 +0000 (16:46 -0400)]
QueryParser: Expand negate and disallow operators
Allow negate to act like disallow on phrases.
Allow both to apply to groups.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Sun, 16 Sep 2012 19:21:07 +0000 (15:21 -0400)]
QueryParser: Add negate operator
To replace the previous -atom behavior add a negate op, by default !.
This acts identically to how - worked before it was changed to convert atoms
into unphrases.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Sun, 16 Sep 2012 19:08:06 +0000 (15:08 -0400)]
QueryParser: Treat Unphrases as negated phrases
This should allow drivers to better check for negated phrases by using
indexes on the contained atoms.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Sun, 16 Sep 2012 17:53:16 +0000 (13:53 -0400)]
QueryParser: Protect phrase parsing
Ensure that phrases don't get parsed as containing anything other than
individual atoms. This ensures that you can phrase-escape things that would
otherwise be treated as QP syntax.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Mike Rylander [Fri, 14 Sep 2012 18:28:20 +0000 (14:28 -0400)]
Convert negated words to unphrases, like we do with +d words to phrases
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Mike Rylander [Wed, 12 Sep 2012 17:12:12 +0000 (13:12 -0400)]
Lots ...
* increase debugging amount and readability
* floating sections (push-to-top)
* force plan level setting
* fix several forms of auto-pushdown breakage (explicit bool precedence support)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Jared Camins-Esakov [Sat, 8 Sep 2012 02:44:50 +0000 (22:44 -0400)]
QueryParser unit test
Test that QueryParser can handle a variety of queries. This initial
unit test does the following:
1) Test the configuration of QueryParser.
2) Test that various queries have stable canonical representations.
3) Test that a number of equivalent queries are correctly parsed as
equivalent.
4) Test that a number of non-equivalent queries are correctly parsed as
NOT being equivalent.
5) Several other tests relating to query parsing.
This includes almost 100% subroutine coverage in the QueryParser class.
Other classes have somewhat lower test coverage.
As of 2012-09-09, several outstanding bugs affect these tests:
1) QueryParser->superpage cannot be unset.
2) Explicit groups are not handled correctly by the abstract query
to string converter.
3) There is no defined precedence between explicit boolean connectors
and implicit boolean connectors.
4) Modifiers are silently dropped when not at the top level of the query.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Jared Camins-Esakov [Sun, 9 Sep 2012 14:52:06 +0000 (10:52 -0400)]
Start adding skeletal POD for subroutines
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Mike Rylander [Mon, 10 Sep 2012 19:31:05 +0000 (15:31 -0400)]
Move allow_nested_modifiers to the driver level, provide a wrapper for it, and add that to the Pg test setup as an example
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Jared Camins-Esakov [Sat, 8 Sep 2012 03:36:36 +0000 (23:36 -0400)]
Allow nested modifiers
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Mike Rylander [Mon, 10 Sep 2012 18:58:01 +0000 (14:58 -0400)]
Pretty-fy canonicalization
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Mike Rylander [Mon, 10 Sep 2012 17:21:30 +0000 (13:21 -0400)]
Teach QP about floating (force-to-top) subplans indicated by {{...}}
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Mike Rylander [Fri, 7 Sep 2012 19:51:43 +0000 (15:51 -0400)]
QP: OO-ize canonicalizer; remove extra nesting from canonicalized query; repair nested operator in bool nesting; updated (basis) test script
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Mike Rylander [Fri, 7 Sep 2012 18:15:21 +0000 (14:15 -0400)]
push-down of explicitly-bool-connected conditions
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Lebbeous Fogle-Weekley [Mon, 21 Jan 2013 19:54:55 +0000 (14:54 -0500)]
Serials: Caption/pattern wizard use enum fields for chronology when no enum
MFHD spec says that when there are no ‡a - ‡f enumeration captions, any
chronology captions should move back from their usual ‡i - ‡m places
back into enumeration space.
The predictions engine we already have deals with this better than with
the wrong patterns we were creating before, e.g.:
853 20 ‡81 ‡i(year) ‡j(month) ‡wm
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Scott [Fri, 17 Aug 2012 20:07:19 +0000 (16:07 -0400)]
Deal with opt-in boundaries defensively
If a site had not set an 'org.patron_opt_default' OU setting, then it
seemed that a DEFAULT value was getting dumped into the "create opt-in"
INSERT statement for the org_unit argument, and that (as there is a
non-NULL constraint on the column and no default value for the column)
resulted in the patron not getting opted in.
One way for sites to deal with this is to set an opt-in boundary at the
consortial level, along the lines of:
INSERT INTO actor.org_unit_setting (org_unit, name, value)
VALUES (1, 'org.patron_opt_default', 2);
Alternatively, in the absense of any such setting, opt-in should
continue to work as it had before the new feature was added; this change
keeps the old behaviour active in that case.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Mon, 5 Nov 2012 14:22:55 +0000 (09:22 -0500)]
LP1051112 - Display lineitem commands menu on empty picklists
Ensure that the lineitem commands drop-down menu appears even when the
picklist is empty. Previously, the commands were not displayed until
the first lineitem was retrieved. For empty picklists, of course, there
will be no first lineitem.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Thu, 11 Oct 2012 04:10:54 +0000 (00:10 -0400)]
LP1066158 - Add associated permissions to admin menu commands
For the admin menu, we had already begun to check for specific permissions
to allow staff to access the menu options. However, it is not complete.
This is a first attempt to add additional permissions to various local
and server admin options.
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Mark Cooper <markchristophercooper@gmail.com>
Galen Charlton [Mon, 21 Jan 2013 16:38:49 +0000 (11:38 -0500)]
LP#
1102472: add about:about to staff client developer menu
The about:about page contains many XULRunner diagnostic tools.
Some useful ones include:
about:buildconfig - Get information about how the staff client is built.
about:config - Tweak XULRunner settings.
about:memory - Get detailed information about staff client memory usage.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Sat, 26 Jan 2013 03:36:53 +0000 (22:36 -0500)]
Merge remote-tracking branch 'origin/master' into acq-invoice-doc
Kathy Lussier [Sat, 26 Jan 2013 02:35:13 +0000 (21:35 -0500)]
Documentation: acquisitions updates
Update Search for Line Items from an Invoice section to reflect minor
changes that came with lp1050008. Also, moved received Items from an
Invoice section to fall within the rest of the Invoices section.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Robert Soulliere [Tue, 22 Jan 2013 14:36:08 +0000 (09:36 -0500)]
Documentation: Update staff client installation for 2.3.3 version.
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Robert Soulliere [Tue, 22 Jan 2013 14:17:26 +0000 (09:17 -0500)]
Documentation: Update upgrading the server instructions to point to 2.3.3.
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Ben Shum [Sun, 20 Jan 2013 06:16:13 +0000 (01:16 -0500)]
TPAC - new CSS for login help elements
Instead of having everything hard coded into the page, move important
pieces into the style.css.tt2.
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Thomas Berezansky [Fri, 21 Dec 2012 21:10:09 +0000 (16:10 -0500)]
TPAC - Remove images from login help page
Because images are hard to translate.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Ben Shum [Fri, 21 Dec 2012 20:47:40 +0000 (15:47 -0500)]
LP1054053 - make default input font darker
The original light grey made it difficult to see what was being input.
Change to use text font color variable (black by default).
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Dan Scott [Sat, 19 Jan 2013 19:28:06 +0000 (14:28 -0500)]
TPAC: Fix series display for multiple series fields
This commit adds one test record, "Harry Potter and the Goblet of Fire",
which contains multiple series fields. TPAC would display the series
fields in a purely additive fashion as the variable was not reset after
each field. Now we initialize the series var for each new series field
we retrieve, fixing the display problem.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Thu, 10 Jan 2013 22:01:05 +0000 (17:01 -0500)]
Unbold graphic 880 title display
To maintain consistency with the main title being unbolded and have
a little less bolding distraction in the record.
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Kathy Lussier [Thu, 10 Jan 2013 21:55:01 +0000 (16:55 -0500)]
Added 880 series display to Release Notes.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Mon, 7 Jan 2013 23:16:57 +0000 (18:16 -0500)]
Make series in record details behave
Add graphic 880 field support, as well as relying on mkurl() macro to
generate the desired URL and show the complete series on a single line
instead of having subfields appear on separate rows.
Add a sample record that contains a 440 series field linked to an 880
field.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Sun, 6 Jan 2013 01:49:27 +0000 (20:49 -0500)]
Add test records for graphic 880 field display
"--load-all" in eg_db_config.pl will load these records with call
numbers of "G880 ", so you can shelf-browse, or search by title:
* Tu shuo Zhongguo jie
* Matsumoto Shigeharu
* Schrödinger operators
* Breathing, feeding, and neuroprotection
* Data warehousing and knowledge discovery
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Sat, 5 Jan 2013 04:55:13 +0000 (23:55 -0500)]
Release notes for alternate graphic 880 fields
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Fri, 4 Jan 2013 21:26:30 +0000 (16:26 -0500)]
TPAC: Alternate graphic fields (880) display
In the search results and record details displays, display the
corresponding 880 field(s) whenever possible.
The contents of the 880 field are generally displayed directly
underneath the corresponding primary field, with the exception of the
contributor credits on the record details page, in which the 880
contents appear between the name of the contributor and the
contributor's credit.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Mon, 3 Dec 2012 15:37:43 +0000 (10:37 -0500)]
Update staff client's about page to include newest core committers
The newest core committers were elected during the Evergreen Hack-A-Way on
October 10, 2012:
Jeff Godin, Traverse Area District Library
Benjamin Shum, Bibliomation, Inc.
Jason Stephenson, Merrimack Valley Library Consortium
Also update language of page to reflect that these contributors are now core
"committers" rather than "developers". And move past core committers into
their own section.
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Lebbeous Fogle-Weekley [Wed, 16 Jan 2013 20:18:56 +0000 (15:18 -0500)]
Add 2.2.4 -> 2.2.5 upgrade script
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 16 Jan 2013 20:18:57 +0000 (15:18 -0500)]
Forward-porting 2.3.2 -> 2.3.3 DB upgrade
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Galen Charlton [Tue, 15 Jan 2013 16:30:41 +0000 (11:30 -0500)]
LP#
1098377: protect against even more cstore segfaults
Following up on the preceding patch, passing null
as the savepoint name to savepoint.release and
savepoint.rollback would also segfault cstore.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 15 Jan 2013 15:58:16 +0000 (10:58 -0500)]
Verify savepoint name is non-null
Before we attempt to mangle the name, let's ensure that it's non-null.
Otherwise, segfaults ensue.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Fri, 11 Jan 2013 06:32:13 +0000 (01:32 -0500)]
Protect against overly long savepoint names
Per http://postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS,
the maximum identifier length works out to being 63 bytes (+1 for the
null terminator), so to avoid potential memory pressure by a 10GB string
somehow being passed in as the savepoint name, malloc no more than 64
bytes and copy no more than 63 bytes from the incoming name to the
escaped name.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Fri, 11 Jan 2013 07:30:50 +0000 (02:30 -0500)]
LP#
1098377: sanitize savepoint names
When invoking open-ils.{cstore,pcrud,rstore}.savepoint.*, the
caller supplies a name for the savepoint. However, the savepoint
names could be constructed so that the caller could execute
arbitrary SQL. This patch sanitizes the name so that it contains
only alphanumeric and underscore characters.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Wed, 16 Jan 2013 16:04:23 +0000 (11:04 -0500)]
2.3.3 translations : repair Finnish translator email
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 16 Jan 2013 15:39:31 +0000 (10:39 -0500)]
2.3.3 translations : newpot
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 16 Jan 2013 15:35:33 +0000 (10:35 -0500)]
2.3.3 translations : update profiles
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Stephenson [Mon, 10 Dec 2012 20:27:40 +0000 (15:27 -0500)]
Minor fix in Open-ILS/src/templates/opac/parts/place_hold_result.tt2
The hidden override field had two type attrs: "hidden" and "name."
I deleted the one with the value of "name."
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Stephenson [Mon, 10 Dec 2012 15:29:21 +0000 (10:29 -0500)]
LP1076062: Hold overrides not working properly.
Edit the verify_copy_for_hold helper function to actually work. There
were cases where it would permit a copy when it shouldn't and also
disallow a copy when it should have allowed it. It now makes better
use of the oargs override argument.
If oargs has an events member, the method now removes the matching from
the list of failure events returned by the permit_copy_hold check. It
was previously bugged, stopping on the first matching event, clearing
the list of failed and events, and returning a value to indicate that
the copy is permitted for the hold, even when it may not be.
If oargs has the "all" member and there are failure events remaining,
the function loops through those events checking if the requestor has
the override permission for the event. If the requestor does have the
override permission, then the event is added to oargs->{events} to be
saved for future checks on future copies. It the requestor does not
have the override permission, then the event is pushed onto a new array
of failed events and also onto oargs->{failed}. The latter is kept
to avoid looking up events repeatedly on future copy checks.
The oargs->{failed} member is added as a shortcut to avoid repeatedly
looking up override permissions when the requestor does not have them.
It is actually checked, when present, before the user permission is
checked with a costly database lookup.
Since verify_copy_for_hold has no other way to determine that an override
was requested, it checks for the events and/or all members of oargs being
set and having a value that would evaluate to true. If oargs is undefined,
a hashref with no members, or lacks a "true" events or all member, then
verify_copy_for_hold functions as though no overrides are requested.
Additionally, all functions that call verify_copy_for_hold, either directly
or indirectly, have had their intro logic modified to only set oargs when
an override is requested and oargs is not already set. We make the assump-
tion that if oargs is set, it contains the events member. (Perhaps that is
a poor assumption, but all of the code so far looks like it will work.)
Fix test_and_create_hold_batch so that it passes the oargs parameter into
open-ils.circ.title_hold.is_possible in the way that check_title_hold (the
implementation function) actually expects it to be passed. This also means
that we need to delete oargs from the params hashref before creating the
hold objects, as that would blow up if it were present.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Stephenson [Wed, 5 Dec 2012 15:20:45 +0000 (10:20 -0500)]
Whitespace cleanup on aisle 9!
Fix whitespace (spaces, not tabs) in OpenILS/Application/Circ/Holds.pm.
Also, remove trailing whitespace at the end of lines.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 16 Jan 2013 14:39:56 +0000 (09:39 -0500)]
Avoid CStoreEditor failures on missing log-protect
When the log_protect configuration chunk is not present in
opensrf_core.xml, gracefully move on without it. This prevents errors
like:
Can't call method \"shared\" on an undefined value at
/usr/local/share/perl/5.10.1/OpenILS/Utils/CStoreEditor.pm line 646.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Thomas Berezansky [Fri, 2 Nov 2012 13:53:30 +0000 (09:53 -0400)]
Fix backdate near DST changes
When the due date and the backdate date are on opposite sides of a DST
boundary we were getting an hour off on the checkin time (using the
original due date's time).
This commit changes it so that instead we just set the hour and minute
values on the backdate date to the due date's versions, leaving the time
zone alone.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Galen Charlton [Fri, 11 Jan 2013 18:11:48 +0000 (13:11 -0500)]
LP#
1098669: improve handling of Content Cafe external content in staff client
This patch introduces a new TPac content variable, ctx.ext_proto, to
specify whether external content should be retrieved via HTTP or HTTPS.
ctx.proto can't be used for that purpose since it's set to 'oils' when
TPac is running inside the staff client.
This fixes a bug where Content Cafe reviews wouldn't display in the staff
client bib record page and where clicking on the reviews link from search
results would open an empty window.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 15 Jan 2013 19:08:03 +0000 (14:08 -0500)]
2.3 Release notes update
Merge the edireader and edi_order_template release notes into the 2.3
release notes files. Added a blurb to the Upgrade Notes regarding the
lack of an automatic EDI template upgrade.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Mon, 1 Oct 2012 15:54:00 +0000 (11:54 -0400)]
ACQ invoice search persistence repaired
Use XUL cookieService / cookieManager for managing cookies in embedded
web pages, since dojo.cookie cannot manage cookies within xulrunner.
Persist cookies for 30 days.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Scott [Tue, 15 Jan 2013 03:39:51 +0000 (22:39 -0500)]
Docs: minor formatting fixes for "borrowing items" chapter
* Images need to have a trailing [] ; ideally this would contain the
alt text for the image, but the [] is needed to make the images
show up at all
* Since we're touching the image:: tags anyway, make the filename
extensions consistently lower case
* Fix a processing error; a bulleted list item wrapped so that > was the
first character on a line, which made Asciidoc angry. Easiest thing to
do to avoid this is just to indent the wrapped lines for each bullet
item, but we'll do the minimal thing and just indent this one line
this time.
* Fix one instance of Word "smart quotes" having replaced ye olde single
quotes.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Kathy Lussier [Tue, 15 Jan 2013 02:43:57 +0000 (21:43 -0500)]
Borrowing items: who, what, for how long
Adding Borrowing Items chapter from Evergreen in Action to the official
docs.`
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Tue, 11 Sep 2012 16:41:08 +0000 (12:41 -0400)]
EDI order template improvements (no SQL upgrade script!)
Improved template for EDI purchase orders. This theoretically just
works better where the old template worked. Corrections made for
interactions with ULS, Midwest Tape, Baker & Taylor, and Recorded Books
especially. GIR segments in the right place.
And also the template is just more maintainable now.
**THERE IS NO UPGRADE SCRIPT INCLUDED**. Sites using EDI may not
necessarily want to mess with what they already have working.
If you want the changes, and maybe you do, especially if you're doing
enriched ordering and/or ordering from the vendors listed above, you can
extract the template changes easily enough yourself from the
950.data.seed-values.sql file.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Mon, 14 Jan 2013 21:59:12 +0000 (16:59 -0500)]
Upgrade script numbering for edireader branch
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 26 Dec 2012 21:27:38 +0000 (16:27 -0500)]
EDIReader release notes
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Thu, 13 Dec 2012 14:44:55 +0000 (09:44 -0500)]
Handle cancelled (back-order) lineitems in EDI invoice
Receiving an invoice for a cancelled lineitem mean the lineitem is no
longer cancelled. Identify such lineitems and uncancel them along with
the requested number of not-yet-invoiced copies.
This work flow is common for back-order items.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 12 Dec 2012 17:50:47 +0000 (12:50 -0500)]
EDIReader: improve monetary regexes
Make no attempt to enforce/decipher monetary amounts in the regexes,
simply capture the values. If they are invalid, Postgres will let us
know.
This change allows us to capture non-numeric (\d) characters (e.g. "."),
which are of course common in monetary amounts.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 5 Dec 2012 14:34:00 +0000 (09:34 -0500)]
EDI invoice date; invoice paid quantity/amount
* capture the invoice date in EDIReader
* apply the invoice date to inbound invoices when available instead of
defaulting to 'now'
* apply the quantity/amount billed to the quantity/amount paid to reduce
staff data entry needs
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Tue, 4 Dec 2012 15:00:26 +0000 (10:00 -0500)]
EDI: ensure lineitem 'state' matches cancel state
When cancelling a lineitem becuase all linked copies are cancelled,
ensure that the lineitem state is set to "cancelled".
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Mon, 3 Dec 2012 19:51:41 +0000 (14:51 -0500)]
EDI response honor lineitem-level status; debit cleanup
* Honor lineitem-level order status info (FTX+LIN) which indicates, in
some cases, that all ordered copies should be cancelled because the LI
as a whole is cancelled
* Delete fund debits for cancelled lineitem details when appropriate
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Mon, 3 Dec 2012 14:20:29 +0000 (09:20 -0500)]
EDI: protect against invalid order response
Do not attempt to createI EDI messages for order responses which
reference nonexistent purchase orders, since it results in
transaction commit errors on invalid foreign keys, preventing
subsequent EDI files from getting processed. Instead, log it
and skip it.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Mon, 12 Nov 2012 14:35:53 +0000 (09:35 -0500)]
EDIReader : detect SAN vs. account number in buyer/seller
NAD+BY+XXXXXXX::31B' -- SAN
NAD+BY+YYYYYYY::91' -- Account number
For invoices, try the SAN first followed by the account number to
determine the receiving org unit.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Fri, 28 Sep 2012 14:34:28 +0000 (10:34 -0400)]
Custom/local EDI reader module for ORDRSP and INVOIC (etc)
Provides a new perl module (OpenILS::Utils::EDIReader) for reading
inbound EDI messages and producing data structures more easily
understood by the ACQ code. Through this, extraction of EDI data is
focused in one module instead of spread through various layers.
EDIReader is a small, purpose built module focusing solely on extracting
the needed EDI data and is not meant to be a general purpose EDI library.
* Updates edi_fetcher and the ORDRSP and INVOIC handling code to use the
new libs.
* Removes Business::EDI Evergreen dependency, since it's no longer used (and
is quite large).
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Stephenson [Fri, 11 Jan 2013 13:49:11 +0000 (08:49 -0500)]
Fix a data destruction bug when authorities are updated.
Modify the two-argument form of vandelay.merge_record_xml to return
the target_marc when the add_rule, preserve_rule, replace_rule and
strip_rule are all empty.
This method is used by authority.propagate_changes and would replace
the bibliographic record's marc with the overlay template when the
above would happen. By returning the biblographic record entry's own
marc in that case, we prevent data destruction.
Additionally, protect bib and authority template overlay functions
in the same manner.
Commit includes an upgrade script for this change as well as
for the previous commit's authority.generate_overlay_template fix.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Thu, 10 Jan 2013 21:35:44 +0000 (16:35 -0500)]
Only consider main entry headings for bib overlay
Restrict the authority fields we will pull overlay data from to those
that do not subordinate themselves to other authority fields. That
is, skip see-from/see-also/etc for bib overlay.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Lebbeous Fogle-Weekley [Wed, 9 Jan 2013 21:20:39 +0000 (16:20 -0500)]
LP #
1075167: Serials: Avoid infinite loop in holdings summarization
When receiving items with unworkable combinations of holdings and
patterns, the holdings summarization code can get stuck in an infinite
loop. This solution prevents that, sparing the open-ils.serial
process and server resources, although it doesn't help the user out.
It will take further examination of the problem and reëvalution of how
we deal with problems reported by OpenILS::Utils::MFHD to help the
user avoid or resolve these situations.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Kathy Lussier [Sun, 6 Jan 2013 03:01:54 +0000 (22:01 -0500)]
Adding Designing Your Catalog chapter from the Evergreen In Action manual.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Minor fixes to "Designing your catalog" chapter
Some strange Latin-1 characters were giving Asciidoc fits...
Signed-off-by: Dan Scott <dan@coffeecode.net>
Galen Charlton [Fri, 4 Jan 2013 19:33:28 +0000 (14:33 -0500)]
fix user session management for MARC Batch Edit
The Javascript in the hardcoded page templates was
not checking the XUL stash for the session key when
run from the staff client; this is now needed as
a result of the XULRunner updates introdued by
commit
adee850f.
As a consequence, the list of the user's record buckets
was not retrieved, and attempts to run a batch edit
would spin without updating any records.
This fixes LP#
1048707 and LP#
1054277.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Robert Soulliere [Thu, 3 Jan 2013 19:23:54 +0000 (14:23 -0500)]
Documentation: Update upgrade instructions.
Also add a few index terms.
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Bill Erickson [Wed, 26 Dec 2012 16:10:23 +0000 (11:10 -0500)]
SIP option to use SIP date format for due dates
New SIP configuration option "use_sip_date_format" which forces all SIP
dates to be formated using the SIP date format: YYYYMMDDZZZZHHMMSS
Without this setting, most dates already correctly use the SIP date
format. However, for some historical reason, due dates are formatted as
ISO 8601 dates. Enable this setting to force due dates to use the SIP
date format.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Ben Shum [Mon, 24 Dec 2012 01:46:02 +0000 (20:46 -0500)]
LP1092937 - fix title/author in alternate pull list
Clicking on Print Full Pull List (Alternate strategy) no longer showed
the title and author columns for hold pull lists.
It seems that adding quotes around the tag lookups was all that was
required to bring these back for now. Long-term, it still seems better
to continue moving towards fewer pull list interfaces.
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Thomas Berezansky [Tue, 2 Oct 2012 17:31:13 +0000 (13:31 -0400)]
TPAC - SMS Number Munging
Addresses LP bug
1016654 - Despite the hint telling users not to use
hyphens when entering a text notification number, we have patrons who
are entering the hyphens causing the text notification to fail.
Munge "pretty printed" numbers into raw sets of digits in the A/T helper.
This allows aliases to still work for services that support them.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Sun, 23 Dec 2012 20:38:43 +0000 (15:38 -0500)]
Stamping upgrade script for index corporate authors
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Tue, 30 Oct 2012 16:08:54 +0000 (12:08 -0400)]
Index corporate authors based on relator codes
The existing stock index for corporate authors only kicks in if the
710 subfield 'e' == 'creator', but relator codes (in subfield '4') are
by many accounts a preferred mode of identifying the relationship of an
added entry. Thus, add '4' == ('aut' or 'cre') to the criteria for
indexing a corporate author.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Thu, 20 Dec 2012 19:32:46 +0000 (14:32 -0500)]
LP
1088561 - part 2, fix all update forms to not show saved passwords
Bug re-opened due to locating a few other locations in my account area
where the password was being saved by browsers like Firefox instead of
requiring users to key in current password to make changes.
This patch covers those two additional cases and changes the quoting
around the first case to be more consistent with the rest of the line.
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Simon Mai <hieu.mai@mnsu.edu>
Dan Scott [Sun, 16 Dec 2012 14:09:03 +0000 (09:09 -0500)]
TPAC: Fallback default value for facet.default_display_count
Open-ILS/templates/opac/parts/result/facets.tt2 assigns the value of
facet.default_display_count to DEFAULT_DISPLAY_COUNT and then uses the
latter in a number of comparisons. facet.default_display_count is
expected to be defined in config.tt2; however, on upgrade, sites with
many override templates may not realize that they need to define that
value in config.tt2. If they do not, then the result is a strange facet
display where only the facet category header shows, with no facets, and
Apache error log messages like:
Argument "" isn't numeric in numeric gt (>) at
/openils/var/templates/opac/parts/result/facets.tt2 line 72.
This simple defensive fix assigns a fallback default value if one was
not provided in config.tt2
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Sat, 22 Dec 2012 02:15:49 +0000 (21:15 -0500)]
Facets should not be sticky when users click "Search"
We were using a hidden form variable to track which facets were in use,
at the same time as relying on the GET params to actually display the
facets, and munging the links on the remaining facets to properly
add/subtract facets.
The result of the hidden form variable was that:
1) clicking the Search button would unexpectedly result in the facet
applying to the new search (wat)
2) applying two facets at once and then searching again would result
in the facet vars being treated as a raw array.
Thanks to Dan Pearl for inspiring this patch with his fix for the latter
problem, and Kathy Lussier's recognition of the basic problem.
Closes LP#
1092946 and
1091659.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>