Bill Erickson [Tue, 7 Feb 2017 18:59:10 +0000 (13:59 -0500)]
LP#
1596595 Targeter leverages batch AOUS lookups
Use the batch-by-org AOUS lookup function to fetch settings with one
cstore call across a wide set of org units. This reduces the number of
cstore calls required, significantly in some cases, for single-use hold
targeter instances (like placement time targeting, checkin retargeting).
Specifically, in cases where a hold has targetable copies at multiple
circ libs, only one cstore call is needed for each of the
circ.holds.org_unit_target_weight and
circ.holds.target_when_closed settings, as opposed to one cstore call
for each per circ lib.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Tue, 7 Feb 2017 17:25:01 +0000 (12:25 -0500)]
LP#
1596595 AOUS lookup batch by org id
Org unit setting value lookup for batches of org units, instead of the
traditional batches by setting name.
Perl live test included.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Tue, 7 Feb 2017 15:27:52 +0000 (10:27 -0500)]
LP#
1596595 Targeter use child editor for settings
Use the CStoreEditor linked to the ::Single (child) targeter object when
possible to fetch org unit setting values.
In cases where settings for many org units have to be retrieved at once,
the settings lookups can take long enough that the in-transaction editor
on the child targeter can timeout. Using the child's editor directly
for the lookups will prevent this timeout and make the lookups a little
bit faster, since a new connect will not be required for each lookup.
This timeout scenario can occur with settings like
circ.holds.max_org_unit_target_loops and
circ.holds.target_when_closed, when there is wide variety of targetable
copies, because each have to be fetched once per target-able copy circ lib.
A secondary optimization would be a batch org setting lookup that
batches on org unit instead of setting name.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Thu, 2 Feb 2017 22:00:24 +0000 (17:00 -0500)]
LP#
1596595 Targeter accepts a list of hold ID's
Allow the caller to pass a list of hold ID's (consistent with the
current hold targeter). This resolves the issue where the checkin
process attempts to retarget a set of holds via a single targeter call.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Thu, 19 Jan 2017 17:21:11 +0000 (12:21 -0500)]
LP#
1596595 Hold copy permit test thinko repair
Pickup and requesting org unit IDs were passed in the wrong order to
the copy permit test. This resulted in some items, particularly age
protected copies, appearing on the holds pull list even though they were
not (yet) permitted for hold capture at a remoted library.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Mon, 5 Dec 2016 20:46:41 +0000 (15:46 -0500)]
LP#
1596595 Find parallel holds in main query
Identify holds to process by which metarecord the hold is (ultimately)
linked to within the main holds query instead of via a secondary filter.
This avoids the overhead of starting a new batch of hold targeters,
where each process has to fetch all possible holds, then filter down to
those targetable within the current parallel slot. In thise case, each
process only retrieves the holds it plans to process.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Fri, 1 Jul 2016 15:26:26 +0000 (11:26 -0400)]
LP#
1596595 Hold targeter release notes
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Mon, 15 Aug 2016 16:27:51 +0000 (12:27 -0400)]
LP#
1596595 Hold targeter perl live tests
1. Batch of tests for concerto hold 1 / title hold
2. Batch of tests for concerto hold 265 / metarecord hold with
holdable_formats restriction.
3. --skip-viable test
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 5 Oct 2016 16:59:00 +0000 (12:59 -0400)]
LP#
1596595 Adds sample metarecord hold to concerto
Adds a holdable_formats option to concerto's populate_hold() function.
Inserts one metarecord hold for testing.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Tue, 7 Jun 2016 21:32:14 +0000 (17:32 -0400)]
LP#
1596595 Hold targeter refactoring and optimization.
* New open-ils.hold-targeter service
* Ports hold targeter code to a Perl utility function, communicating w/
the DB via cstore instead of storage.
* Adds a new global flag 'circ.holds.retarget_interval' for configuring
the hold retarget interval in the database.
* Adds a new DB function to regenerating hold copy maps to make map
deletion and creation more efficient.
* Adds an option for targeting holds in newest to oldest order.
* Caches all org unit settings per targeter run.
* Adds support for "skip_viable" option. This tells the hold targeter
to avoid modifying any holds that target viable copies. AKA "fix
broken" mode.
For example, you might run in skip_viable mode with a retarget
interval of 24hr once a day to repair non-viable holds, then also run
the targeter in regular mode once a day with a retarget interval of 48
hours to give staff 2 days to process viable holds.
* Hold target loops logic changes:
** Org units with fewer target attempts are prioritized during loop
processing. So, instead of segregating org units into 2 categetories,
those attempted in the current loop and those not attempted, sort those
not attempted by the number number of times they have been attempted.
Within each grouping, prioritize by target weight/proximity as before.
** All org units that have been attempted less than the max configured
amount are on the table for targeting, not just those that have been
targeted less than the current loop max. If no orgs with
less-than-current-max attempts are found, try orgs that match the
current max (but are still less than the configured max).
** When activated, target looping treats the pickup lib like any
other org unit. If a targeted copy at the pickup lib remains
un-captured, at re-target time, a copy at a different branch is
chosen (if one is available) even if other copies at the pickup
lib are targetable.
* Parallel targeting support baked into service.
Teach the targeter to process a subset of holds based on the number of
parallel targeters at play and the parallel targeting slot each targeter
instance occupies.
As with the existing hold targeter, group holds by their metarecord to
avoid multiple targeter processes targeting the same sets of potential
copies.
* Logging / code refactoring and clean up.
* New hold_targeter_v2.pl script for batch hold targeting. Existing
targeter remains for backwards-compat.
hold_targeter_v2.pl options:
--verbose
Print process counts
--parallel <parallel-process-count>
Number of parallel hold processors to run. This overrides any
value found in opensrf.xml
--target-all
Target all active holds, regardless of when they were last targeted.
--skip-viable
Avoid modifying holds that currently target viable copies.
In other words, only (re)target holds in a non-viable state.
--retarget-interval
Override the 'circ.holds.retarget_interval' global_flag value.
--parallel-init-sleep
Time to wait between starting each parallel instance. Useful for
avoiding dog-piling the DB.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Kyle Huckins [Wed, 5 Oct 2016 16:08:27 +0000 (09:08 -0700)]
LP#
1528919: Alphabetise non-catalogued item types
Use an orderBy expression on the lists of noncat types
on the patron checkout page and inhouse-use page.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kyle Huckins [Tue, 4 Oct 2016 20:24:54 +0000 (13:24 -0700)]
LP#
1528911 Billing Type Alphabetical
Add an orderBy expression to the options in the
billing type selection box.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jeanette Lundgren [Tue, 10 Jan 2017 20:21:05 +0000 (15:21 -0500)]
docs: LP1655400 Phonelist.pm broken formatting
Signed-off-by: Jeanette Lundgren <jlundgren@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kathy Lussier [Tue, 7 Feb 2017 05:06:10 +0000 (00:06 -0500)]
LP#
1662319: zindex Tweak in Patron Account
The Other menu in a patron's account was dropping down behind the specify due
date input box. A tweak to the zindex for the Patron Account tabs was needed
for the menu to display in front of the input box.
Test plan:
Retrieve a patron in the web client. To the right of the Patron Account tabs,
click the Other dropdown menu. The menu will appear behind due date input.
Depending on the browser / screen resolution, it may also hide one of the
options in the dropdown menu. After the patch is loaded, the menu should display in front of the input as expected.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Ben Shum [Sun, 12 Feb 2017 00:07:14 +0000 (19:07 -0500)]
LP#
1455606: Add release note about removal of unused selfcheck password library setting
Just in case, added a quick release note about the removal of this setting.
Signed-off-by: Ben Shum <ben@evergreener.net>
Ben Shum [Sun, 12 Feb 2017 00:04:59 +0000 (19:04 -0500)]
LP#
1455606: Stamping upgrade script for removing unused selfcheck password setting
Signed-off-by: Ben Shum <ben@evergreener.net>
Chris Sharp [Wed, 12 Oct 2016 11:05:32 +0000 (07:05 -0400)]
LP#
1455606 - Also delete from config.org_unit_setting_type log.
As Ben Shum pointed out, the upgrade script will fail if entries
still exist for the removed setting, so we delete them too.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
Jeff Godin [Thu, 14 May 2015 23:58:18 +0000 (16:58 -0700)]
LP#
1455606 remove unused self checkout setting
There is an unused (and apparently never used) org unit setting
related to self checkout:
circ.selfcheck.require_patron_password
This commit removes the redundant unused setting, related
permissions, and related strings.
Thanks to Lynn Floyd with the Anderson County Library for pointing
this out.
Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
Conflicts:
build/i18n/po/db.seed/db.seed.pot
Signed-off-by: Ben Shum <ben@evergreener.net>
Jason Stephenson [Sat, 14 Jan 2017 18:00:45 +0000 (13:00 -0500)]
LP
1656549: Remove Makefile, Makefile.in, Makefile.am
This commit adds a line to Open-ILS/web/Makefile.am to delete the
Makefile, Makefile.in, and Makefile.am that are copied to the
destination WEBDIR.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
Ben Shum [Sat, 11 Feb 2017 23:24:35 +0000 (18:24 -0500)]
LP#697926: change ar-AR to ar-JO
Also change update script and .gitignore file references
Signed-off-by: Ben Shum <ben@evergreener.net>
Ben Shum [Sat, 11 Feb 2017 23:18:41 +0000 (18:18 -0500)]
LP#697926: change ar-AR to ar-JO
With an active translator from Jordan for the Arabic strings, we are opting
to change the locale from ar-AR to ar-JO.
Signed-off-by: Ben Shum <ben@evergreener.net>
Ben Shum [Sat, 11 Feb 2017 23:09:05 +0000 (18:09 -0500)]
Translation updates - po files
Signed-off-by: Ben Shum <ben@evergreener.net>
Bill Erickson [Tue, 3 Jan 2017 16:59:26 +0000 (11:59 -0500)]
LP#
1653742 Copy tree authoritative API share cstores
Avoid opening one cstore connection per requested org unit in the
open-ils.cat.asset.copy_tree.retrieve.authoritative API by creating a
single shared cstore connection at the top of the API shared by all
API actions.
To test:
1. In one terminal:
% tail osrfsys.log | grep transaction.begin
2. In another terminal:
srfsh% request open-ils.cat
open-ils.cat.asset.copy_tree.retrieve.authoritative "AUTOTOKEN", 217,
[1,2,3,4,5,6,7,8,9]
3. 9 cstore transactions are opened before patching. After patching,
only 1 is created.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Stephenson [Sat, 10 Dec 2016 01:45:33 +0000 (20:45 -0500)]
LP
1648918: Remove Workstation at Root of User's Permission Tree
If you register a workstation at the root of the user's permission
tree in the webstaff client, you are not able to later remove it. The
Remove button is dimmed. You can remove a workstation registered at
any other org_unit where the user has the REGISTER_WORKSTATION
permission.
To reproduce this bug, login as the admin user and register a
workstation at the CONS org_unit. Then, go to Workstation
Administration and see that the Remove button is dimmed.
To test the patch, do the same, but see that the Remove button is not
dimmed. When you click it, the workstation is also removed.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kathy Lussier [Fri, 10 Feb 2017 15:55:07 +0000 (10:55 -0500)]
LP#
1360347: Stamping upgrade script for custom status at receiving
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Chris Sharp [Tue, 23 Aug 2016 12:53:41 +0000 (08:53 -0400)]
LP#
1360347 - Acq custom copy status at receiving
Current acq behavior is that received items get a
copy status of "In Process". This status is typically
holdable and opac_visible, and some libraries have a need
for an intermediate status between "On Order" and "In Process".
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Fri, 10 Feb 2017 13:10:15 +0000 (08:10 -0500)]
Database upgrade script fixes
Fixing up a couple of upgrade scripts that I merged this week.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Fri, 6 Jan 2017 16:13:26 +0000 (11:13 -0500)]
LP#
1654534: Prevent loop that occurs when staff us 'place another hold' link
A hidden field that tracked the page the user was on before placing a hold was
inadvertently removed in another bug fix. As a result, if staff used the link
to place another hold on the same title, they were stuck in a loop where they
couldn't return to the source page after hitting the 'continue' button. This
commit restores that hidden field.
Also provides a fix so that hold labels used in the place another hold link
can be translated.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
Kathy Lussier [Thu, 9 Feb 2017 23:28:12 +0000 (18:28 -0500)]
LP#
1613341: Stamping upgrade script for punctuation-insensitive patron search
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Pearl [Wed, 8 Feb 2017 22:57:20 +0000 (17:57 -0500)]
LP#
1613341 - Patron name search should be punctuation-insensitive
O'Brien will be matched by Obrien, O'Brien, O Brien etc.
Grubbly-Plank will be matched by Grubbly Plank, Grubbly-Plank, Grubblyplank, etc.
This feature is controlled by the same org setting that controls ignoring
of diacritical marks.
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Thu, 9 Feb 2017 20:20:26 +0000 (15:20 -0500)]
LP#
1541801: grab search field code correctly
When using orderObjectBy, the search field code is now
to be found in a property called 'key'.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 6 Feb 2017 17:07:01 +0000 (12:07 -0500)]
LP#
1541801: order search fields in Z39.50 alphabetically
This patch causes search fields in the Z39.50 search interface
in the web staff client to be place in alphabetical order by
field label.
To test:
[1] Open the Z39.50 search page in the web staff client and select
one or more search services.
[2] Verify that the list of fields is ordered alphabetically.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 6 Feb 2017 17:03:28 +0000 (12:03 -0500)]
LP#
1541801: add angular-order-object-by dependency
This adds a orderObjectBy filter that permits the ordering
of results in ng-repeat when the source collection is an
object instead of any array, e.g.,
<div ng-repeat=(foo, bar) in object | orderObjectBy: 'sortfield' ...
The dependency is MIT-licensed and is copyright (c) 2015 Fabricio Quagliariello
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Thu, 9 Feb 2017 20:58:17 +0000 (15:58 -0500)]
LP#
1005040: Stamping upgrade script for realign search layers
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 9 Feb 2017 19:45:55 +0000 (14:45 -0500)]
Adjust comment about apostrophes in opensearch code. This is a marker for future work.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Thu, 9 Feb 2017 18:41:06 +0000 (13:41 -0500)]
LP#
1005040: Release notes entry for advanced search limiter improvements
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Tue, 20 Dec 2016 20:29:50 +0000 (15:29 -0500)]
LP#
1005040: Styling cleanup for filter display
1) Use a unicode X instead of the string "Remove"
2) Provide a border around filters
3) Label filters with "Filtered by"
4) Only show "[X filters applied ]" when in mobile mode, and make it
work like the "Refine these results" button.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 17 Feb 2014 18:00:05 +0000 (13:00 -0500)]
LP1281280: Allow test script to run without a full installation
--no-connect causes it to do what it says on the tin.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 15 Nov 2016 19:26:48 +0000 (14:26 -0500)]
LP1281280: Improve query tree compression
In addition to collapsing adjacent nodes sharing the same boolean operator,
we'll now also do the following two things: collapse filters, facets and
modifiers when there exists only a single subnode; and absorb single node
subplans.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 17 Feb 2014 18:00:12 +0000 (13:00 -0500)]
LP1281280: Implement adjacent-node pull-up optimization
If one has a long list of boolean operations, such as can
be generated by third-party products looking for a book that
might have one of several different ISBNs, those are currently
searched separatelly, in a deep nested set of joined full-text
queries. This behavior was introduced to address problems of
non-deterministic grouping of boolean operations, along with
them generally not working in complex situations. We call
the mechanism "boolean push-down", because it explicitly
bifurcates the tree at each boolean operator.
This is suboptimal in the case of adjacent, like boolean ops.
This commit re-compresses the parse tree for adjacent nodes
that use the same boolean operator and are composed of atoms
only (that is, no modifiers, filters, or phrases). It ignores
any explicit groupings by the user, the "magical" floating
subplan, any subplans that include filters or modifiers, and
any nodes that have a mix of boolean operators between their
atoms.
This is probably more conservative that is strictly necessary,
and phrases would likely be safe, but baby steps.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Thu, 20 Oct 2016 14:19:09 +0000 (10:19 -0400)]
LP#
1005040: Add more ignorable filters to the sidebar count calculation
We need to ignore site() and location_groups() when counting filters, as
these have widgets in the search bar.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Tue, 18 Oct 2016 18:20:25 +0000 (14:20 -0400)]
LP#
1005040: adjust test cases
* Now reflects change in signature of
OpenILS::WWW::EGCatLoader::_prepare_biblio_search()
* add test case for change in date filter mapping
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Mike Rylander [Tue, 11 Oct 2016 15:36:42 +0000 (11:36 -0400)]
LP#
1005040: show number of filters applied
If at least advanced search filter is applied, the number
of them in force is displayed just below the search bar
next to the refine search link.
This patch also renames "opac-auto-102" CSS class to "refine_search"
and tweaks its left padding.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Tue, 4 Oct 2016 21:00:15 +0000 (17:00 -0400)]
LP#
1005040: add filter control widget for publication year
This patch also changes the rewriting of an "is"
pubdate filter from between(value,value) to date1(value),
which should be slightly faster.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Tue, 4 Oct 2016 20:06:32 +0000 (16:06 -0400)]
LP#
1005040: teach filter boxes about human-readable crad descriptions
This patch ensures that the human-readable record attribute
description, if available, will be used for the title of each
filter control widget. It also gives descriptions to record
attributes commonly used for advanced search filters.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Tue, 4 Oct 2016 18:21:29 +0000 (14:21 -0400)]
LP#
1005040: display search filter sidebar on lowhits page
With this, if a user over-filters their initial search, they
can more easily remove filters.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Tue, 4 Oct 2016 18:08:14 +0000 (14:08 -0400)]
LP#
1005040: various improvements to the filter control widgets
* ensure that filter values are sorted
* fix the link for removing location filters
* don't display a filter box for search_format, as that
already has a separate drop-down in the search bar
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Tue, 4 Oct 2016 16:25:42 +0000 (12:25 -0400)]
LP#
1005040: CSS styling of filter control boxes
This patch adds several CSS classes to support
distinguishing filter boxes from facet boxes:
filter_box_wrapper
filter_box_temp
filter_template
filter
It also sets a different background color for the header of filter
boxes. Padding between entries in a filter list is reduced as
compared to facets, both to save a bit of vertical space and to
subtly distinguish filters from facets.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Mike Rylander [Tue, 20 Sep 2016 21:09:35 +0000 (17:09 -0400)]
LP#
1005040: add filter control widgets to TPAC
This patch also moves facet retrieval to after record retrieval, to
make sure facet data is available, and wait for it
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Mike Rylander [Thu, 25 Aug 2016 21:48:02 +0000 (17:48 -0400)]
LP#
1005040: implement business logic
This patch gut most of the top level Search/Biblio.pm wrapper,
inlines opensearch search params, uses the new dispach method,
for OpenSRF subrequests, and return the abstract query when
requested.
It also adds CDBI classes for asset.copy_location_group which
is needed for looking them up at search time.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Ben Shum [Mon, 12 Dec 2016 04:17:46 +0000 (23:17 -0500)]
LP#
1649180: Add release note for translator make target
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Ben Shum [Thu, 24 Nov 2016 21:04:11 +0000 (16:04 -0500)]
LP#
1649180: Update README to reflect translator make target
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Ben Shum [Thu, 24 Nov 2016 20:20:50 +0000 (15:20 -0500)]
LP#
1649180: Add translator make target
For the four major supported Linux distros:
- Ubuntu Xenial
- Ubuntu Trusty
- Debian Jessie
- Debian Wheezy
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Kathy Lussier [Thu, 9 Feb 2017 16:20:00 +0000 (11:20 -0500)]
LP#
1639782: Release note entry for Active Date Column Picker Option
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Chris Sharp [Mon, 7 Nov 2016 12:40:24 +0000 (07:40 -0500)]
LP#
1639782 - Add Active Date to Item Status Column Picker
Circ and Cataloging staff need a quick way to view the Active
Date of an item in the "Item Status" (F5) interface. This
makes that column available for selection.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Stephenson [Sat, 14 Jan 2017 15:32:28 +0000 (10:32 -0500)]
LP
1656547: Add XML directive to oils_sip.xml.example.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kathy Lussier [Wed, 8 Feb 2017 20:11:19 +0000 (15:11 -0500)]
LP#
1308090: Stamping upgrade script for trim trailing punctuation normalizer
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Wed, 8 Feb 2017 19:19:08 +0000 (14:19 -0500)]
LP#
1308090: Updating release notes to reflect both parts of this new feature
The code introduced two distinct features related to authors and RDA records,
but only one was highlighted in the release notes. Notes are updated to reflect
both changes.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Mon, 3 Oct 2016 16:25:58 +0000 (12:25 -0400)]
LP#
1308090: pgTAP fixes
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
LP#
1308090 - Additional fix to pgtap test.
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Pearl [Thu, 2 Jun 2016 19:02:25 +0000 (15:02 -0400)]
LP#
1308090 Relator fields and facets need normalization.
This incorporates two changes: facets were generated with trailing
punctuation, which resulted in more than one entry for the same item,
differing only in punctuation. In addition, relator codes were suppressed
in the record detail unnecessarily.
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Kate Butler <katebutler@rodgerslibrary.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kyle Huckins [Wed, 4 Jan 2017 17:36:21 +0000 (09:36 -0800)]
LP#
1534787 Patron Message Center port
Port patron message center from XUL client to
web client.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kyle Huckins [Tue, 4 Oct 2016 22:55:23 +0000 (15:55 -0700)]
LP#
1537217 Precat Checkout Circ Modifier
Precat checkout in the browser client no longer
requires the use of a circ modifier(when circ
modifiers exist). Similarly, no circ modifier
is chosen by default.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Clare Sobotka [Sun, 5 Feb 2017 16:37:46 +0000 (08:37 -0800)]
Docs: Updating to reflect Web staff client
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Mike Rylander [Tue, 31 Jan 2017 17:35:05 +0000 (12:35 -0500)]
LP#
1660059: Protect against null value in group field
If a nullable event grouping field is configured, and a null value is indeed
encountered when pulling together events, the Action/Trigger code will exit
unceremoniously. To prevent this, we will now collect events with either
a null grouping object or grouping field, and use a new batch invalidation
API call to get rid of them as quickly as possible after group sorting is
complete.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
blake [Fri, 27 Jan 2017 16:57:12 +0000 (10:57 -0600)]
LP1659892: Remove page from URL in metarecord navigation
Scrubs the 'page' URI value from the "Return to Grouped Search Results"
preventing the resulting page from showing the currently selected page.
Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kyle Huckins [Thu, 19 Jan 2017 20:35:00 +0000 (12:35 -0800)]
LP#
1657466 - Edit Due Date Doesn't Submit
Change references of nonexistant scope variable args.date
to args.due_date, enabling edit due date to correctly
submit.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Changes to be committed:
modified: Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kyle Huckins [Wed, 19 Oct 2016 21:57:02 +0000 (14:57 -0700)]
LP#
1621947: webstaff address alert functionality
Add Address Alert to the alerts pane when address alert
is detected in the patron editor. This implements functionality
that was originally added tot he XUL patron editor in LP#898248.
To test:
[1] Define an address alert.
[2] Open a patron record in the webstaff patron editor and
create or update an address that would match the alert
set up in step 1. Verify, upon blur of street 1, street 2,
or the city inputs that an alert is displayed.
Note that the feature does not call for the presence of an
address alert to prevent the operator from saving the record;
the alert is purely advisory.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Tue, 10 Jan 2017 17:19:35 +0000 (12:19 -0500)]
LP#
1655399 webstaff: User perm editor grantable fix
Correctly handle the boolean grantable flag in the user permission
editor. In some cases, the boolean 0/1 values returned from storage are
returned as strings. Cast them to numbers before checking truthiness.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Stephenson [Sat, 20 Aug 2016 17:42:31 +0000 (13:42 -0400)]
LP#
1485374: Add missing comma on line 667 of oils_auth.c.
Fixes the following compiler error:
oils_auth.c: In function ‘oilsAuthComplete’:
oils_auth.c:668:9: error: expected ‘)’ before string constant
"open-ils.auth_internal",
^
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Tue, 23 Feb 2016 17:35:07 +0000 (12:35 -0500)]
LP#
1485374: Add release notes
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Tue, 23 Feb 2016 17:32:57 +0000 (12:32 -0500)]
LP#
1485374: Adjust TZ scope in mod_perl
Use of a 'local' variable causes the TZ to be dropped prematurely. So,
instead, we set $ENV{TZ} globally and reset it when the mod_perl handler
object is destroyed.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 23 Feb 2016 17:09:15 +0000 (12:09 -0500)]
LP#
1485374: add way for C code to make TZ-aware subrequests
This patch adds a helper routine to allow C
methods to make subrequests that pass the client
time zone along. This helper is in turn used during
authentication to ensure that the user object
that is returned has timestamps that are in the
time zone of the client that makes the original
authentication request.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:
Open-ILS/src/c-apps/oils_auth.c
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Wed, 3 Feb 2016 22:50:58 +0000 (17:50 -0500)]
LP#
1485374: call tzset() after setting timezone
Testing shows this to be needed to make strftime()
return the time in the client's time zone.
This is a bit confusing, however, as strftime per
POSIX should be acting as if it always calls tzset()
when doing formatting that involves the local timezone.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Fri, 11 Sep 2015 15:19:34 +0000 (11:19 -0400)]
LP#
1485374: Allow server timezone via CStoreEditor
In rare cases, the server's timezone may be preferable to the client's.
To plan for such cases we provide a way to signal that we want to use the
server's timezone.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Mon, 3 Aug 2015 17:27:56 +0000 (13:27 -0400)]
LP#
1485374: Use client TZ in the database when supplied to the server
In LP#
1485371 we teach OpenSRF how to discover and pass the client timezone
to the server. Now we can use that information to temporarily put the server
into that timezone, including database sessions, so that dates and times
are calculated and reported based on the timezone of the client.
To do that we:
* Teach CStore and friends to use the client-supplied time zone
* Teach Storage to use $ENV{TZ} for the db timezone inside transactions,
and by default except for search-y methods
* Teach the TPAC to set the client TZ at login
This requires javascript to be enabled in the TPAC, and investigates the
client timezone at patron login time. No times are displayed in TPAC
interfaces before the patron logs in, so there is no point in detecting
the timezone before this point.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jane Sandberg [Fri, 27 Jan 2017 02:07:55 +0000 (18:07 -0800)]
Docs: authority_control_field script --days-back feature
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Wed, 25 Jan 2017 21:12:36 +0000 (16:12 -0500)]
2.10.8-2.10.9 schema upgrade script
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kathy Lussier [Thu, 22 Dec 2016 19:20:33 +0000 (14:20 -0500)]
Docs: Adding release notes for 2.11.2 point release
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Thu, 22 Dec 2016 19:20:33 +0000 (14:20 -0500)]
Docs: Adding release notes for 2.10.9 point release
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Wed, 25 Jan 2017 17:33:24 +0000 (12:33 -0500)]
LP#
1657885: Inform Vandelay of new chunking/bundling logic, part deux
Here we conditionally use the old "max_chunk_count" method provided by OpenSRF
when Evergreen is running atop a version that doesn't know about the bundling
rename.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Wed, 25 Jan 2017 15:56:23 +0000 (10:56 -0500)]
LP#
1657885: Inform Vandelay of new chunking/bundling logic
There is a naive attempt to force immediate streaming of results in Vandelay
for certain processes, but it both only helps a little, and breaks under the
new OpenSRF bundling/chunking logic. So, we'll drop it where it's not
directly configurable, and test for the appropriate features where we can.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 19 Jan 2017 20:54:53 +0000 (15:54 -0500)]
LP#
1657885: Account for new bundling/chunking logic in OpenSRF 2.5+
When chunking was renamed bundling and actually chunking added in OpenSRF 2.5,
the few places in Evergreen that tried to make use of the old mechanism
directly now break. The most obvious breakage is in the alternate printable
hold pull list, which we fix here. Evidence of other broken code should
be fixed as needed, though spots to look our for are z39.50 results and
Vandelay processing.
To test:
1) In Evergreen 2.11 running on top of OpenSRF 2.5+, attempt to use the
alt pull list printing interface at a location with many holds on their
pull list. The progress bar will spin forever.
2) After applying this patch, do the same. The interface should work
quickly.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Wed, 18 Jan 2017 19:38:00 +0000 (14:38 -0500)]
LP#
1657237: Rewrite the hold target cache
We fixed the trigger that caused the problem in bug 167237, but now we need
to rewrite reporter.hold_request_record because T-holds are probably all
wrong. No data was lost, we're just addressing the contents of a materialized
view.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Michele Morgan [Tue, 24 Jan 2017 14:17:58 +0000 (09:17 -0500)]
LP#
1659006: Treat the Cost field like the other money fields in the copy editor,
reverting to null if blanked.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Mon, 23 Jan 2017 16:18:12 +0000 (11:18 -0500)]
Docs: Add browser requirements for running the web client
Adding initial browser requirements for running the web client to the system
requirements file. For now, keeping XUL client requirements.
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jeanette Lundgren [Wed, 18 Jan 2017 19:22:58 +0000 (14:22 -0500)]
LP#
1494362 Docs: oversized screenshot
Signed-off-by: Jeanette Lundgren <jlundgren@cwmars.org>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Galen Charlton [Tue, 17 Jan 2017 21:58:39 +0000 (16:58 -0500)]
LP#
1657282: fix redirect of one-hit metarecord searches
This patches fixes a bug where, when performing a metarecord
("Group Formats and Editions") search, one-hit result sets
get redirected to a "/eg/opac/record/0.0..." page, which
results in a "Bad Request" error being shown to the user.
To test:
[1] Perform a metarecord search that would result in exactly
one metarecord search. Observe that the browser displays
a "Bad Request" error page.
[2] Apply the patch and perform step 1 again. This time, the
search should succeed. Note that if the metarecord contains
more than one component, a results page with one grouped
hit is displayed; if the metarecord has exactly one component,
that bib's record page is displayed.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Tue, 17 Jan 2017 20:24:53 +0000 (15:24 -0500)]
LP#
1657241 Stamping aged circ parent_circ index
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Chris Sharp [Tue, 17 Jan 2017 20:09:15 +0000 (15:09 -0500)]
LP#
1657241 - Add parent_circ index to action.aged_circulation
The lack of a parent_circ index on the aged_circulation table
was causing very long-running queries. This solves the problem.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Tue, 17 Jan 2017 20:08:58 +0000 (15:08 -0500)]
LP#
1657237 Stamping rhrr mat view trigger repair
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Tue, 17 Jan 2017 19:46:36 +0000 (14:46 -0500)]
LP#
1657237: Properly constrain matview trigger function
The function maintaining the reporter.hold_request_record table
was performing an unconstrained update when a hold was moved. This
fixes that.
To test:
[1] Apply the patch, the perform an asset merge that would
change the target of a hold request. Verify that
reporter.hold_request_record is properly update.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Michelle Purcell [Sat, 14 Jan 2017 13:46:56 +0000 (10:46 -0300)]
Docs: adding section about circulating items in the Web client
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Mike Rylander [Wed, 28 Dec 2016 19:43:34 +0000 (14:43 -0500)]
LP#
1655149: Badges need CDBI support for location groups
The badge code needs to inspect copy location groups, and tries to do so using
Class::DBI classes. But we haven't told CDBI about aclg and friends. Here we
tell Class::DBI about asset.copy_location_group so that storage can retrieve
directly.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jeanette Lundgren [Mon, 9 Jan 2017 17:10:12 +0000 (12:10 -0500)]
Updated link syntax to fix broken section link.
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Bill Erickson [Wed, 28 Dec 2016 21:15:24 +0000 (16:15 -0500)]
LP#
1635407 webstaff: show patron alert pane once
Display the patron alerts pane only once per patron instance per
browser tab. This is done by setting a new session storage value which
tracks the last alerted patron. This value is replaced each time a new
patron is loaded into the main patron app (e.g. double-clicking the
patron row in patron search) and is maintained separately per browser
tab.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kyle Huckins [Thu, 17 Nov 2016 19:47:31 +0000 (11:47 -0800)]
LP#
1502292 Add Volumes from Bib Record
Add 'Add Volumes' button to record summary pane to
add a new volume for a record.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
modified: Open-ILS/src/templates/staff/cat/catalog/t_catalog.tt2
modified: Open-ILS/web/js/ui/default/staff/cat/catalog/app.js
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Etheridge [Tue, 3 Jan 2017 11:58:25 +0000 (06:58 -0500)]
webstaff: booking options from Patron interface
Includes some workarounds for xulG errors, and lets the booking interfaces
receive the patron barcode via a query param instead of xulG. The XUL client
spawns a new tab for these interfaces, but we stick with web norms and load in
the current tab (control+click will open a new tab). This does, however, blow
away the patron interface; it doesn't embed like most of the options from the
Other menu. One other change: we don't have support for nested drop-down menus
in the web client, so I've flattened the entries like so:
* Booking: Create or Cancel Reservations
* Booking: Pick Up Reservations
* Booking: Return Reservations
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Etheridge [Mon, 19 Dec 2016 21:00:13 +0000 (16:00 -0500)]
webstaff: workaround a xulG undefined bug in Admin -> Booking -> Resources
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Etheridge [Mon, 19 Dec 2016 20:44:48 +0000 (15:44 -0500)]
webstaff: broader CSS tweak for Chrome for disabled text widgets
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Etheridge [Mon, 12 Dec 2016 19:55:42 +0000 (14:55 -0500)]
webstaff: error sounds instead of warning sounds for some events
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>