working/Evergreen.git
11 years agoCalculated Proximity Adjustments, a new feature
Lebbeous Fogle-Weekley [Wed, 12 Dec 2012 17:12:12 +0000 (12:12 -0500)]
Calculated Proximity Adjustments, a new feature

Allows customization to the way that Evergreen measures the distance
between org units for the purposes of 1) determining what copy at what
org unit is best suited for targeting a title-level hold, and 2)
determining what hold is best suited for fulfillment by a copy-in-hand
at capture (checkin) time.  The customization is based on a table
'actor.org_unit_proximity_adjustment', with certain matching criteria
that the system compares to properties of the holds and copies in
question.

This feature is actually side-ported from the FulfILLment project, where
it was originally developed by Mike Rylander.  Lebbeous Fogle-Weekley
was responsible for integration into current Evergreen code, some
testing and bug-fixing, and minor refinement of documentation.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoStamping upgrade scripts for Vandelay default match set, with minor adjustments
Mike Rylander [Wed, 27 Feb 2013 15:46:00 +0000 (10:46 -0500)]
Stamping upgrade scripts for Vandelay default match set, with minor adjustments

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAdd default Vandelay match set to schema
Ben Shum [Thu, 31 Jan 2013 23:15:28 +0000 (18:15 -0500)]
Add default Vandelay match set to schema

Only had the upgrade SQL, need to actually make the change to the stock schema too.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoRelease notes entry for default Vandelay match set
Kathy Lussier [Thu, 31 Jan 2013 17:50:47 +0000 (12:50 -0500)]
Release notes entry for default Vandelay match set

Adding a release notes entry for default Vandelay match set.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoVandelay: default match set
Jeff Davis [Wed, 17 Oct 2012 23:19:36 +0000 (16:19 -0700)]
Vandelay: default match set

Adds an org unit setting to specify a default Record Match Set when
importing MARC records with Vandelay.  NB: If this is set, it will not
be possible to leave the Record Match Set field blank; it may be
necessary to define a default match set that replicates the current
default behavior.

A new "Vandelay" settings group is also created.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTPac: Lookup hold patron after paste
Thomas Berezansky [Wed, 27 Feb 2013 15:11:11 +0000 (10:11 -0500)]
TPac: Lookup hold patron after paste

Because staff apparently don't like having to hit tab or enter after pasting a
patron barcode into the place hold interface.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoFix 0752 and 0756 upgrade scripts
Ben Shum [Sun, 17 Feb 2013 06:46:16 +0000 (01:46 -0500)]
Fix 0752 and 0756 upgrade scripts

In 0752, change evergreen.is_json() to just is_json() since some
upgraded sites may still have this in their public schema.

In 0756, drop some additional remnant functions if they exist. These
functions may still lurk in older Evergreen systems upgrading from
pre-2.0 times.

See for reference these commits which drop the older functions from
the schema:

415e0c40cf8ac0fbba91541f9ddf386d02f01fec
24007bf27d6f53073cfb45e4db43b88f651b971b

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoQueryParser: Improve container searches
Thomas Berezansky [Wed, 20 Feb 2013 17:26:01 +0000 (12:26 -0500)]
QueryParser: Improve container searches

Add a with/from set for containers for record limiting instead of using the
EXISTS methodology for better index usage.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoQueryParser: Check for URIs in staff visibility
Thomas Berezansky [Tue, 19 Feb 2013 16:42:08 +0000 (11:42 -0500)]
QueryParser: Check for URIs in staff visibility

Specifically, don't show staff records with no copies but with URIs unless the
URIs are "in scope".

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoQueryParser: Adjust visibility order
Thomas Berezansky [Tue, 19 Feb 2013 16:39:40 +0000 (11:39 -0500)]
QueryParser: Adjust visibility order

Checking call number URIs last gives us a faster return on average based on
finding copy information first.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoQueryParser: Provide null rank query as default
Thomas Berezansky [Sun, 17 Feb 2013 00:03:27 +0000 (19:03 -0500)]
QueryParser: Provide null rank query as default

If a given node contains only negative atoms the rank query was coming out as
an empty string, which was generating bad SQL. This causes the default to be a
null tsquery instead.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTranslation newpot
Bill Erickson [Thu, 21 Feb 2013 16:26:14 +0000 (11:26 -0500)]
Translation newpot

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoTPAC: Avoid leading / trailing space on pages
Dan Scott [Mon, 18 Feb 2013 22:48:44 +0000 (17:48 -0500)]
TPAC: Avoid leading / trailing space on pages

Use the [%- -%] whitespace-chomping directives to remove the leading
space on pages.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTPAC: Let there be HTML5
Dan Scott [Mon, 18 Feb 2013 22:44:28 +0000 (17:44 -0500)]
TPAC: Let there be HTML5

Stop living the lie that we're pretending to be XHTML Transitional and
embrace HTML5. And save a whole bunch of bytes right off the bat!

Also, use a valid language/locale identifier--we need hyphens instead of
underscores.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTPAC: Make Google Books Preview depend on Dojo
Dan Scott [Wed, 20 Feb 2013 16:37:08 +0000 (11:37 -0500)]
TPAC: Make Google Books Preview depend on Dojo

It would be possible, but painful, to do all of this in raw JavaScript,
so make the preview functionality depend on Dojo. Also, split out the
relevant JavaScript into its own file. Also, don't search for a preview
if no ISBNs have been gathered; I'm sure Google is never going to return
a result for ISBN:undefined.

You can test this functionality in the sample record set using ISBN
4431287752.

Thanks to Ben Shum for the review comments!

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTPAC: Google Books preview loader
Dan Scott [Tue, 5 Feb 2013 17:25:24 +0000 (12:25 -0500)]
TPAC: Google Books preview loader

Refinements should include checking more than just the first ISBN for
embeddability and passing more identifiers to the preview loader.
Roughly equivalent to what JSPAC had though.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoStop requiring unneeded/absent RPC::XML::Method
Jason Stephenson [Fri, 9 Nov 2012 20:06:04 +0000 (15:06 -0500)]
Stop requiring unneeded/absent RPC::XML::Method

It's not a thing in recent versions of RPC::XML

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoIn XML-RPC Gateway, substitute __ for - in method names
Lebbeous Fogle-Weekley [Mon, 22 Oct 2012 22:42:55 +0000 (18:42 -0400)]
In XML-RPC Gateway, substitute __ for - in method names

Dashes have never actually been valid in XML-RPC method names, and some
clients (like newer versions of Perl's RPC::XML) enforce this rule on
their clients.  This way we give XML-RPC clients a way they can still reach
our methods.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoStop requiring unneeded/absent RPC::XML::Function
Lebbeous Fogle-Weekley [Mon, 22 Oct 2012 22:19:03 +0000 (18:19 -0400)]
Stop requiring unneeded/absent RPC::XML::Function

It's not a thing in recent versions of RPC::XML

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Conflicts:
Open-ILS/src/extras/Makefile.install

11 years agoInstall CPAN on Fedora
Chris Sharp [Thu, 21 Feb 2013 18:33:31 +0000 (13:33 -0500)]
Install CPAN on Fedora

Fedora 18 split CPAN out into its own separate package, rather
bizarrely, and as we sadly still need to install some unpackaged
dependencies from CPAN we had better try to install it.

Signed-off-by: Dan Scott <dan@coffeecode.net>
11 years agoSerials: change more carp() to croak() to avoid infinite loops
Lebbeous Fogle-Weekley [Wed, 13 Feb 2013 15:34:17 +0000 (10:34 -0500)]
Serials: change more carp() to croak() to avoid infinite loops

This addresses a problem very similar to that in LP #1075167, where
certain loops never end because problems with the data elicited calls to
carp(), which fills up log, but never gives our loops notice to end.

Visible symptoms include 1) a greate volume of log spew and 2) an
open-ils.serial drone that ties up a CPU.

The fault lies maybe in our loops rather than in the MFHD
package, but this fixes the problem fastest, and should not have
undesirable side-effects.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoLP1108867: i18n support for holds in record details
Dan Scott [Tue, 29 Jan 2013 10:55:10 +0000 (12:55 +0200)]
LP1108867: i18n support for holds in record details

Rather than constructing a string of "Place hold on " + "copy", etc,
just display more complete "Copy hold" / "Volume hold" / "Issue hold"
strings that have a chance of being translatable.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
11 years agoStandardize on 'My' for user pronoun labels
Dan Wells [Fri, 1 Feb 2013 19:39:23 +0000 (14:39 -0500)]
Standardize on 'My' for user pronoun labels

The TPAC currently uses a mish-mash of 'My' and 'Your' when
labeling user elements (e.g. 'my list', 'your account', etc.).
This commit settles on the use of 'My', but only for labels, not
for "dialog" (e.g. 'Your payment has been approved') or for
imperative statements (e.g. 'Please change your password'). One
text which is borderline is 'Log in to Your Account', but I
decided to treat it as imperative and leave it alone for now.

This commit also changes a heading on the list page which was
lacking title case, as the rest of the interface uses title
case for all headings.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Conflicts:
Open-ILS/src/templates/opac/myopac/lists.tt2

11 years agoTPAC: Allow multiline buttons and other minor button work.
Pasi Kallinen [Tue, 22 Jan 2013 10:53:46 +0000 (12:53 +0200)]
TPAC: Allow multiline buttons and other minor button work.

Allows using multiline buttons; instead of using opac-button
-class in the a-tag, wrap the a-tag in a div with
opac-multiline-button -class.

Changes the login help button so a longer button text
behaves properly and looks good.

Unifies the green OPAC button behaviour when hovering
a mouse over them; the input and button -tag buttons
did not change their color.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2

11 years agoAdd Finnish to the enabled languages list
Pasi Kallinen [Tue, 8 Jan 2013 07:49:39 +0000 (09:49 +0200)]
Add Finnish to the enabled languages list

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Dan Scott <dan@coffeecode.net>
11 years agoFix failing SIP unit test
Dan Scott [Mon, 18 Feb 2013 22:59:45 +0000 (17:59 -0500)]
Fix failing SIP unit test

Per LP# 1099595, just copy the constant inline instead of requiring the
SIPServer code to be installed on every instance where you don't want
'make check' to fail. (Skipping the test in the absence of the SIPServer
code would be another option, but then you're skipping the test, and for
the sake of 1 constant, that seems like a bad trade.)

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agothe first rule of fixing typos is that you don't talk about fixing typos
Galen Charlton [Mon, 18 Feb 2013 22:42:11 +0000 (17:42 -0500)]
the first rule of fixing typos is that you don't talk about fixing typos

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoLet's inch towards valid XHTML by making POST and GET lowercase in our forms
James Fournie [Mon, 18 Feb 2013 20:41:20 +0000 (12:41 -0800)]
Let's inch towards valid XHTML by making POST and GET lowercase in our forms

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Dan Scott <dan@coffeecode.net>
11 years agotypos be gone
Galen Charlton [Mon, 18 Feb 2013 18:15:42 +0000 (13:15 -0500)]
typos be gone

There is nothing like an old typo
reaching out and shaking one by the collar
when reviewing patches.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoAdd Rose::URI prerequisite for Ubuntu systems
Lebbeous Fogle-Weekley [Mon, 18 Feb 2013 16:07:23 +0000 (11:07 -0500)]
Add Rose::URI prerequisite for Ubuntu systems

The Ubuntu parts of Makefile.install don't use the same list of CPAN
packages to install since for Ubuntu there are more distro packages
available than for Debian.

Spotted by Ben Shum.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP#1129318: fix exception thrown when printing circ receipts
Galen Charlton [Mon, 18 Feb 2013 17:44:50 +0000 (12:44 -0500)]
LP#1129318: fix exception thrown when printing circ receipts

Because of a misplaced parenthesis in the patch introducing the
PATRON_EXPIRE_DATE_YMD receipt macro, attempting to print
various circ receipts would result in the following exception:

Error in util.date.formatted_date:
location.href = oils://remote/xul/2.3_5/server/circ/checkin.xul
typeof orig_date = string orig_date = 2014-11-07T00:00:00-0500
typeof _date = object _date = Fri Nov 07 2014 00:00:00 GMT-0500 (Eastern Standard Time)
format = undefined
TypeError: s is undefined

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoDocument new dependency for standalone databases
Lebbeous Fogle-Weekley [Mon, 18 Feb 2013 15:11:34 +0000 (10:11 -0500)]
Document new dependency for standalone databases

Rose::URI.  I had added this to Makefile.install, but I forgot about this
section of documentation that lists dependencies for standalone databases.

Spotted by Ben Shum.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoLP 1092284 - Fix add to my list dropdown with ContentCafe links
Ben Shum [Wed, 16 Jan 2013 21:33:22 +0000 (16:33 -0500)]
LP 1092284 - Fix add to my list dropdown with ContentCafe links

As noted in the bug ticket, the dropdown menu for Add to my list disappears
whenever hovering over the Reviews & More link for ContentCafe-enabled TPACs.

Removing position:relative from .results_review seems to keep the two areas
from having any strange interactions.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
11 years agoqp_fix: number upgrade scripts, disable QP unit tests needing more attention
Lebbeous Fogle-Weekley [Fri, 15 Feb 2013 20:36:01 +0000 (15:36 -0500)]
qp_fix: number upgrade scripts, disable QP unit tests needing more attention

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser: use combined metabib_field column
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAdd basic release notes and notes for docwriters
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoUpgrade script for ts config use
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAdd config interfaces
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Much work
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Remove Unphrases, add negates
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoUse ][ instead of # to split facets
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Add "lucky" modifier
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Improve format filter
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Long Line Cleanup
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Remove Switch usage
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Improve anchored searches
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Protect against NULLs
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAdd bib_source filter
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoFix empty statuses filter
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Use proper table alias
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAdd some more test queries to query_tester.pl
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoRemove search.query_parser_fts from schema
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQuick script for pushing queries into search
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoRemove dependence on search.query_parser_fts proc
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryparser Driver: SQL Generation Tweaks
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser Driver: Adjust query whitespace
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser: Expand negate and disallow operators
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser: Add negate operator
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser: Treat Unphrases as negated phrases
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser: Protect phrase parsing
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoConvert negated words to unphrases, like we do with +d words to phrases
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoLots ...
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQueryParser unit test
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoStart adding skeletal POD for subroutines
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoMove allow_nested_modifiers to the driver level, provide a wrapper for it, and add...
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAllow nested modifiers
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoPretty-fy canonicalization
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoTeach QP about floating (force-to-top) subplans indicated by {{...}}
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoQP: OO-ize canonicalizer; remove extra nesting from canonicalized query; repair neste...
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoAutomatic push-down of explicitly-bool-connected conditions
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>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
11 years agoLP1071505 - Add 264 RDA tag to TPAC pubinfo display
Ben Shum [Wed, 10 Oct 2012 21:00:54 +0000 (17:00 -0400)]
LP1071505 - Add 264 RDA tag to TPAC pubinfo display

Prior to this, TPAC only retrieved the 260 tag for publication info. Allow for
the possibility that the 264 tag might exist and contain relevant information.
Special note: the 264 tag must have a second indicator value of 1 to be meant
for publication statement.

Also, this only picks out the first 260 or 264 tags in any given bib record.

Approach inspired by Dan Scott's approach taken for finding edition statements.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoFix some issues that crept into the schema files
Thomas Berezansky [Fri, 15 Feb 2013 16:05:24 +0000 (11:05 -0500)]
Fix some issues that crept into the schema files

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
11 years agoStamping upgrade script for ACQ upload defaults
Ben Shum [Fri, 15 Feb 2013 05:52:36 +0000 (00:52 -0500)]
Stamping upgrade script for ACQ upload defaults

Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP1100482 - Add max checked out indicator to patron interface
Kyle Tomita [Thu, 14 Feb 2013 22:42:10 +0000 (14:42 -0800)]
LP1100482 - Add max checked out indicator to patron interface

Patron exceeds max checked out indicator is not being displayed on patron page.

Created the indicator on the xul pages and the css to style it.  The js code
to hide and show indicator was there.

Signed-off-by: Kyle Tomita <ktomita@catalystitservices.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoACQ upload does not persist provider
Bill Erickson [Thu, 14 Feb 2013 20:55:49 +0000 (15:55 -0500)]
ACQ upload does not persist provider

Do not persist upload provider.  The org unit setting for defining a
default provide is still available.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoACQ upload persists fiscal year
Bill Erickson [Wed, 13 Feb 2013 20:20:37 +0000 (15:20 -0500)]
ACQ upload persists fiscal year

Persist the last used value for the fiscal year selector.  As noted in
the code, this is a stop-gap for using the current org unit fiscal year
as a default, which requires additional UI components.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoRepair ACQ upload defaults settings labels
Bill Erickson [Mon, 4 Feb 2013 21:01:19 +0000 (16:01 -0500)]
Repair ACQ upload defaults settings labels

LP 1109258

Replace "Upoad" with "Upload".  Remove preceeding "ACQ..." from labels,
since it's redundant with the org unit settings group.

Thanks to Ben Shum for finding these label errors.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoACQ upload form widget persistence release notes
Bill Erickson [Tue, 29 Jan 2013 20:10:08 +0000 (15:10 -0500)]
ACQ upload form widget persistence release notes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoACQ upload form widget value persistence
Bill Erickson [Fri, 25 Jan 2013 20:50:48 +0000 (15:50 -0500)]
ACQ upload form widget value persistence

Provides a two-layer persistence mechanism for the ACQ MARC file upload
interface(s).  For most of the widgets in the upload form, there is now
a matching org unit setting for configuring values ahead of time.  When
such a value is configured, the value will be used.  When no org unit
setting value is configured for a field, the value selected by staff is
stored locally (at the workstation) and re-used for future loads of the
interface.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoACQ MARC upload UI default values SQL
Bill Erickson [Mon, 28 Jan 2013 17:02:26 +0000 (12:02 -0500)]
ACQ MARC upload UI default values SQL

Adds a series of org unit settings for configuring the default values to
use for the acquisistions MARC upload interface.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoXUL localStorage interface
Bill Erickson [Fri, 25 Jan 2013 20:46:39 +0000 (15:46 -0500)]
XUL localStorage interface

localStorage is so much better than cookies.  To use it inside of
XUL-embedded web pages, we have to use the XUL localStorage interface,
since window.localStorage is not available within the oils:// protocol.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP1097928 - Better caps lock message
James Fournie [Wed, 9 Jan 2013 20:24:27 +0000 (12:24 -0800)]
LP1097928 - Better caps lock message

The TPAC login failure message states "Ensure Caps-Lock is off" however
as was noted on IRC not long ago, passwords are case-sensitive.  So this
message may be misleading.

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoAcq: EDI omnibus bugfix package
Lebbeous Fogle-Weekley [Wed, 23 Jan 2013 18:07:33 +0000 (13:07 -0500)]
Acq: EDI omnibus bugfix package

EDIReader bugfix - Process misc charges better
    MOA+304 seems to be an encoding peculiar to Ingram for processing fees.

Bubble up errors better from invoice processing
    Errors were getting logged, but weren't linked on the related
    acq.edi_message row in the database like they could have been to make
    debugging easier.

    This incidentally elevates one possible message from warning level to
    error, but even as a warning it was stopping the processing of the
    invoice in question there.  So there's no meaningful difference.

Try harder to associate incoming EDI messages with exact right account
    Sites use many very nearly identical EDI accounts (same host and
    credentials) with different values only for the label and the vendcode.
    This allows mapping of an order to a profile on the vendor side.

    The problem with this is that the edi_fetcher and the processes it
    kicks off did not know how to map incoming messages to the right
    account based on vendcode.  That code simply iterated through
    accounts, using host information and login credentials, and grabbing
    what it can find, as if
    there will be no other Evergreen-side EDI "accounts" with the same
    hostname and loging credentials.

    This should help with that.

Style and whitespace cleanups in O::A::Acq::EDI.pm
    All I could stand before I just couldn't take it anymore.

New PO template created malformed JSON in the INC_COPIES=0 case
    And now it no longer should.

Allow order responses and invoices to omit PO repetition in lineitem refs
    Usually vendor documents have bits of EDI that look like:
    RFF+LI:100/123
    where 100 is a PO number and 123 is a lineitem number.

    Sometimes, for some documents, B&T at least will omit the '100/' part.
    This is fine because we don't really need that number repeated for
    every lineitem.  We do need this change so that our EDI reader code
    can deal with the omission, though.

Be more liberal reading EDIFACT message reference number
    Spec, if I read it correctly, says that this is alphanumeric, not just
    numeric, and ULS is one vendor I've seen taking advantage of letters
    and numbers in that space.

    This commit makes the relevant regex in our EDIReader appropriately
    more tolerant.

Fixes to new vencode parsing for incoming EDI messages

Prevent problem in preventing EDI re-retrieves
    The query we were using before would needlessly transfer large objects,
    potentially hitting Jabber message size limits.

    We're just testing for the existence of such objects, so we need no
    more than a single ID in the result.

Fix EDI invoices for ULS, improve troubleshootability
    1) Taxes appear in different, but still valid way in ULS invoices than
    in invoices from other vendors observed to date.

    2) Invoices from ULS use MOA 203 to indicate unit price instead of the
    usual meaning of whole-lineitem price.

    3) Now abuse acq.invoice.note to leave better troubleshooting
    breadcrumbs.

Invoices from EDI had unsavable invoice_items attached
    Deal with this by letting us create fund_debits a little later than in
    the previous workflow. We have to, because the EDI-level stuff creating
    the invoice doesn't know what fund we want to target for taxes and misc
    charges.

    The problem we're fixing manifested by showing an alert() dialog about
    ACQ_FUND_DEBIT_NOT_FOUND.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoStamping upgrades for Link Checker
Mike Rylander [Thu, 14 Feb 2013 19:24:00 +0000 (14:24 -0500)]
Stamping upgrades for Link Checker

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: URL extraction bugfix and usability improvements
Lebbeous Fogle-Weekley [Tue, 8 Jan 2013 23:54:10 +0000 (18:54 -0500)]
Link checker: URL extraction bugfix and usability improvements

The database procedure for URL extraction did not correctly handle
URLs in repeating subfields in the same tag.  Now fixed.

You now get a hint if you try to create a session with a name you have
used before.

Some UI elements on the create session interface have been reordered to
be more logical.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: Some UI tweaks suggested by George Duimovich
Lebbeous Fogle-Weekley [Wed, 21 Nov 2012 18:49:59 +0000 (13:49 -0500)]
Link checker: Some UI tweaks suggested by George Duimovich

  - Make the "Filter" link above FlattenerGrids a button and not a link.

  - Instead of IDs as links in some grid columns, have the ID show up in
    plain text and have links with a more descriptive name sit next to the
    ID.

  - Correct the settings for saving grid columns on the Select URLs and
    Review Attempt interfaces.

  - Tiny i18n fixes (page titles)

  - Fix lack of horizontal scrollbar on Select URLs interface, and also
    fix the way that if you clicked on said scrollbar in a case where
    your grid was taller than your browser window, the page would
    automatically scroll up to focus on your grid header row, and you
    couldn't actually manipulate the horizontal scrollbar.  We sadly
    pay for our horiz scrollbar with a doubled vertical scrollbar, but
    possibly someone can figure the Right way to fix such layout
    problems, which actually occur widely in similar interfaces in
    Evergreen.

  - Add buttons to download CSV on Select URLs and Review Attempt
    interfaces.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: make bib ID visible by default in attempt review view
Galen Charlton [Fri, 19 Oct 2012 19:23:55 +0000 (15:23 -0400)]
Link checker: make bib ID visible by default in attempt review view

Since a piece of workflow (opening the bib in the MARC editor) hangs
off of it, may as well not hide it.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: Links to MARC Editor in verification review interface
Lebbeous Fogle-Weekley [Fri, 19 Oct 2012 18:34:49 +0000 (14:34 -0400)]
Link checker: Links to MARC Editor in verification review interface

Now you can click on the number in the Record ID column on any row in
the verification review interface to launch the MARC Editor for that
record.

This is only supports the most basic of possible mediation workflows to
follow a link checker run, but more could be done with future
development.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: Allow configurable User Agent string
Lebbeous Fogle-Weekley [Wed, 26 Sep 2012 21:35:05 +0000 (17:35 -0400)]
Link checker: Allow configurable User Agent string

Credit to Bill Erickson for noticing that tests were resulting in an
inordinate number of 403 Forbidden responses, which turned out to be
due to discrimination by sites against a libwww/* user agent string.

We now use "Evergreen <version> Link Checker" by default, and it's
configurable in opensrf.xml (grep for user_agent).

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: technical overview (documentation)
Lebbeous Fogle-Weekley [Wed, 26 Sep 2012 18:34:17 +0000 (14:34 -0400)]
Link checker: technical overview (documentation)

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: user interface and supporting fixes (part 2)
Lebbeous Fogle-Weekley [Fri, 31 Aug 2012 21:31:43 +0000 (17:31 -0400)]
Link checker: user interface and supporting fixes (part 2)

Started verification review UI, also SCHEMA CHANGES
    It just doesn't work for me to not have url_verify.url directly related
    to url_verify.session.  When dealing with the "root" URL in a redirect
    chain, you can get the related session through url_selector, but not when
    you have any later URL in the chain.  The only way for IDL perms to work
    would be to have a link to a view using a CTE to find the "root" URL.
    That's too complex, so instead of that I've just added a session fkey on
    url_verify.url.
Corrections to the preceding commit
Vertical scrolling UI glitches fixed
Fix broken display of verification attempt in progress
Implement the "process immediately" switch, hitherto unhooked up
Verify-all now means all-matching-my-search-terms, not necessarily all-in-uvs
let's do filter sets a little more generalized-like
Permission fixing
Filter set loading works.
Filter loading: gracefully skip unknown fields, remove inital empty row
Saving filter sets
Fix filter dialog for pkey fields, scrolliness issue, saved filters issue
Pretty start page for staff client menu to land on
Staff client menu entry
User settings for saved columns
Session cloning, working and rather tested
show name of session on url select page ...
    ... and link back to that on review attempt page
IN / NOT IN for filter somewhat working, but doesn't save/load yet
Saving/loading filter rows for IN, NOT IN operators
Printing

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: URLVerify.pm; response throttling repairs
Bill Erickson [Fri, 31 Aug 2012 13:59:58 +0000 (09:59 -0400)]
Link checker: URLVerify.pm; response throttling repairs

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: user interface and supporting fixes (part 1)
Lebbeous Fogle-Weekley [Fri, 17 Aug 2012 16:17:00 +0000 (12:17 -0400)]
Link checker: user interface and supporting fixes (part 1)

Add open-ils.url_verify service to example OpenSRF configs
ML methods to create sessions and do the searching/bucketing
    We can't use PCRUD to create url_verify.session objects because a) you
    couldn't trust the creator field if we allowed that, and b) the
    container foreign key has a not-null constraint, so you have to create
    that first, and you can't do that with PCRUD.
    I've removed the C, U and D perms for PCRUD for url_verify.session, but
    I left the R in case we wind up using that.
Beginnings for the big session kick-off UI.  Not yet functional.
Get all search results, not just first 10
Check for session ownership and for previous searchitude
Deal with moved publish_fieldmapper() method
    This is a companion commit to
    fac45ab9b1cb8924 / Move Fieldmapper API call to Application.pm
    Without it, Flattener and Action/Trigger stop working with errors like
    this:
    [Mon Aug 20 13:50:18 2012] [error] [client XXX.XXX.XXX.XXX] Exception:
    OpenSRF::EX::ERROR 2012-08-20T13:50:18 main -e:0 System ERROR:
    Exception: OpenSRF::DomainObject::oilsMethodException
    2012-08-20T13:50:18 OpenSRF::AppRequest
    /usr/local/share/perl/5.10.1/OpenSRF/AppSession.pm:1064 <500>   *** Call
    to [open-ils.fielder.flattened_search.execute.atomic] failed for session
    [1345485018.767884163.96534353976], thread trace [1]:\nNo field by the
    name publish_fieldmapper in Fieldmapper! at
    /usr/local/share/perl/5.10.1/OpenILS/Utils/Fieldmapper.pm line
    270.\n\n\n\n, referer:
    http://XXXXXXX/eg/conify/global/actor/search_filter_group
Use a perm that actually exists
More UI work. Saved search selector & search scope OU selector & cosmetics
Fix subtle Perl issue
    Not a syntax error that the compiler will catch, but see
    "perldoc -f do" which will lead you do "perldoc perlsyn"
Buckets and their items aren't designed to be PCRUD accessible,
    so we need a handy view to link URL Verify Sessions to the bib
    contained.  We can leverage this in flattener queries.
Pretty much finished session create UI but for cloning
Permisison fixing
whitespace
Fix previously nonfunctional stored procedure url_verify.extract_urls(INT,INT)
Call URL extraction phase from UI
Fix xpath generation to match what works
Various fixes, largely UI
Refactor create_session as dojo module.
Fix IDL permissions that require jumps
Essentials for URL selecting interface
Verification sorta works
A note about open-ils.url_verify.verify_url for future reference

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: DB layer fixes
Mike Rylander [Mon, 13 Aug 2012 20:10:38 +0000 (16:10 -0400)]
Link checker: DB layer fixes

Function for ingesting URLs from container item + session
New container type for url verification sessions

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: middle layer work, actual parallelized machinery to check links
Bill Erickson [Tue, 7 Aug 2012 20:28:33 +0000 (16:28 -0400)]
Link checker: middle layer work, actual parallelized machinery to check links

Added is_event check to AppUtils
URLVerify.pm getting started
URLVerify.pm; firing batch url verify calls
URLVerify.pm; docs / cleanup
Constraints need unique names
Liberalize res_code constraint
URLVerify.pm; resume options; docs
URLVerify.pm; initial testing tweaks
Move Fieldmapper API call to Application.pm
Move export of opensrf.open-ils.system.fieldmapper API call from
    Fieldmapper.pm into Application.pm with the rest of the shared API
    calls.  This allows us to remove the OpenSRF::Application base from
    Fieldmapper, which was causing some method name collisions.  For
    example, if a Fieldmapper object had a field called "session", which,
    incidentally, is also a method of OpenSRF::Application, the version
    from OpenSRF::Application would get called instead of the Fieldmapper
    version, since Fieldmapper methods are defined during AUTOLOAD.
    Hilarity was guaranteed to ensue.
URLVerify.pm; more testing tweaks
URLVerify.pm; redirects / error handling
url_verify perm/org setting seed data
url_verify perm/org setting seed data
url_verify perm/org setting seed data
url_verify seed data (trigger)
url verify seed data / null constraint repairs
URLVerify.pm; settings, tmp caching, cleanup / misc
url verify seed data repairs
url_verify seed data / sql manifest
url_verify schema repair / res-code constraint
Do the same thing I did to fix constrain names in upgr scripts to baseline
URLVerify.pm; move to lwp to support ftp and simplify
URLVerify.pm; apply timeout to lwp useragent; comments
URLVerify.pm; avoid re-processing same url within the same attempt
URLVerify.pm; avoid re-processing same url within the same attempt (thinko)
URLVerify.pm; avoid re-processing same url repairs; honor delay=0
URLVerify.pm; docs; url shuffling
URLVerify.pm; docs; url shuffling
URLVerify.pm; docs; url domain looping; cleanup
URLVerify.pm; docs; tested redirect max/loops and repairs

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLink checker: DB layer and similar changes for URL Verification
Mike Rylander [Mon, 6 Aug 2012 19:51:04 +0000 (15:51 -0400)]
Link checker: DB layer and similar changes for URL Verification

Schema and IDL changes for URL Verification functionality
Start building URL-Validation related funcitons
Add Rose::URI to the CPAN_MODULES list
Add ON INSERT trigger to parse the URL as it is added

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoRepair tpac OU hiding test for copy counts display
Bill Erickson [Thu, 6 Dec 2012 15:19:00 +0000 (10:19 -0500)]
Repair tpac OU hiding test for copy counts display

Ensure calls to ctx.org_hiding_disabled() are made against the context
(ctx) object, instead of the old-style in-template invocation without
the context.

Thanks to Dale Rigney for spotting this.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTPAC Org unit hiding
Bill Erickson [Fri, 21 Sep 2012 17:58:46 +0000 (13:58 -0400)]
TPAC Org unit hiding

Adds support for the opac.org_unit_hiding.depth org unit setting to
TPAC, which makes out-of-scope org units disappear (except when
explicitly requested).

Ui changes:

All search org unit selectors
Holds pickup lib selector
Copy summary in search results page
Copy list in search results page
Copy summary in record detail page (which controls the copy grid).
Hold summary in record detail

Org unit hiding is based on the physical_loc (Physical Location) param /
cookie, which is the closest analog to 'ol' (original location), from
which it was based in the JSPAC.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoDon't sort filter group entries in the template
Mike Rylander [Thu, 14 Feb 2013 16:00:42 +0000 (11:00 -0500)]
Don't sort filter group entries in the template

They are now delivered sorted by 'pos', and the template sorting was
ascii-betical anyway, which is incorrect.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoSort search filter group entries by 'pos'
Mike Rylander [Thu, 14 Feb 2013 15:51:37 +0000 (10:51 -0500)]
Sort search filter group entries by 'pos'

We use a fleshed cstore call to grab search filter groups and their entries,
but we don't currently sort them by their 'pos' field, which is it's purpose.
cstore will apply order_by expressions to the applicable tables in a fleshed
search/retrieve. This does that.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>