Evergreen.git
17 months agoDocs: Add aspell wordlist to improve spellchecking
Remington Steed [Fri, 16 Mar 2018 15:18:11 +0000 (11:18 -0400)]
Docs: Add aspell wordlist to improve spellchecking

To spellcheck the docs:

  - Go into the docs/ directory.
  - Copy the wordlist to your home directory (making a backup of your
    existing wordlist, if you have one):
    - cp --backup .aspell.en.pws ~/
  - Run 'aspell' over all AsciiDoc files, except release notes. Don't
    need to create backup files, since we're under version control. This
    runs the interactive spellchecker; use it to fix incorrect words, or
    add new correct words to the wordlist:
    - for f in $(find . -name '*.adoc' -and ! -name 'RELEASE*'); do
      aspell check --ignore-case --dont-backup $f; done
  - Review your changes:
    - git diff
  - Commit spelling corrections in one commit. Noteworthy changes should
    be included in the commit message.
  - Commit changed wordlist in a separate commit.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Spell check corrections
Remington Steed [Fri, 16 Mar 2018 14:58:17 +0000 (10:58 -0400)]
Docs: Spell check corrections

I walked through all the docs (except for release notes) and made a
number of small corrections. Most of them are simple typos, but there
are a few special cases:

  - In cases where the correction required matching with actual code or
    labels in Evergreen, those were checked to make sure the correction
    matched.
  - Changed spelling of "correct" word "Transcendent" to match database
    spelling "transcendant"
  - Changed very informal contractions "it'll" and "that'll" to "it
    will" and "that will". Same for "whatever's" to "whatever is".
  - Changed very informal expressions: "handwaving" to "glossing",
    "modernish" to "modern", "deduping" to "deduplicating".
  - Changed "unclick" to "uncheck" (regarding a checkbox)

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoLP#1755917: Fix Acq Admin menu order
Remington Steed [Wed, 14 Mar 2018 20:44:48 +0000 (16:44 -0400)]
LP#1755917: Fix Acq Admin menu order

According to commit cac16285aca, the acq admin menu is supposed to be in
alphabetical order. However, one item remains out of place. This commit
fixes that.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoLP#1691263: discourage input of newlines in MARC editor
Galen Charlton [Mon, 5 Feb 2018 23:04:12 +0000 (18:04 -0500)]
LP#1691263: discourage input of newlines in MARC editor

This patch catches and discards enter keydown events when the
focus is in a contenteditable subfield value div; otherwise, newlines
can infect the MARC record.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoLP#1691263: make webstaff MARC editor wrap long fields
Cesar Velez [Mon, 4 Dec 2017 17:45:35 +0000 (12:45 -0500)]
LP#1691263: make webstaff MARC editor wrap long fields

This patch makes the MARC editor wrap long fields (e.g.,
bibliographic 505 fields) so that they fit the width of the enclosing
window or modal. The approach taken is replacing the text input
elements with contenteditable divs, which in turn can be better
styled.

To test
-------
[1] Apply the patch.
[2] Locate a record with a long 505 field and open it in the
    MARC editor. Verify that the contents of the field wrap.
[3] Verify that record editing and saving work as expected.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoDocs: Fix AsciiDoc list formatting
Remington Steed [Wed, 14 Mar 2018 12:54:52 +0000 (08:54 -0400)]
Docs: Fix AsciiDoc list formatting

AsciiDoc lists (numbered or bulleted) generally need to be preceded by a
blank line. If not, they will be absorbed into the previous paragraph of
text.  This commit fixes two occurrences of this.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Update Authorities.adoc
Morkor Quarshie [Wed, 28 Feb 2018 21:27:05 +0000 (16:27 -0500)]
Docs: Update Authorities.adoc

  - Revised instructions to match web client.
  - Added new screenshots.
  - Improved instructions for "Non-filing indicator".
  - Minor line formatting changes.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Add directions for configuring columns
Morkor Quarshie [Tue, 6 Feb 2018 21:24:10 +0000 (16:24 -0500)]
Docs: Add directions for configuring columns

Includes screenshots and instructions on how to expand, shrink and move
columns left and right. Also updates some explanation to match how the
web client stores column settings.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoLp 1411422: Fix & rename test file.
Jason Stephenson [Fri, 9 Mar 2018 14:17:34 +0000 (09:17 -0500)]
Lp 1411422: Fix & rename test file.

The tests added for this branch had a bad plan.  It specified 7 tests were
to be run when actually there are 8.

I also renumbered the file to be 26, so that there would be only 1 test
numbered 25.

Signed-off-by: Jason Stephenson <jason@sigio.com>
17 months agoLp#1411422: Clean up the code a little bit.
Jason Stephenson [Thu, 8 Mar 2018 19:11:31 +0000 (14:11 -0500)]
Lp#1411422: Clean up the code a little bit.

We don't need to left join when we flesh fields.

Signed-off-by: Jason Stephenson <jason@sigio.com>
17 months agoLP1411422 Copy details repeated in search results when item/volume moved with parts...
blake [Fri, 1 Sep 2017 20:54:39 +0000 (20:54 +0000)]
LP1411422 Copy details repeated in search results when item/volume moved with parts attached

Added regression test and tweaked the part lookup query to remove deleted parts.

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
17 months agoLP1411422 Copy details repeated in search results when item/volume moved with parts...
blake [Mon, 13 Jun 2016 20:58:13 +0000 (15:58 -0500)]
LP1411422 Copy details repeated in search results when item/volume moved with parts attached

Added the code in perl to respect the existence of parts. Both "transferring volume"
and "transferring items". "Transferring items" was coded to use
open-ils.cat.asset.copy.fleshed.batch.update which means most of the work was done in js.
The web based staff client is coded to use open-ils.cat.transfer_copies_to_volume.
Decided to use that method for xul as well. Making it more consistent with the "transferring
volume" code. Considered coding it to move the part level holds to the destination part but
it's possible that the source part still has items.

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
17 months agoLP#1751318 Remove direct tablesort import
Bill Erickson [Fri, 23 Feb 2018 20:20:48 +0000 (15:20 -0500)]
LP#1751318 Remove direct tablesort import

Avoid attempts to directly import angular-tablesort.js from the offline
interface.  The script is already included in vendor.bundle.js and the
direct import, which refers to a nonexistant file, breaks the Perl live
test for offline dependency checking.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
17 months agoDocs: Update SMS_messaging.adoc for web client
Kevin Tran [Wed, 7 Mar 2018 15:06:43 +0000 (10:06 -0500)]
Docs: Update SMS_messaging.adoc for web client

  - update instructions to match web client
  - small whitespace change

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Update copy_statuses.adoc for web client
Kevin Tran [Thu, 1 Mar 2018 16:41:53 +0000 (11:41 -0500)]
Docs: Update copy_statuses.adoc for web client

  - new screenshots for adding, editing, deleting
  - update instructions to match web client

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Update "Circulation - Patron Record" for web client
Remington Steed [Tue, 6 Mar 2018 17:24:05 +0000 (12:24 -0500)]
Docs: Update "Circulation - Patron Record" for web client

  - Replace screenshots. Thanks to Kevin Tran for many of the new
    screenshots.
  - Update instructions to match web client.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoMerge branch 'master' of git.evergreen-ils.org:Evergreen
Jane Sandberg [Mon, 12 Mar 2018 20:41:53 +0000 (13:41 -0700)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen

17 months agoDocs: correcting funder names for 3.1 release notes
Jane Sandberg [Mon, 12 Mar 2018 20:41:39 +0000 (13:41 -0700)]
Docs: correcting funder names for 3.1 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
17 months agoLP#1750912 - Add add_translations.py convenience script to i18n tools.
Chris Sharp [Wed, 21 Feb 2018 21:25:15 +0000 (16:25 -0500)]
LP#1750912 - Add add_translations.py convenience script to i18n tools.

This script was authored by Jason Stephenson, who has kindly
agreed to add it to the Evergreen source tree.  As Jason suggested,
I modified the GPL version number to 2 to be in line with the
Evergreen project's licensing requirements.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoDocs: adding more funders to 3.1 release notes
Jane Sandberg [Mon, 12 Mar 2018 18:35:41 +0000 (11:35 -0700)]
Docs: adding more funders to 3.1 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
17 months agoDocs: adding translators to 3.1 release notes acknowledgements
Jane Sandberg [Mon, 12 Mar 2018 17:36:35 +0000 (10:36 -0700)]
Docs: adding translators to 3.1 release notes acknowledgements

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
17 months agoDocs: adding code contributors to 3.1 release notes acknowledgements
Jane Sandberg [Mon, 12 Mar 2018 17:17:18 +0000 (10:17 -0700)]
Docs: adding code contributors to 3.1 release notes acknowledgements

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
17 months agoDocs: adding some funding orgs to release notes acknowledgements
Jane Sandberg [Mon, 12 Mar 2018 16:47:33 +0000 (09:47 -0700)]
Docs: adding some funding orgs to release notes acknowledgements

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
17 months agoDocs: Fix broken include in root.adoc
Remington Steed [Mon, 12 Mar 2018 14:26:05 +0000 (10:26 -0400)]
Docs: Fix broken include in root.adoc

A recent commit added a section to root.adoc and root_cataloging.adoc.
The reference was correct in the second file, but in the first file was
missing the subdirectory. This commit adds it.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Remove docs not applicable in web client
Remington Steed [Mon, 12 Mar 2018 14:02:54 +0000 (10:02 -0400)]
Docs: Remove docs not applicable in web client

A few docs chapters relate to features that don't exist (yet) in the web
client, so this commit removes those from the table of contents
(root*.adoc).

Also, duplicate content was found during the web client docs review, so
this commit removes the nearly identical docs file and replaces its
references with references to the slightly better version of the file.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoFix billing / negative balance test cases
Dan Wells [Fri, 9 Mar 2018 16:25:16 +0000 (11:25 -0500)]
Fix billing / negative balance test cases

The test cases are set up manually via SQL, but were not taught about
the new data needed for billings.  This caused two tests to fail.

Let's go ahead and update this whole block to have more realistic data
conforming to the new scheme.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1717593: Missing strings cause serial item delete (and status change) failures
Mike Rylander [Sat, 3 Mar 2018 18:29:17 +0000 (13:29 -0500)]
LP#1717593: Missing strings cause serial item delete (and status change) failures

There are two places in the code that expect a serial-related string to exist,
but neither do.  So, let's correct that.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
17 months agoLP#1753008 Load iframeResizer via script tag
Bill Erickson [Mon, 5 Mar 2018 16:50:19 +0000 (11:50 -0500)]
LP#1753008 Load iframeResizer via script tag

iframeResizer does not currently play nicely with webpack.  Load it
directly via script tag for now.

This resolves a problem where the iframe fails to fill the screen when
loading the reports UI in the browser client.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoDocs: Update "Alternate Hold Pick up Location" for web client
Remington Steed [Thu, 8 Mar 2018 16:21:10 +0000 (11:21 -0500)]
Docs: Update "Alternate Hold Pick up Location" for web client

  - New screenshot
  - Remove instructions for changing location label (e.g. "Drive-thru")
  - Wrap long lines to 72 characters (if those lines were changed)

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Use raw ampersand '&' to fix conversion error
Remington Steed [Wed, 7 Mar 2018 20:03:12 +0000 (15:03 -0500)]
Docs: Use raw ampersand '&' to fix conversion error

The AsciiDoc to DocBook conversion process seems handle raw ampersands
just fine, but sometimes chokes on the special entity forms like {amp}
or &#38; . No more fancy talk. Just simple '&'.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Fix '&' DocBook conversion error
Remington Steed [Wed, 7 Mar 2018 19:21:51 +0000 (14:21 -0500)]
Docs: Fix '&' DocBook conversion error

Using the AsciiDoc named character reference {amp} seems to have
converted to a plain '&' too early, causing the DocBook XML validation
to fail. Let's try a numerical reference: &#38;

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: adding web client screenshot
Jane Sandberg [Wed, 7 Mar 2018 04:22:21 +0000 (20:22 -0800)]
Docs: adding web client screenshot

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
17 months agoDocs: updating return-to-search results for Web client
Jane Sandberg [Wed, 7 Mar 2018 04:20:42 +0000 (20:20 -0800)]
Docs: updating return-to-search results for Web client

17 months agoDocs: adding contributor to 3.0.4 release notes
Jane Sandberg [Sat, 24 Feb 2018 01:36:06 +0000 (17:36 -0800)]
Docs: adding contributor to 3.0.4 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
17 months agoDocs: Update search_interface.adoc for web client
Kevin Tran [Thu, 1 Mar 2018 16:09:30 +0000 (11:09 -0500)]
Docs: Update search_interface.adoc for web client

  - added a screenshot because the instructions seemed to lack a visual
  - changed step 1 from "Search Facet Groups" to "Search Filter Groups"

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Update "Monograph Parts" for web client
Remington Steed [Fri, 7 Jul 2017 13:26:15 +0000 (09:26 -0400)]
Docs: Update "Monograph Parts" for web client

  - Replace screenshots
  - Reformat long lines to around 72 characters
  - Convert numbered list to automatic numbering
  - Update instructions to match web client

Thanks to Kevin Tran for the screenshots.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Update "Circ Triggered Events" for web client
Remington Steed [Fri, 12 May 2017 12:59:51 +0000 (08:59 -0400)]
Docs: Update "Circ Triggered Events" for web client

Added edits for first section "Access and View".

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Edits and images for "Managing Holds"
Remington Steed [Wed, 21 Feb 2018 17:07:36 +0000 (12:07 -0500)]
Docs: Edits and images for "Managing Holds"

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Update "Managing Holds" for web client
Kevin Tran [Thu, 15 Feb 2018 16:18:21 +0000 (11:18 -0500)]
Docs: Update "Managing Holds" for web client

- changed "Actions for Selected Holds" to "Actions"
- several new screenshots
- some instructions updated
- merged and updated steps 3.E - 3.F, and created a new screenshot "holds-managing-5 and 6.JPG" (that will take place of the two current screenshots)

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Edits and images for "Resetting Patron's Password"
Remington Steed [Wed, 21 Feb 2018 16:47:32 +0000 (11:47 -0500)]
Docs: Edits and images for "Resetting Patron's Password"

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Update "Resetting Patron's Password" for web client
Kevin Tran [Thu, 8 Feb 2018 16:02:02 +0000 (11:02 -0500)]
Docs: Update "Resetting Patron's Password" for web client

A new screenshot has been created. The description in the instructions
have been changed. Some button names have been updated and verify
password has been removed.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoLP#1751520: add specify path to content-menu.js explicitly
Galen Charlton [Fri, 2 Mar 2018 22:13:52 +0000 (17:13 -0500)]
LP#1751520: add specify path to content-menu.js explicitly

Otherwise, Webpack looks for a /module/ called context-menu, and
doesn't find it.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP1751520: Add contextMenu Module to Vendor Bundle
Jason Boyer [Tue, 27 Feb 2018 14:08:21 +0000 (09:08 -0500)]
LP1751520: Add contextMenu Module to Vendor Bundle

This patch adds the context-menu.js file to the vendor
bundle for use by angular-tree-control.js

This branch is for master/rel_3_1; not rel_3_0

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoCompile release notes for 3.1 beta
Remington Steed [Fri, 2 Mar 2018 21:26:46 +0000 (16:26 -0500)]
Compile release notes for 3.1 beta

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoLP#1738064: Optionally suppress display of badges in OPAC
Jeff Davis [Tue, 12 Dec 2017 19:22:59 +0000 (11:22 -0800)]
LP#1738064: Optionally suppress display of badges in OPAC

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoDocs: Add missing header underline
Remington Steed [Wed, 28 Feb 2018 20:24:49 +0000 (15:24 -0500)]
Docs: Add missing header underline

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoDocs: Fix/improve web client keyboard shortcuts
Remington Steed [Thu, 22 Feb 2018 19:28:38 +0000 (14:28 -0500)]
Docs: Fix/improve web client keyboard shortcuts

One keyboard shortcut needed correcting:
  - Re-opening a closed tab is "CTRL-Shift-T", not "CTRL-Shift-Tab"

And let's add "CTRL-Shift-Tab" where it does belong -- in the "Navigate"
bullet point.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
17 months agoTranslation updates - po files
Dan Wells [Fri, 2 Mar 2018 19:39:22 +0000 (14:39 -0500)]
Translation updates - po files

Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoTranslation updates - newpot
Dan Wells [Fri, 2 Mar 2018 19:19:39 +0000 (14:19 -0500)]
Translation updates - newpot

Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLink to the Optional: Developer Additions step
Dan Scott [Thu, 22 Feb 2018 15:40:00 +0000 (10:40 -0500)]
Link to the Optional: Developer Additions step

We were referring people to a previous section by text, but we
have the power of linking in HTML, PDF, and ePub, so let's do
that and ease the navigation.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
17 months agoLP#1748924 Stamping upgrade script
Jeff Godin [Thu, 1 Mar 2018 19:06:06 +0000 (14:06 -0500)]
LP#1748924 Stamping upgrade script

Stamping upgrade script for expanding billing timestamps

Signed-off-by: Jeff Godin <jgodin@tadl.org>
17 months agoLP#1748924 Disable materialized summary updates in upgrade script
Dan Wells [Thu, 1 Mar 2018 18:41:06 +0000 (13:41 -0500)]
LP#1748924 Disable materialized summary updates in upgrade script

We are not touching billing_ts, so this trigger eats up a lot of
time for nothing.  Disable it during the upgrade process.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jeff Godin <jgodin@tadl.org>
17 months agoLP#1748924 Add release notes
Dan Wells [Fri, 6 Nov 2015 19:38:37 +0000 (14:38 -0500)]
LP#1748924 Add release notes

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jeff Godin <jgodin@tadl.org>
17 months agoLP#1748924 Upgrade script for expanding billing timestamps
Dan Wells [Mon, 12 Feb 2018 15:48:14 +0000 (10:48 -0500)]
LP#1748924 Upgrade script for expanding billing timestamps

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jeff Godin <jgodin@tadl.org>
17 months agoLP#1748924 Enhanced Billing Timestamp Support
Dan Wells [Mon, 12 Feb 2018 15:11:33 +0000 (10:11 -0500)]
LP#1748924 Enhanced Billing Timestamp Support

As discussed at Hack-a-way 2016, rather than continue to try to cram
multiple meanings into one timestamp, let's create a complete set of
all the useful timestamps for a typical billing.

In this new config, every billing will have a 'create_date', then most
(overdues) will also describe when they start and end.

billing_ts is now deprecated, but will continue to exist for backwards
compatibility.  It will be managed by trigger to approximate its
current definition; equal to 'period_end' for overdues, equal to
'create_date' for other billings.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jeff Godin <jgodin@tadl.org>
17 months agoLP#1748466: Fix http -> https /eg/staff rewrite on Apache 2.4.
Jason Stephenson [Fri, 9 Feb 2018 15:59:37 +0000 (10:59 -0500)]
LP#1748466: Fix http -> https /eg/staff rewrite on Apache 2.4.

Remove the SSLRequireSSL directive from the Location /eg/staff stanza
in Open-ILS/examples/apache_24/eg_vhost.conf.in so that the rewrite
from http to https works for the web staff client without the user
getting a 403.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
17 months agoDocs: minor file name change for release notes entry
Kathy Lussier [Thu, 1 Mar 2018 15:16:24 +0000 (10:16 -0500)]
Docs: minor file name change for release notes entry

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoLP#1739504 - create prototype of latency test tool in webstaff
Cesar Velez [Wed, 20 Dec 2017 23:38:28 +0000 (18:38 -0500)]
LP#1739504 - create prototype of latency test tool in webstaff

Basic websocket latency tester. Just pings opensrf.system.echo.
Initial first test runs 10 pings, calculates average each time.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Conflicts:
Open-ILS/web/js/ui/default/staff/admin/workstation/app.js

Add missing pieces for latency tester (commits got out of order,
sorry!).

Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1739504 - add release notes for Latency Tester
Cesar Velez [Wed, 28 Feb 2018 19:34:10 +0000 (14:34 -0500)]
LP#1739504 - add release notes for Latency Tester

A word about the Latency Tester.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1739504 - Fire off each ping sequentially
Cesar Velez [Thu, 4 Jan 2018 17:56:12 +0000 (12:56 -0500)]
LP#1739504 - Fire off each ping sequentially

As suggested by berick, tweaking latency tester
to sequentially fire off pings.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Conflicts:
Open-ILS/web/js/ui/default/staff/admin/workstation/app.js

Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1732275: Stamping upgrade script for items out notice count setting
Kathy Lussier [Thu, 1 Mar 2018 01:16:44 +0000 (20:16 -0500)]
LP#1732275: Stamping upgrade script for items out notice count setting

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoLP#1732275: add release notes entry
Galen Charlton [Wed, 28 Feb 2018 22:15:21 +0000 (17:15 -0500)]
LP#1732275: add release notes entry

To test the page series:

[1] Create a patron that has at least two loans, one that is
    overdue by 7 days and one that will be due in 3 days.
[2] Activate the '3 Day Courtesy Notice' and '7 Day Overdue Email Notification'
    action trigger events, then generate events for those two loans
    by running something like this:

    action_trigger_runner.pl --hooks=checkout.due --process-hooks
    action_trigger_runner.pl --run-pending

    Note that --run-pending is needed to ensure that the events are
    complete, as the new columns include only checkout.due events
    that are complete. (Pending ones don't count because no notification
    would have yet made its way to the patron.)
[3] Apply the patch.
[4] Verify that the patron Items Out grid in the web staff client
    now has Total Notices and Last Notice columns respectively
    including the count of notices and the date of the last one.
[5] Turn on the webstaff.circ.itemsout_notice_count_excludes_courtesies
    library setting and refresh the grid. This time, the courtesy notice
    event should not be reflected by those two columns.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoLP#1732275 - Add Notices Data to Patron Itemsout
Cesar Velez [Mon, 18 Dec 2017 21:10:10 +0000 (16:10 -0500)]
LP#1732275 - Add Notices Data to Patron Itemsout

Prep upgrade script for new YAOUS:
'webstaff.circ.itemsout_notice_count_excludes_courtesies'

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:
Open-ILS/src/sql/Pg/950.data.seed-values.sql

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoLP#1732275: Patron Itemsout Notices - Add YAOUS for pre-due notices
Cesar Velez [Fri, 8 Dec 2017 18:50:38 +0000 (13:50 -0500)]
LP#1732275: Patron Itemsout Notices - Add YAOUS for pre-due notices

Adding library permission 'webstaff.circ.itemsout_notice_count_excludes_courtesies'
so that pre-due/courtesy events aren't included in the notices count.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoLP#1732275: add open-ils.actor.user.itemsout.notices api
Cesar Velez [Mon, 13 Nov 2017 23:25:05 +0000 (18:25 -0500)]
LP#1732275: add open-ils.actor.user.itemsout.notices api

Add a method to Actor.pm to count completed action
trigger events for a given circ and return the latest
notice date. Uses the json_query for performance.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoLP#1732275: Add a Last Notice date and a Notices count column
Cesar Velez [Fri, 10 Nov 2017 21:01:41 +0000 (16:01 -0500)]
LP#1732275: Add a Last Notice date and a Notices count column

This adds the above 2 columns to Patron Items Out grid,
and preps the frontend for using the new service method.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:
Open-ILS/src/templates/staff/circ/patron/t_items_out.tt2

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
17 months agoLp 1350916: marc_export --uris option release notes.
Jason Stephenson [Mon, 27 Nov 2017 20:48:06 +0000 (15:48 -0500)]
Lp 1350916: marc_export --uris option release notes.

Add release notes for the new --uris option on marc_export.

To test the new option, run marc_export to export records with
holdings for a given library using the --library and --items options.
If that library also has electronic resources, do another export with
the same options but add the --uris option and direct this output to a
different file.  Compare the file sizes.  The second file should be
larger than the first.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLp 1350916: Add located URI option to marc_export.
Jason Stephenson [Tue, 14 Nov 2017 19:21:45 +0000 (14:21 -0500)]
Lp 1350916: Add located URI option to marc_export.

Add code to marc_export to support exporting records with located
URIs.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1661688: tweak schema update
Galen Charlton [Wed, 28 Feb 2018 21:50:14 +0000 (16:50 -0500)]
LP#1661688: tweak schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoLP#1661688: tweaks to release notes
Galen Charlton [Wed, 28 Feb 2018 21:30:46 +0000 (16:30 -0500)]
LP#1661688: tweaks to release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoLP#1661688: tweak code for style and whitespace
Galen Charlton [Wed, 28 Feb 2018 21:28:01 +0000 (16:28 -0500)]
LP#1661688: tweak code for style and whitespace

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoLP#1661688: Add a link and other tweaks to alternate hold pickup feature
Kathy Lussier [Wed, 21 Feb 2018 20:19:34 +0000 (15:19 -0500)]
LP#1661688: Add a link and other tweaks to alternate hold pickup feature

Adding a couple of tweaks to the alternate hold pickup feature:
  * Created a link for the hold patron so that staff can easily retrieve the record and potentially verify that the user allows the alternate patron to pick
up their holds.
  * Tweaked the language in the event dialog.
  * Removed the new OU setting from actor.org_unit_setting so that a default value is not set.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoLp 1661688: Change new setting description.
Jason Stephenson [Mon, 18 Dec 2017 15:32:08 +0000 (10:32 -0500)]
Lp 1661688: Change new setting description.

Alter the circ.clear_hold_on_checkout description to be more clear
about what it does.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoLp 1661688: Fix undefined value error in Circulate.pm.
Jason Stephenson [Fri, 15 Dec 2017 16:21:43 +0000 (11:21 -0500)]
Lp 1661688: Fix undefined value error in Circulate.pm.

We needed to check that there was a hold before picking out the hold
usr.

Also, fix an error in the flesh code added by this branch.  We don't
need to flesh text fields from actor.usr.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoLP##1661688 - Want easy way to clear a hold when picked up by other patron.
Dan Pearl [Tue, 24 Jan 2017 18:59:01 +0000 (13:59 -0500)]
LP##1661688 - Want easy way to clear a hold when picked up by other patron.

This common action was handled previously as
    1) item is scanned - The system detects that this items is for a different
       patron, and an error message is displayed.

    2) Force Override was selected - If the librarian had the appropriate
       privileges, the Force Override could allow the checkout to occur.

    3) librarian cancels original hold - This independent operation would
       be needed to cancel the original hold, otherwise the hold would be
       targeted again.

This feature provides the option to cancel the hold in step #2. An error
message will be displayed as before, but within that message will be a checkbox to allow cancelling of the original hold which, if checked, will mean that step #3 will be automatically done.

The checked/non-checked state of the checkbox is initialized with an
organizational unit setting. The default is false (to preserve default
prior behavior).

Note: This change only affects the "web client".

TO TEST THIS

A. Before the Patch

Hold an item for patron "A".  Attempt to check it out for patron "B".
Observe the choices to Force Override (to allow the checkout) or to cancel.
Do a Force Override and observe that the original hold is still active.

B. After the Patch

Repeat the above scenario, and observe the (blank) checkbox.  Perform the
Force Override and observe that the original hold is still active.

Repeat the scenario, except this time check the checkbox.  Observe after the checheckout is done that original hold is gone.

Adjust the organizational setting (see the Release Notes) to change the default
appearance of the checkbox.

For completeness, you can verify that if you cancel out the message pop-up that the checkout is cancelled and and that the hold status is unchanged, regardless of the state of the checkbox.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
17 months agoLP#1744385: Stamping upgrade scripts for search and display infrastructure improvements
Dan Wells [Wed, 28 Feb 2018 21:30:26 +0000 (16:30 -0500)]
LP#1744385: Stamping upgrade scripts for search and display infrastructure improvements

Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Additions and edits to release note entry
Kathy Lussier [Mon, 26 Feb 2018 20:04:30 +0000 (15:04 -0500)]
LP#1744385: Additions and edits to release note entry

Minor edits to the release notes entry. Also, I highlighted the increased
use of Display Fields in the client since I thought it would be of
interest to some users. I also incorporated information regarding
default weights, which were added after Mike wrote up his release
note for this feature.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Adding Mike's commit message as a starter release note entry
Kathy Lussier [Mon, 26 Feb 2018 19:26:42 +0000 (14:26 -0500)]
LP#1744385: Adding Mike's commit message as a starter release note entry

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Remove debug timing display
Mike Rylander [Mon, 26 Feb 2018 16:52:27 +0000 (11:52 -0500)]
LP#1744385: Remove debug timing display

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Final seed data fixups
Mike Rylander [Fri, 23 Feb 2018 15:32:19 +0000 (10:32 -0500)]
LP#1744385: Final seed data fixups

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Treat phrase terms the same as non-phrase terms WRT dictionaries
Mike Rylander [Mon, 26 Feb 2018 17:05:37 +0000 (12:05 -0500)]
LP#1744385: Treat phrase terms the same as non-phrase terms WRT dictionaries

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Adjust function for a change in PLPgSQL in PG 9.4.16
Mike Rylander [Thu, 22 Feb 2018 20:19:14 +0000 (15:19 -0500)]
LP#1744385: Adjust function for a change in PLPgSQL in PG 9.4.16

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Add "Main Title" index definition and set reasonable defaults for virtual...
Mike Rylander [Thu, 22 Feb 2018 18:08:51 +0000 (13:08 -0500)]
LP#1744385: Add "Main Title" index definition and set reasonable defaults for virtual weighting

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Add genre stemming to baseline schema
Mike Rylander [Thu, 22 Feb 2018 15:47:16 +0000 (10:47 -0500)]
LP#1744385: Add genre stemming to baseline schema

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Update seed data with more Display Field mappings
Mike Rylander [Wed, 21 Feb 2018 21:39:21 +0000 (16:39 -0500)]
LP#1744385: Update seed data with more Display Field mappings

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Make use of short-term unAPI cache and parallelize metarecord constituent...
Mike Rylander [Wed, 21 Feb 2018 20:08:35 +0000 (15:08 -0500)]
LP#1744385: Make use of short-term unAPI cache and parallelize metarecord constituent retrieval

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Fix typo and allow stemmed search and highlighting of Genre
Mike Rylander [Tue, 20 Feb 2018 21:39:54 +0000 (16:39 -0500)]
LP#1744385: Fix typo and allow stemmed search and highlighting of Genre

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Limit UNIONs and fields therein to those that have different weights...
Mike Rylander [Mon, 19 Feb 2018 22:50:15 +0000 (17:50 -0500)]
LP#1744385: Limit UNIONs and fields therein to those that have different weights for the virtual map

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Parallelize highlight gathering with XML feed retrieval
Mike Rylander [Mon, 19 Feb 2018 21:48:33 +0000 (16:48 -0500)]
LP#1744385: Parallelize highlight gathering with XML feed retrieval

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Add highlighting for ISBN and ISSN
Mike Rylander [Mon, 19 Feb 2018 21:46:59 +0000 (16:46 -0500)]
LP#1744385: Add highlighting for ISBN and ISSN

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Speed up highlighting
Mike Rylander [Fri, 16 Feb 2018 17:35:41 +0000 (12:35 -0500)]
LP#1744385: Speed up highlighting

This commit removes a layer of opensrf-perl indirection and uses cstore
instead of storage for retrieval.  This trims seconds off the render time
of results and a bit off record detail.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Use series_title highlighting in OPAC
Mike Rylander [Fri, 16 Feb 2018 17:27:24 +0000 (12:27 -0500)]
LP#1744385: Use series_title highlighting in OPAC

Here we replace the series title link generation based directly on the MARCXML
with the Display Field equivalent.  Note, the previous method created broken
links in many cases, because it included more in the search terms than were
being indexed by the stock series title definition.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Starting # ../../../../multi-source-attrs.sql

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Optimize real-field additions to virtual field searches
Mike Rylander [Wed, 14 Feb 2018 17:52:21 +0000 (12:52 -0500)]
LP#1744385: Optimize real-field additions to virtual field searches

Now we only add on UNION query for each class providing real fields to a
virtual field, rather than a UNION per real field.  This should reduce
core-query run time.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Adjust virtual-combined-class real-field search
Mike Rylander [Wed, 14 Feb 2018 17:25:25 +0000 (12:25 -0500)]
LP#1744385: Adjust virtual-combined-class real-field search

Instead of searching by combined field within the rank-addition real fields,
we'll just search on the fields itself.  This preserves the ranking additions
provided by the real-virtual mapping.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Various improvements based on testing
Mike Rylander [Fri, 9 Feb 2018 20:19:31 +0000 (15:19 -0500)]
LP#1744385: Various improvements based on testing

 * Improve author and publisher display fields
 * Reimplement Simple Record Extracts using Display Fields
 * Address potential failure in combined search collection
 * Provide useful helper function for inspecting transformed records
 * Implement MODS transforms specified by LoC documentation but not
   actually included in the stylesheet
 * Expand highlighting use to publisher, edition, and physical description
 * Reifying schema from updates

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Set best order for upgrade scripts
Mike Rylander [Fri, 26 Jan 2018 21:52:09 +0000 (16:52 -0500)]
LP#1744385: Set best order for upgrade scripts

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Allow highlight disabling globally via config.tt2
Mike Rylander [Wed, 10 Jan 2018 19:44:48 +0000 (14:44 -0500)]
LP#1744385: Allow highlight disabling globally via config.tt2

Also, add CC0 highlighter icon from https://pixabay.com/en/highlight-highlighter-highlighting-2022407/
and provide highlight en/dis-able.

Signed-off-by: Mike Rylander <miker@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Additional seed data and display field use in the OPAC
Mike Rylander [Fri, 12 Jan 2018 20:24:12 +0000 (15:24 -0500)]
LP#1744385: Additional seed data and display field use in the OPAC

... and teach subjects.tt2 how to search with a facet in HL mode (for genre)

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1744385: Search and Result Display improvements
Mike Rylander [Mon, 11 Sep 2017 19:24:55 +0000 (15:24 -0400)]
LP#1744385: Search and Result Display improvements

== Virtual Index Definitions

The practical purpose of Virtual Index Definitions is to supply an Evergreen administrator with
the ability to control the weighting and field inclusion of values in the general keyword index,
commonly referred to as "the blob," without requiring tricky configuration that has subtle semantics, an
over-abundance of index definitions which can slow search generally, or the need to reingest all
records on a regular basis as experiments are performed and the configuration refined. Significant
results of recasting keyword indexes as a set of one or more Virtual Index Definitions will be simpler
search configuration management, faster search speed overall, and more practical reconfiguration and
adjustment as needed.

Previous to this commit, in order to provide field-specific weighting to keyword matches against titles or authors, an
administrator must duplicate many other index definitions and supply overriding weights to those
duplicates. This not only complicates configuration, but slows down record ingest as well as search. It
is also fairly ineffective at achieving the goal of weighted keyword fields. Virtual Index Definitions will
substantially alleviate the need for these workarounds and their consequences.

  * A Virtual Index Definition is not required supply any configuration for extracting bibliographic
    data from records, but instead can become a sink for data collected by other index definitions
    which is then colocated together to supply a search target made up of the separately extracted
    data. Virtual Index Definitions are effectively treated as aggregate definitions, matching across
    all values extracted from constituent non-virtual index definitions.  They can further make use
    of the Combined class functionality to colocate all values in a class together for matching even
    across virtual fields.

  * Configuration allows for weighting of constituent index definitions that participate in a
    Virtual Index Definition. This weighting is separate from the weighting supplied when the index
    definition itself is a search target.

  * The Evergreen QueryParser driver returns the list of fields actually searched using every
    user-supplied term set, including constituent expansion when a Virtual Index Definition is
    searched. In particular, this will facilitate Search Term Highlighting described below.

  * Stock configuration changes make use of pre-existing, non-virtual index definitions mapped
    to new a Virtual Index Definition that implements the functionality provided by the
    keyword|keyword index definition. The keyword|keyword definition is left in place for the time
    being, until more data can be gathered about the real-world effect of removing it entirely and
    replacing it with Virtual Index Definition mappings.

  * New system administration functions will be created to facilitate modification of Virtual Index
    Definition mapping, avoiding the need for a full reingest when existing index definitions are
    added or removed from a virtual field.

== Increased use of Metabib Display Fields

In extention of changes proposed in other available branches, we here use Metabib Display Fields
to render catalog search results, intermediate metarecord results, and record detail pages.
This will requires the addition of several new Metabib Display Field definitions, as well as Perl
services to gather and render the data.

== Search Term Highlighting

This commit enables Search Term Highlighting in the OPAC on the main search results page, the record
detail page, and intermediate pages such as metarecord grouped results page. Highlighting
search terms will help the user determine why a particular record (or set of records) was retrieved.

Highlighting of matched terms uses the same stemming used to accomplish the search, as configured
per field and class.

This feature will help the user more quickly determine the relevance of a particular record by calling their
attention to search terms in context. Lastly, it will help familiarize the user with how records are
searched, including which fields are searched as well as exposing concepts like stemming.

== Interfaces

A new AngularJS "MARC Search/Facet Fields" interface has been created to replace the Dojo version, and
both have been extended to support Virtual Index Definition data supplier mapping and weighting.

== Settings & Permissions

The new Virtual Index Definition data supplier mapping table, config.metabib_field_virtual_map, requires
the same permissions as the MARC Search/Facet Fields interface: CREATE_METABIB_FIELD, UPDATE_METABIB_FIELD,
DELETE_METABIB_FIELD, or ADMIN_METABIB_FIELD for all actions

There is a new template-level global configuration variable in config.tt2 called search.no_highlight
which disables highlighting for users of that config.tt2 instance.

== Public Catalog

The public and staff catalog will make use of new APIs to identify and display highlight-augmented
values for those Display Fields used to render the search result pages, intermediate metarecord
constituent pages, and record detail pages.  Highlighting of terms will be performed using the
application of Template::Toolkit-driven CSS. A generic CSS class identifying a highlighted term,
along with CSS classes identifying the search class and each search field will be available for
use for customization of the highlighting. A stock CSS
template is provided as a baseline upon which sites may expand.

When highlighting is generally enabled, it may be turned on or off on a per-page basis through the use of
a UI component which will request the page again without highlighting.

== Backend

There now exist several new database tables and functions primarily in support of search highlighting.
Additionally, the QueryParser driver for Evergreen has been augmented to be able to return a data structure
describing how the search was performed, in a way that allows a separate support API to gather a highlighted
version of the Display Field data for a given record.

== Re-ingest or Indexing Dependencies

With the addition and modification of many Index Definitions, a full reingest is recommended.  However, search
will continue to work as it did before the changes in this commit for those records that have not yet been
reingested during that process.  Therefore a slow, rolling reingest is recommended.

== Performance Implications or Concerns

Because the Metabib Display Fields infrastructure will eventually replace functionality that is significantly more
CPU-intensive in the various forms of XML parsing, XSLT transformation, XPath calculation, and
Metabib Virtual Record construction, it is expected that the overall CPU load will be reduced by this
development, and ideally the overall time required to perform and render a search will likewise drop. It
is unlikely that the speed increase will be visible to users on a per-search basis, but that search in
aggregate will become a smaller consumer of resources.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
17 months agoLP#1727487 Display field JS utils more docs
Bill Erickson [Thu, 26 Oct 2017 20:24:30 +0000 (16:24 -0400)]
LP#1727487 Display field JS utils more docs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>