Dan Scott [Fri, 19 Oct 2012 21:24:50 +0000 (17:24 -0400)]
Clean-up unused Apache header/library config vars
apxs is used to build the Apache modules, so there is no need to
configure the Apache / APR header and library paths.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Fri, 19 Oct 2012 21:05:53 +0000 (17:05 -0400)]
Reduce hard-coded configure defaults
We can and should be smarter about how we set configuration variables.
Rather than using hard-coded defaults for the OpenSRF header and library
locations, ask osrf_config what values to use.
Also be smarter about how we check for the OpenSRF library as a dependency.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Fri, 19 Oct 2012 20:10:35 +0000 (16:10 -0400)]
eg_config should be installed
We were not installing eg_config, which is a useful script for returning the
configured settings for an Evergreen installation.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Fri, 19 Oct 2012 19:23:28 +0000 (15:23 -0400)]
Generate Apache config files for increased portability
Continue weaning ourselves off of hardcoded paths such as /openils in config
files. Also, install the Apache config example files into a docs directory
instead of just leaving them in the source tree. Similarly, remove some
hardcoded paths from eg_db_config.pl.
At the same time, drop the '.pl' suffix from the scripts that we're touching,
and make the Apache startup script a little less generic in name.
The change from "startup.pl" to "eg_startup" and from "eg_db_config.pl"
to "eg_db_config" also results in updates to installation and upgrading
documentation.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Thomas Berezansky [Fri, 24 Aug 2012 14:48:39 +0000 (10:48 -0400)]
Remove broken error message
Checkout fills related hold causes an empty array sometimes, so don't throw
out errors for that.
Also, the original error would itself fail, throwing an error that would
then fail as well, likely due to a copy/paste issue.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Wed, 3 Oct 2012 19:27:37 +0000 (15:27 -0400)]
Include barcode in pre-cat confirm dialog
This allows staff to see what was scanned into the field as part of
the dialog window prior to confirming creating a pre-cat for it.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Thomas Berezansky [Wed, 3 Oct 2012 19:25:53 +0000 (15:25 -0400)]
Reporter: Sort contents of remote selector widgets
Simple sort based on the display value.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Thu, 28 Feb 2013 02:15:06 +0000 (21:15 -0500)]
Stamping upgrade script for Bib Merge Ignore Deleted Call Numbers
Signed-off-by: Ben Shum <bshum@biblio.org>
Steven Callender [Fri, 2 Nov 2012 20:20:32 +0000 (16:20 -0400)]
Changed bib merge to ignore deleted call numbers.
The asset.merge_record_assets function was not checking for deleted call numbers
and merging items onto deleted call numbers that of course causes issues.
Signed-off-by: Steve Callender <stevecallender@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Etheridge [Thu, 20 Dec 2012 18:40:41 +0000 (13:40 -0500)]
lp1092644 refresh row with Item Status Edit Volume
Assuming the Trim List box is not selected, this simply refreshes selected rows
in the Item Status interface that were used to provide context for the Actions
for Catalogers -> Edit Volumes command. If Trim List is selected, then the items
are instead re-added to top of the list.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Tue, 26 Feb 2013 19:33:58 +0000 (14:33 -0500)]
Repair clear holds shelf transaction timeout
Initiate our cstore transaction after making the initial, potentially
long-running call to collect the clear-shelf holds to process.
Otherwise, the cstore transaction may time out while waiting on the
holds retrieval to complete.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Etheridge [Wed, 30 Jan 2013 19:10:19 +0000 (14:10 -0500)]
set title during receipt/slip printing
This is to workaround a bug in CUPS where long window titles will
cause the print job to fail.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Fri, 8 Feb 2013 15:15:39 +0000 (10:15 -0500)]
Speed up sorted-related-holds query
In several interfaces, we use a server side method which gathers statistics
about a hold: related holds, it's position in the (approximate) queue, the
estimated wait time, etc. Within this method is a relatively complicated
json_query that returns the list of related, (FIFO-ish) sorted holds -- ones
that could be filled by a copy which could fill the hold in question. This
commit restructures that query so as to make it faster when the list of
related holds is large, by removing duplicate (cartesian product, actually)
hold ids that were being fed into an INNER JOIN clause.
Testing shows a speed increase of 4x for related-hold queue of around 675
holds [~2s -> ~0.5s] on a relatively large Evergreen installation,
appropriately tuned. The speed improvement gets larger with longer queues.
There is no observed decrease in speed for smaller queue sizes.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Tue, 12 Feb 2013 16:51:16 +0000 (11:51 -0500)]
Use LIMIT to speed EXISTS subqueries
EXISTS without LIMIT is considered harmful in many cases. Thus, we will
apply such an explicit planner hint in SuperCat. This reduces the runtime
of URI lookups on some records from 1.2s+ to less than 1ms.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Lebbeous Fogle-Weekley [Wed, 27 Feb 2013 16:57:45 +0000 (11:57 -0500)]
One more tiny i18n fix
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Lebbeous Fogle-Weekley [Wed, 27 Feb 2013 16:40:03 +0000 (11:40 -0500)]
Fix omissions of [% l(...) %] for i18n
Spotted by Pasi Kallinen.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mike Rylander [Wed, 27 Feb 2013 16:04:24 +0000 (11:04 -0500)]
Fixing upgrade script version of the permission id
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Wed, 27 Feb 2013 16:02:47 +0000 (11:02 -0500)]
Stamping upgrade scripts for Org Unit Proximity Adjustment and Custom Best-Hold Sort Order
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Lebbeous Fogle-Weekley [Thu, 13 Dec 2012 19:45:41 +0000 (14:45 -0500)]
Custom best-hold selection sort order
The ranking algorithm that chooses the best hold to target a copy in
hand at a capture time used to be fairly simple. It had two modes, FIFO
and not-FIFO, and that was it.
This change allows full configuration of that algorithm. In other
words, when the system captures a copy and sets out to evaluate what
hold, if any, that copy might best fulfull, site staff of sufficient
permission level are now empowered to choose exactly which comparisons
the systems makes in what order. This gives said staff much greater
flexibililty than they have today over holds policy.
For more information, see the included tech spec documents.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Conflicts:
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Signed-off-by: Mike Rylander <mrylander@gmail.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>