working/Evergreen.git
5 years agoLP1355319: Add missing Parse::RecDescent perl dependency.
Jason Stephenson [Mon, 11 Aug 2014 17:27:18 +0000 (13:27 -0400)]
LP1355319: Add missing Parse::RecDescent perl dependency.

Add the appropriate deb or rpm entry to the various Makefiles.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoRelease note repairs and additions
Kathy Lussier [Fri, 8 Aug 2014 21:16:39 +0000 (17:16 -0400)]
Release note repairs and additions

A handful of repairs and additions to the 2.7 release notes, including:
  * moved copy_edit_links to cataloging
  * making no-fixed-field-defaults-for-ingest an upgrade note
  * adding release note entries for hold targeting of precats and improved
acq fund rendering.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
5 years agoSecondary permission groups release note
Kathy Lussier [Fri, 8 Aug 2014 14:41:23 +0000 (10:41 -0400)]
Secondary permission groups release note

Release notes entry for secondary permission groups as well as some fixes
to the docs to get the images to display.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
5 years agoLP#1292705 Fix broken is*() methods in fm_IDL2js.xsl
Dan Scott [Fri, 8 Aug 2014 03:19:07 +0000 (23:19 -0400)]
LP#1292705 Fix broken is*() methods in fm_IDL2js.xsl

A thinko meant that we were no longer incrementing the field variable,
leading to breakage in interfaces that used isnew() and the like.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoSecondary Permissions Documentation and Screenshots.
Jennifer Pringle [Wed, 19 Mar 2014 20:29:38 +0000 (13:29 -0700)]
Secondary Permissions Documentation and Screenshots.

Signed-off-by: Jennifer Pringle <jpringle@sitka.bclibraries.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoAdd multiple permission groups editor to user registration form
James Fournie [Wed, 4 Jan 2012 19:55:19 +0000 (11:55 -0800)]
Add multiple permission groups editor to user registration form

This makes use of permission.usr_grp_perm_map which grants secondary
permission groups.  It does not affect the 'profile' ie: circulation policy.

Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoUpdate ContentCafe Added Content Module
Thomas Berezansky [Mon, 14 Jul 2014 16:13:06 +0000 (12:13 -0400)]
Update ContentCafe Added Content Module

Now with keyhash support, but losing "No Image" image support.

Also added a "fetch all" function for possible "cache everything" calls.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1329503 avoid run now + later combined schedule
Bill Erickson [Fri, 8 Aug 2014 00:39:47 +0000 (20:39 -0400)]
LP#1329503 avoid run now + later combined schedule

When editing a report, ensure only one of "now" vs. "schedule for later"
options is selected by default.  Similarly, if the schedule option is
activated by default, ensure the date fields are enabled.

If the run time of the most recent report is in the past, default to the
current date for the schedule instead of the no longer valid date.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1329503 propagate 'in list' values for editing
Bill Erickson [Thu, 7 Aug 2014 17:16:36 +0000 (13:16 -0400)]
LP#1329503 propagate 'in list' values for editing

For example, ensure a previously selected list of copy locations are
propagated into the selected values list during report editing.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1329503 report editing additional repairs
Bill Erickson [Wed, 6 Aug 2014 14:41:25 +0000 (10:41 -0400)]
LP#1329503 report editing additional repairs

* correctly propagate values for the "between" widget
* propagate pivot data and label when present
* propagate report run time
* improvements to report email propagation

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1329503 report editing misc. repairs
Bill Erickson [Thu, 10 Jul 2014 18:42:31 +0000 (14:42 -0400)]
LP#1329503 report editing misc. repairs

* Fixed some faultly widget rendering on report edit

* Avoid showing "save as new" for new reports.

* Repair fault report edit Exit/Cancel buttons

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1329503 View/Edit Report Release Notes
Bill Erickson [Fri, 20 Jun 2014 18:20:48 +0000 (14:20 -0400)]
LP#1329503 View/Edit Report Release Notes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1329503 View Edit Reports
Bill Erickson [Wed, 18 Jun 2014 14:08:14 +0000 (10:08 -0400)]
LP#1329503 View Edit Reports

Alongside each report in the Reports folder view there are two new
links, one for viewing (read-only) and one for editing.  After changing
a report, the user has the option to save the modified report or create
a new report with the new values, in effect cloning the original report.

When saving a changed report, if a pending report run exists, the user
will be warned of this and asked if they would prefer to modify the
scheduled report or to instead save the changed values as a new report,
leaving the original report intact.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1329503 Reporter report.fleshed.retrieve API
Bill Erickson [Thu, 19 Jun 2014 19:45:25 +0000 (15:45 -0400)]
LP#1329503 Reporter report.fleshed.retrieve API

API for fetching fleshed reports, including the most recent
reporter.schedule.  Useful for modifying existing reports.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1332138 hide doc URL in report editor when no URL present
Bill Erickson [Wed, 6 Aug 2014 17:55:13 +0000 (13:55 -0400)]
LP#1332138 hide doc URL in report editor when no URL present

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1332138 Report Doc/Hints Release Notes
Bill Erickson [Fri, 20 Jun 2014 20:29:01 +0000 (16:29 -0400)]
LP#1332138 Report Doc/Hints Release Notes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1332138 Report template / field docs repairs
Bill Erickson [Wed, 18 Jun 2014 21:59:49 +0000 (17:59 -0400)]
LP#1332138 Report template / field docs repairs

* Various sanity checks and misc. repairs
* Add missing strings
* oils_rpt_editor.xhtml XML repair; XMLENT is strict
* links to external resources open XUL tabs (to avoid HTTP dialogs)
* avoid displaying bare HTML in labels
* show hints for display fields

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1332138 Report template / field documentation
Mike Rylander [Mon, 12 May 2014 18:13:25 +0000 (14:13 -0400)]
LP#1332138 Report template / field documentation

* Report templates support a new External URL field, which may
  contain a link to template-specific, local documentation.

 ** When set, a link to the external documentation will be
    displayed in a new column in the template list and within
    the report editor.

 ** URL's are set in the 'Documentation URL' entry.

* Template display fields and filters support a new Field Hint
  value.  When set, hints are displayed in the report editor.

 ** Values are set via the 'Change Field Hint' option along
    the bottom of the template editor.

------ from commits ----

* Initial template-level support for inline template and field documentation
* Use external documenation url in clark output
* Show the docs link and strings in the report editor
* Set the href of a link, instead of the text content of a span
* Attempt to pop up a new window (may require more pushups in the XUL staff client)
* Add calculated column support, use it for external docs url
* Realign field names

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1346421 TPAC copy view/edit links release notes
Bill Erickson [Mon, 4 Aug 2014 13:25:58 +0000 (09:25 -0400)]
LP#1346421 TPAC copy view/edit links release notes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1346421 TPAC copy view / edit links
Bill Erickson [Mon, 21 Jul 2014 18:44:34 +0000 (14:44 -0400)]
LP#1346421 TPAC copy view / edit links

Adds "view" and "edit" links next to each copy in the TPAC copy grid
when in embedded mode.  The "edit" link only appears when the user has
permission to edit the specified copy.

Via the XUL volume_item_creator, the ui.unified_volume_copy_editor org
unit setting is inspected to determine which UI to load.  Also, the data
needed to load the subsequent UI is fetched within the
volume_item_creator, so the catalog doesn't have to.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1346421 TPAC permission check function.
Bill Erickson [Mon, 21 Jul 2014 18:42:32 +0000 (14:42 -0400)]
LP#1346421 TPAC permission check function.

Support permission checks against the authenticated TPAC user.

[% IF ctx.has_perm('UPDATE_COPY', copy.circ_lib) %] ... [% END %]

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1304462: Release notes about expanded RDA tag 264 support
Yamil Suarez [Wed, 6 Aug 2014 18:50:59 +0000 (14:50 -0400)]
LP#1304462: Release notes about expanded RDA tag 264 support

Signed-off-by: Yamil Suarez <yamil@yamil.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
5 years agoLP#1304462: Use other 264 types in search results if publisher is not available
Ben Shum [Fri, 11 Apr 2014 03:54:31 +0000 (23:54 -0400)]
LP#1304462: Use other 264 types in search results if publisher is not available

In the event that the publisher information is not part of the record, use
other types of 264 tags for producer, distributor, or manufacturer.

Also employ the copyright if there is no available publication date.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
5 years agoLP#1304462: Stop using combined pubinfo for search results
Ben Shum [Fri, 11 Apr 2014 03:36:37 +0000 (23:36 -0400)]
LP#1304462: Stop using combined pubinfo for search results

Remove one of the two places we define the pubinfo variable in misc_util.tt2
and then change the way search results pull in publisher data.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
5 years agoLP#1304462: Add schema.org copyrightYear, manufacturer for RDA 264 fields
Dan Scott [Fri, 1 Aug 2014 04:46:45 +0000 (00:46 -0400)]
LP#1304462: Add schema.org copyrightYear, manufacturer for RDA 264 fields

It looks like the best we can do is to define a "manufacturer" property (and
corresponding Organization entity) when 264 ind2="3"; and we can provide a
copyrightYear when we have 264 ind2="4".

Even then, MARC / RDA cataloging practices end up giving us copyright notices
like '@2012' instead of actual dates, so we have to regex the year out of the
notice to satisfy the Integer range for copyrightYear. Theoretically we'll be
in trouble if the copyright notice includes some other 4-digit number (for
example, a multipart work catalogued in a single record that has a date range),
but what are you gonna do? It's MARC / RDA.

Same for manufacturer name, which seems likely (if the LoC examples that Yamil
provided are any guide) to include statements like "Manufactured by Foobar"
instead of cleanly structured data. The RDA fields were added to MARC21 in
2011, you would have thought that the benefits of providing clean data would
have been obvious by then. Grumble grumble grumble. Yes, this is meant to be
a transcription field, and theoretically one could use a 7xx to record the
publisher/distributor/manufacturer/producer in a more cleanly stated factual
way that would lend itself to actual linked data (hey, maybe even providing a
link to an external resource that could act as an identifier), but NOBODY DOES
THAT.

So we do the best we can and soldier on.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1304462: Add additional RDA information to TTOPAC record summary.
Jason Stephenson [Wed, 12 Mar 2014 18:12:34 +0000 (14:12 -0400)]
LP#1304462: Add additional RDA information to TTOPAC record summary.

This pulls information from the 264 tag where the indicator 2 has
the following values and displays the information below the Publisher
info:

0 - Producer (a,b,c)
2 - Distributor (a, b, c)
3 - Manufacturer (a, b, c)
4 - Copyright (c)

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP# 1308768 Make RDA bibs loadable for testing purposes
Dan Scott [Tue, 15 Apr 2014 17:55:15 +0000 (13:55 -0400)]
LP# 1308768 Make RDA bibs loadable for testing purposes

Squash the RDA records into XML loading format via the magic
of 'yaz-marcdump -i marc -o marcxml' and some judicious regular
expressions.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP# 1308768 Second set of test RDA records from LC - 6 total
Yamil Suarez [Thu, 31 Jul 2014 21:48:54 +0000 (17:48 -0400)]
LP# 1308768 Second set of test RDA records from LC - 6 total

Here is another  batch of test records from LC from this site:

http://catalog2.loc.gov/vwebv/searchKeyword
http://catalog.loc.gov/vwebv/searchKeyword

Here are links to the MARCXML versions of the files. Search for files with

XML records with 264 and ind2 set to _1 and _4
http://lccn.loc.gov/2014340080/marcxml - DVD - Jorge Mautner
http://lccn.loc.gov/2013335283/marcxml - CD - Claudia
http://lccn.loc.gov/2013493195/marcxml - SCORE - Wiegenlied

XML with 264 and ind2 set to _1 and _2
http://lccn.loc.gov/2013565186/marcxml - SCORE - Arias for bass
http://lccn.loc.gov/2013565190/marcxml - SCORE-CD - Arias for soprano

XML with 264 and ind2 set to _1 _2 and _4
http://lccn.loc.gov/2013568403/marcxml - SCORE - Intermediate_studies

Ind2 values key:
0 - Production
1 - Publication
2 - Distribution
3 - Manufacture
4 - Copyright notice date

I added both MARCXML and UTF8 MARC files for each record.

RDA_record_DVD_Jorge_Mautner
RDA_record_CD_Claudia
RDA_record_SCORE_Wiegenlied
RDA_record_SCORE_Arias_for_bass
RDA_record_SCORE-CD_Arias_for_soprano
RDA_record_SCORE_Intermediate_studies

Signed-off-by: Yamil Suarez <yamil@yamil.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP# 1308768 Add 4 sample RDA records from LoC
Yamil Suarez [Wed, 16 Apr 2014 21:42:47 +0000 (17:42 -0400)]
LP# 1308768 Add 4 sample RDA records from LoC

At the suggestion of Dan Scott, I went to this LoC site:

http://catalog.loc.gov/cgi-bin/Pwebrecon.cgi?DB=local&PAGE=First

I used their "expert search"

with a query of "040e rda"

then used various "search limits" of "type"

Here are the 4 record filenames, plus the available LoC permalinks to them:

RDA_record_MAP_2012_Enchanted_Circle.mrc
http://lccn.loc.gov/2013585177

RDA_record_DVD-BLUE-RAY-MOVIE_Pineapple_express.mrc
http://lccn.loc.gov/2010600022

RDA_record_PHOTO_Srid_pa_ho.mrc
http://lccn.loc.gov/2011432135

RDA_record_SERIAL_IEEE_International_conference.mrc

I originally found more than 4 RDA records, but it was pointed out that they were
using older/outdated versions of RDA. For example, the records used the 260
tag instead of using the 264 tag.

Signed-off-by: Yamil Suarez <yamil@yamil.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1292705 trim unneeded fields from IDL2js
Bill Erickson [Fri, 14 Mar 2014 20:42:11 +0000 (16:42 -0400)]
LP#1292705 trim unneeded fields from IDL2js

Avoid sending fields in the web-published IDL (IDL2js) that have no
value, as the keys in the JSON take up a lot of space.  Also avoid
repeating fields (selector) and default values (e.g. label defaults
to name) where the client can reasonably apply the defaults locally.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1347793: TPAC added content by ID release notes
Thomas Berezansky [Wed, 23 Jul 2014 16:29:44 +0000 (12:29 -0400)]
LP#1347793: TPAC added content by ID release notes

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1347793: Teach TPac to load AC by Bib ID
Thomas Berezansky [Tue, 22 Jul 2014 15:15:11 +0000 (11:15 -0400)]
LP#1347793: Teach TPac to load AC by Bib ID

So that we may get more than just jackets

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1246745: Remove OK message from SIP2 messages
Thomas Berezansky [Thu, 31 Oct 2013 14:02:44 +0000 (10:02 -0400)]
LP#1246745: Remove OK message from SIP2 messages

Because having clients constantly say there is a message of "OK" gets annoying
very quickly, especially if it is displayed in a popup message instead of via
a "messages" button.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1351317 ACQ fund selector filters cont.
Bill Erickson [Thu, 31 Jul 2014 20:50:17 +0000 (16:50 -0400)]
LP#1351317 ACQ fund selector filters cont.

To improve load times, limit the funds we attempt to retrieve for
various fund selectors to those the user has permission to use.

Interfaces affected include the following:

* Purchase order copy grid
* Purchase order "New Charge" interface
* Invoice "Add charge..." interface
* Distribution formula configuration interface.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoDocs: various AsciiDoc formatting fixes for docs
Yamil Suarez [Thu, 7 Aug 2014 21:40:41 +0000 (17:40 -0400)]
Docs: various AsciiDoc formatting fixes for docs

Fixed the 'bad first character' error, the bad apostrophe error. Removed various UTF-8 chars.
Fixed some numbered list formatting, to take out redundant manual numerals…

for example:

. 1 item
. 2 item
. 3 item

became:

. item
. item
. item

also added "=" to wrap around breaks in numbered lists

for example:

. Right-click on the value control for the fixed field that needs to be edited.

 image::media/ffrc1.jpg[]

 . Select the appropriate value for the fixed field from the menu options.

 became:

  . Right-click on the value control for the fixed field that needs to be edited.

  +
  image::media/ffrc1.jpg[]
  +
  . Select the appropriate value for the fixed field from the menu options.

Signed-off-by: Yamil Suarez <yamil@yamil.com>
5 years agoLP#1351355: Add release note on change to XLSX format for Excel report output
Ben Shum [Thu, 7 Aug 2014 21:37:13 +0000 (17:37 -0400)]
LP#1351355: Add release note on change to XLSX format for Excel report output

Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1351355: Use libexcel-writer-xlsx-perl package for Ubuntu Trusty
Ben Shum [Thu, 7 Aug 2014 21:31:41 +0000 (17:31 -0400)]
LP#1351355: Use libexcel-writer-xlsx-perl package for Ubuntu Trusty

Since Ubuntu 14.04 Trusty has a more recent packaged version of
libexcel-writer-xlsx-perl, use that instead of installing from CPAN
for Excel::Writer::XLSX.

Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1351355: Switch to XLSX format for Excel report output
Mike Rylander [Fri, 1 Aug 2014 15:26:38 +0000 (11:26 -0400)]
LP#1351355: Switch to XLSX format for Excel report output

We've always used Spreadsheet::WriteExcel::Big to generate Excel output
from reports. That module has a limitation of 64k rows, imposed by the
binary Excel format. Recently, the Excel::Writer::XLSX module has become
feature-complete enough that we can use that instead, and the XML format
files that it writes are now supported by the majority of installed
versions of Excel (and OpenOffice) -- the format arrived with Excel 2007,
released in 2006 (8 years ago). So, let's switch to that!

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 - stamping upgrade scripts for acq cancel display
Ben Shum [Thu, 7 Aug 2014 21:10:39 +0000 (17:10 -0400)]
LP#1270289 - stamping upgrade scripts for acq cancel display

Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 remove redundant lineitem cancel display
Bill Erickson [Thu, 31 Jul 2014 19:17:58 +0000 (15:17 -0400)]
LP#1270289 remove redundant lineitem cancel display

Remove the cancel reason label displayed in the lineitem list pages
since the cancel reason is now displayed as the lineitem status for
cancelled lineitems.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 support canceling delayed copies
Bill Erickson [Thu, 31 Jul 2014 19:15:27 +0000 (15:15 -0400)]
LP#1270289 support canceling delayed copies

In the PO copy grid, allow cancelled-as-delayed copies to be canceled
again, so that true cancelation can be achieved as needed.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 sort ACQ cancel reason selectors
Bill Erickson [Thu, 31 Jul 2014 18:45:24 +0000 (14:45 -0400)]
LP#1270289 sort ACQ cancel reason selectors

Sort lineitem and copy cancel reasons selectors by label.  In addition
to being generally useful, this helps to quick differentiate between
delayed and canceled items in the list.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 Release notes
Bill Erickson [Tue, 3 Jun 2014 15:32:27 +0000 (11:32 -0400)]
LP#1270289 Release notes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 Show delay/cancel reason print PO / worksheets
Bill Erickson [Tue, 3 Jun 2014 14:55:12 +0000 (10:55 -0400)]
LP#1270289 Show delay/cancel reason print PO / worksheets

Display the cancel reason label in the print PO and lineitem worksheets.

Note: this only applies to templates which have not been locally
modified.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 Support canceling already-canceled lineitems
Bill Erickson [Tue, 3 Jun 2014 14:18:43 +0000 (10:18 -0400)]
LP#1270289 Support canceling already-canceled lineitems

If a lineitem is canceled and the cancel_reason has keep_debits == true
(i.e. the lineitem is "delayed"), allow the lineitem to be canceled
again, up until the point the lineitem cancel_reason has keep_debits ==
false, at which point, no more cancelations are allowed.

Similarly, when a copy is canceled with a keep_debits==true reason,
allow the copy to be canceled when its parent lineitem is canceled,
following the rules above.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 Show cancel reason labels for lineitems/copies
Bill Erickson [Tue, 3 Jun 2014 13:38:46 +0000 (09:38 -0400)]
LP#1270289 Show cancel reason labels for lineitems/copies

In the standard lineitem list page, display lineitem states as
translatable strings instead of displaying the raw lineitem state code.
Additionally, when the state is 'cancelled', display the cancel_reason
label instead of "cancelled" to help differentiate between canceled and
delayed items.

Similarly, display the cancel reason label for canceled copies in the
copy edit grid.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 improve stock acq cancel reason labels
Bill Erickson [Mon, 2 Jun 2014 21:22:11 +0000 (17:22 -0400)]
LP#1270289 improve stock acq cancel reason labels

Add "Delayed:" and "Canceled:" prefixes to stock labels based on their
keep_debits flag to better differentiate between delayed and canceled
items in the UI.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 Show delay count in ACQ lineitem summary
Bill Erickson [Mon, 2 Jun 2014 21:01:29 +0000 (17:01 -0400)]
LP#1270289 Show delay count in ACQ lineitem summary

This affects the canned lineitem summary displayed in the lineitem
copies page and the invoice UI.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1270289 Split canceled into delayed vs canceled
Bill Erickson [Mon, 2 Jun 2014 20:54:01 +0000 (16:54 -0400)]
LP#1270289 Split canceled into delayed vs canceled

The acq.lineitem_summary DB view (and related
acq::lineitem_summary_invoiceable IDL view) now differentitate between
canceled items and delayed items by inspecting the keep_debits flag on
the cancel reason.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoOpenSRF Services Update
Kathy Lussier [Thu, 7 Aug 2014 17:40:03 +0000 (13:40 -0400)]
OpenSRF Services Update

Updating list of Evergreen-specific OpenSRF services as of 2.6. Many
thanks to Galen Charlton for providing me with an updated list.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
5 years agoDocs: Improved AsciiDoc formating for tpac_meta_record_holds.txt
Yamil Suarez [Thu, 7 Aug 2014 17:36:20 +0000 (13:36 -0400)]
Docs: Improved AsciiDoc formating for tpac_meta_record_holds.txt

Replaced curly apostrophe with a straight one. Removed manual numbered list.

Signed-off-by: Yamil Suarez <yamil@yamil.com>
5 years agoLP#1339190: Have Evergreen save authtoken state to support IO::Multiplex mode
Mike Rylander [Wed, 9 Oct 2013 15:36:52 +0000 (11:36 -0400)]
LP#1339190: Have Evergreen save authtoken state to support IO::Multiplex mode

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5 years agoLP#1339190: support disconnection for SIP multiplex purposes
Mike Rylander [Wed, 11 Sep 2013 20:02:24 +0000 (16:02 -0400)]
LP#1339190: support disconnection for SIP multiplex purposes

This patch adds a disconnect method to close the OpenSRF
connect; this method is invoked only when the Net::Server::Multiplex
personality is in use.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5 years agoLP#1306019 move Business::Stripe to the 'force' list
Bill Erickson [Thu, 10 Apr 2014 17:20:17 +0000 (13:20 -0400)]
LP#1306019 move Business::Stripe to the 'force' list

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1306019 Debian Jessie makefile.install target
Bill Erickson [Thu, 10 Apr 2014 15:39:06 +0000 (11:39 -0400)]
LP#1306019 Debian Jessie makefile.install target

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
Conflicts:
Open-ILS/src/extras/Makefile.install
docs/installation/server_installation.txt

5 years agoLP#1302207 - Attempt to validate ISBNs in AddedContent.pm.
Jason Stephenson [Wed, 9 Jul 2014 20:34:26 +0000 (16:34 -0400)]
LP#1302207 - Attempt to validate ISBNs in AddedContent.pm.

When getting ISBNs from the database, they often contain extra stuff
after the ISBN that sometimes causes problems for Business::ISBN.

This commit attempts to resolve some of that by looking only for the
part of the ISBN data that resembles an ISBN and using just that part.
If the ISBN data doesn't look like an ISBN, then it is discarded.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1302207 - Order AddedContent identifiers
Thomas Berezansky [Fri, 11 Apr 2014 20:05:07 +0000 (16:05 -0400)]
LP#1302207 - Order AddedContent identifiers

When multiple exist coming out in a consistent order is preferred.

In this case, use ID order.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoDocs: How to create routing list and shows address on routing list
Erica Rohlfs [Wed, 6 Aug 2014 20:08:24 +0000 (16:08 -0400)]
Docs: How to create routing list and shows address on routing list

Signed-off-by: Erica Rohlfs <erohlfs@esilibrary.com>
Signed-off-by: Yamil Suarez <yamil@yamil.com>
5 years agoDocs: How to use MARC Fixed Field Editor
Erica Rohlfs [Wed, 6 Aug 2014 20:01:00 +0000 (16:01 -0400)]
Docs: How to use MARC Fixed Field Editor

Signed-off-by: Erica Rohlfs <erohlfs@esilibrary.com>
Signed-off-by: Yamil Suarez <yamil@yamil.com>
5 years agoDocs: How to perform metarecord search and hold
Erica Rohlfs [Wed, 6 Aug 2014 19:56:06 +0000 (15:56 -0400)]
Docs: How to perform metarecord search and hold

Signed-off-by: Erica Rohlfs <erohlfs@esilibrary.com>
Signed-off-by: Yamil Suarez <yamil@yamil.com>
5 years agoDocs: MARC Record Attribute Definitions, Multi Valued Fields, Composite Record Attributes
Erica Rohlfs [Wed, 6 Aug 2014 19:22:32 +0000 (15:22 -0400)]
Docs: MARC Record Attribute Definitions, Multi Valued Fields, Composite Record Attributes

Defines RADS, MVF, and CRA and explains how to modify

Signed-off-by: Erica Rohlfs <erohlfs@esilibrary.com>
Signed-off-by: Yamil Suarez <yamil@yamil.com>
5 years agoLP#1279998 marc stream importer release notes
Bill Erickson [Mon, 17 Mar 2014 13:19:18 +0000 (09:19 -0400)]
LP#1279998 marc stream importer release notes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1279998 marc_stream_importer option no-match import; delete repairs
Bill Erickson [Fri, 14 Feb 2014 17:40:00 +0000 (12:40 -0500)]
LP#1279998 marc_stream_importer option no-match import; delete repairs

* Adds another command line option for --import-no-match, so that
  importing non-matching records is now optional.

* Improve vandelay response reporting to ensure that all imported
  records get cleaned up.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1279998 marc_stream_importer support alternate match strategies
Bill Erickson [Wed, 12 Feb 2014 15:18:39 +0000 (10:18 -0500)]
LP#1279998 marc_stream_importer support alternate match strategies

Adds support for sending auto-overlay-1match and auto-overlay-best-match
in addition to auto-overlay-exact to Vandelay when performing the
import.  If no strategy is chosen, the script still defaults to
auto-overlay-exact.

These changes are managed with 3 new command line options:

--auto-overlay-exact
--auto-overlay-1match
--auto-overlay-best-match

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoDocs: Fix patron registration screenshot
Remington Steed [Wed, 6 Aug 2014 12:47:40 +0000 (08:47 -0400)]
Docs: Fix patron registration screenshot

The previously committed screenshot contains site-specific information
which is not broadly beneficial. This commit replaces it with a more
generic screenshot.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoLP#1319519 Add to PO limits to new/pending PO's
Bill Erickson [Wed, 14 May 2014 18:43:56 +0000 (14:43 -0400)]
LP#1319519 Add to PO limits to new/pending PO's

Limit the auto-select output of the PO name text box when adding
records/lineitems to existing PO's to PO's with the "new" or "pending"
statuses.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoDocs: How to use the MARC 007 Physical Characteristics Wizard
Yamil Suarez [Wed, 6 Aug 2014 14:42:27 +0000 (10:42 -0400)]
Docs: How to use the MARC 007 Physical Characteristics Wizard

Signed-off-by: Erica Rohlfs <erohlfs@esilibrary.com>
Signed-off-by: Yamil Suarez <yamil@yamil.com>
5 years agoFix 030.schema.metabib.sql breakage.
Jason Stephenson [Wed, 6 Aug 2014 13:18:37 +0000 (09:18 -0400)]
Fix 030.schema.metabib.sql breakage.

The fix for LP 1322285 introduced a change to 030.schema.metabib.sql
that was not only not needed, but breaks building a fresh schema.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
5 years agoDocs: Update commands for authority importing script
Remington Steed [Tue, 5 Aug 2014 15:23:20 +0000 (11:23 -0400)]
Docs: Update commands for authority importing script

The tools used for importing authority records from the command line have
been modified since the original docs were written. Testing revealed these
changes, which are reflected in this commit.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoDocs 2.6: Update screens for register/edit patron
Remington Steed [Tue, 5 Aug 2014 13:29:40 +0000 (09:29 -0400)]
Docs 2.6: Update screens for register/edit patron

Update screenshots and wording to reflect new "Update Expire Date" button.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
5 years agoStamping upgrade script for LP 1322285.
Jason Stephenson [Mon, 4 Aug 2014 17:05:10 +0000 (13:05 -0400)]
Stamping upgrade script for LP 1322285.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
5 years agoAdd release notes for the no fixed field default upgrade.
Jason Stephenson [Mon, 4 Aug 2014 16:57:52 +0000 (12:57 -0400)]
Add release notes for the no fixed field default upgrade.

A reingest is recommened after running the database script.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
5 years agoLP#1322285: Exclude default values for fixed fields when ingesting
Mike Rylander [Fri, 20 Jun 2014 13:29:56 +0000 (09:29 -0400)]
LP#1322285: Exclude default values for fixed fields when ingesting

Default values for fixed fields that can exist in either 008 or 006
will cause search to be over-broad.  So, we avoid including those now.

I also took the time to move the baseline schema around a bit in order
to keep related code in more appropriate files and avoid continuously
redefining functions.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
5 years agoLP#1348731: have SIP gateway use a login nonce
Bill Erickson [Tue, 8 Oct 2013 19:58:56 +0000 (15:58 -0400)]
LP#1348731: have SIP gateway use a login nonce

Since multiple SIP clients may use the same credentials, avoid the
same-username race condition to authentication by applying a login nonce
value.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP#1348731: Optional Auth login nonce to differentiate same-username logins
Bill Erickson [Tue, 8 Oct 2013 19:52:12 +0000 (15:52 -0400)]
LP#1348731: Optional Auth login nonce to differentiate same-username logins

If multiple login attempts are made using the same username within a
very short period of time, a race condition exists where, upon
completion of the first login, the auth init cache data for any pending
logins are removed, since there can only be one instance of cached init
data per username.

This adds support for allowing the caller to pass in a random string
which is added to the cache key as a way to differentiate between logins
using the same username.

The seed is passed into auth init as an optional secondary parameter
and passed again (via the "nonce" argument) to auth complete to ensure
consistent cache keys across both interactions.

Example:

my $nonce = rand($$);

my $seed = request(
    'open-ils.auth',
    'open-ils.auth.authenticate.init', $username, $nonce );

my $response = request(
    'open-ils.auth',
    'open-ils.auth.authenticate.complete',
    {
        username => $username,
        password => md5_hex($seed . md5_hex($password)),
        type     => 'opac',
        nonce    => $nonce
    }
);

The race condition has been observed with the SIP2 gateway when
multiple devices have been configured to use the same account.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP#1308239 precat holds fulfillment logic repair
Bill Erickson [Tue, 29 Jul 2014 19:11:44 +0000 (15:11 -0400)]
LP#1308239 precat holds fulfillment logic repair

In cases where there is no hold on a precat copy, avoid trying to find
"related" holds, in part because it's unnecessary, but also because the
implementation assumes a fleshed $self->volume object, which is not
present during precat checkout.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
5 years agoLP#1099979 Provide facility to merge parts in the Monograph Parts display
Dan Pearl [Mon, 4 Nov 2013 19:18:20 +0000 (14:18 -0500)]
LP#1099979 Provide facility to merge parts in the Monograph Parts display

A new facility is provided to make it relatively simple to merge parts that should be named the same, but are
not.  The user will check-off the parts that need to be merged, and click on the new Merge Selected Parts
control, at which point the "winner" will be selected from a pop-up.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1339118: Ignore permission checks for "jump" context
Mike Rylander [Tue, 8 Jul 2014 15:11:54 +0000 (11:11 -0400)]
LP#1339118: Ignore permission checks for "jump" context

We don't worry about checking permissions on foreign objects when we're
simply using them to get a context OU for the local object permission
testing.  The "jump" field just gives us more layers of indirection, and
shouldn't cause a perm check, just like normal foreign context OUs.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1334693 make_release optional -j <osrf_js_path>
Bill Erickson [Mon, 21 Jul 2014 13:39:41 +0000 (09:39 -0400)]
LP#1334693 make_release optional -j <osrf_js_path>

make_release supports a "-j" option for passing in the OpenSRF JS path:

make_release [options] -j /openils/lib/javascript

This is useful when running make_release, specifically the staff client
building portion, on a machine where the OpenSRF libs are available
(say, from a git checkout) but osrf_config is not available because
OpenSRF is not actually installed.

The script will attempt to find osrf_config and the JS path
automatically, so under normal circumstances, -j is not required.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#827442 Z39.50 will split the total cap between locations when multiple locations...
Dan Pearl [Wed, 20 Nov 2013 17:17:51 +0000 (12:17 -0500)]
LP#827442 Z39.50 will split the total cap between locations when multiple locations selected

This code does a bit of oversampling, and buffers the results so that a
full batch of results are returned.

In addition, the values in the hover text under "Displaying xxx of yyy records"
has been repaired, as it was easily confused.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
5 years agoLP#1341703 Thinko in Batch Edit (hidden by older OpenSRFs)
Mike Rylander [Mon, 14 Jul 2014 18:57:38 +0000 (14:57 -0400)]
LP#1341703 Thinko in Batch Edit (hidden by older OpenSRFs)

There's a bug on line 272 of O::A::Cat.pm where we called a non-existent
method named respond_complete on the invocant object. Instead, we need to
call that on the client object (spelled $conn in this method). Batch bib
edit won't work on new OpenSRF's until this is fixed.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
5 years agoLP#1341013: Load apache mod CGI
Ben Shum [Mon, 14 Jul 2014 15:44:07 +0000 (11:44 -0400)]
LP#1341013: Load apache mod CGI

As of Apache 2.4, mod CGI needs to be enabled directly and is not built
with apache.  So let's add it to the Makefile for Ubuntu Trusty 14.04.

Also, add handling for disabling unwanted apache conf like serve-cgi-bin,
which can break offline cgi-bin script alias.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
5 years agoLP#1341013: Remove NameVirtualHost from eg.conf.in for Apache 2.4.
Jason Stephenson [Fri, 11 Jul 2014 14:57:59 +0000 (10:57 -0400)]
LP#1341013: Remove NameVirtualHost from eg.conf.in for Apache 2.4.

NameVirtualHost does nothing in Apache 2.4 and will be removed in
the next release.  We might as well get rid of it now and silence
a warning when starting Apache.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoForward-port 2.6.2 upgrade script
Dan Wells [Mon, 14 Jul 2014 21:21:48 +0000 (17:21 -0400)]
Forward-port 2.6.2 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoForward-port 2.5.6 upgrade script
Dan Wells [Mon, 14 Jul 2014 21:18:20 +0000 (17:18 -0400)]
Forward-port 2.5.6 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
5 years agoFix 950.data.seed-values.sql.
Jason Stephenson [Mon, 14 Jul 2014 20:54:24 +0000 (16:54 -0400)]
Fix 950.data.seed-values.sql.

Code from the lost and paid copy status was missing an argument
on the insert.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
5 years agoRelease notes entry for lost and paid status
Kathy Lussier [Fri, 6 Jun 2014 02:19:32 +0000 (22:19 -0400)]
Release notes entry for lost and paid status

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoLP#1198475: Wrapping upgrade script for lost and paid copy status.
Jason Stephenson [Mon, 14 Jul 2014 12:37:30 +0000 (08:37 -0400)]
LP#1198475: Wrapping upgrade script for lost and paid copy status.

Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoLP1198475: Add a new, optional, Lost and Paid copy status.
Jason Stephenson [Fri, 6 Jun 2014 00:49:41 +0000 (20:49 -0400)]
LP1198475: Add a new, optional, Lost and Paid copy status.

Add the Lost and Paid status to config.copy_status.

Add org_unit_settig to control if the copy status is used.

Add checks to O::A::Circ::Money::make_payments to check for LOST
status and org_unit setting and change the copy status to
Lost and Paid as appropriate.

Also add checks for Lost and Paid copy status wherever LOST copy
status is used.

Add the COPY_STATUS_LOST_AND_PAID event.

Add the event to ils_events.xml with id 7026.

Check for the event in circ/util.js in the staff client.

Add pgTAP tests for the existence of the Lost and Paid copy status
and the new org_unit setting to control if it isused.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
5 years agoLP#1234845: Stamping upgrade script for improved evergreen.ranked_volumes()
Ben Shum [Thu, 10 Jul 2014 20:37:00 +0000 (16:37 -0400)]
LP#1234845: Stamping upgrade script for improved evergreen.ranked_volumes()

Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1234845: Performance improvement to evergreen.ranked_volumes() database function.
hubert depesz lubaczewski [Thu, 3 Oct 2013 18:26:33 +0000 (14:26 -0400)]
LP#1234845: Performance improvement to evergreen.ranked_volumes() database function.

For the client I analyzed logs from production Pg instance for ~ 10
days.

During this time, the single most time consuming query (summarized time
for all instances of the query, with different parameters) was:

SELECT * FROM unapi.bre ( ... ) AS "unapi.bre";

I profiled this function, and found that in my test case most of the
time (2.04s out of 2.06s, so ~ 99%) was spent in call to
unapi.holdings_xml() function.

When I profiled this function, I found that most of the time (sorry,
don't have the number now with me) was spent in call to
evergreen.ranked_volumes() function.

At this moment in my research something changed on the server I was
testing on, and all subsequent times were ~ 4-5 times lower, but the
ratios were more or less the same.

Anyway - call to evergreen.ranked_volumes() showed repeatable time (with
full caches/buffers) of ~ 380ms.

I modified the function by:
1. inlining actor.org_unit_descendants(?, ?)
2. inlining evergreen.rank_ou(?, ?, ?)
3. extracting depth calculation to separate call
4. switched to plpgsql (which gives me ability to use variables)
5. removed evergreen.rank_ou() and evergreen.rank_cp_status() from
   select clause - these are still in WINDOW definition, but they
   weren't used in the SELECT, so it's better to remove from there.
6. in passing renamed arguments to avoid name clash (argument depth vs.
   field depth)
7. in passing changed usage of $* to access parameters to using named
   parameters, for readability.

New function did the same work in ~ 18ms.

EDIT: Convert to SQL, keeping all of the improvements from depesz
EDIT2: Added Signed-off-by line for depesz, see http://markmail.org/message/rv4vaarwixeswqgu

Signed-off-by: Hubert depesz Lubaczewski <depesz@depesz.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoForce the installation of Business::Stripe on Ubuntu Trusty.
Jason Stephenson [Thu, 10 Jul 2014 20:10:36 +0000 (16:10 -0400)]
Force the installation of Business::Stripe on Ubuntu Trusty.

Apparently the required force was missed in the Makefile.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
5 years agoLP#1254918 limit ACQ batch update fund retrieval by perms
Bill Erickson [Fri, 9 May 2014 18:32:14 +0000 (14:32 -0400)]
LP#1254918 limit ACQ batch update fund retrieval by perms

In the ACQ batch update bar along the top of the PO page, limit the
number of funds which require permission checks on the server by
limiting the fund search to those at org units where the requesting user
has the CREATE_PURCHSE_ORDER or MANAGE_FUND permissions.

In other words, if a user only has create-po perms at Branch 1, we can
specifically request funds at that branch (or below) for display so that
the server (PCRUD) does not have to inspect unrelated funds for
permissibility.  This speeds up fund retrieval.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1254918: Allow skiping of user-object perms
Mike Rylander [Fri, 2 May 2014 21:00:43 +0000 (17:00 -0400)]
LP#1254918: Allow skiping of user-object perms

Previous to this commit, permissions in Evergreen check a cominbation
of:
 * user-object permissions (does the user have a direct permission
   mapping to the object in question)
 * user-context permissions (does the user have the permission at the
   object's context location, whose field is defined in the IDL)
 * user-global permission (lacking a context location, does the user
   have the permission globally (at the top of the org tree) and therefore
   can apply the action to all objects of this typ)

In practice, there are almost no user-object permissions.  When retrieving
just on object from the database, the cost of this check is negligable to
the point that we can completely ignore it.  However, when retrieving a
large set of objects, such as the list of all funds in a large, consortial
environment, the cost to check the user-object permission adds up to a
noticable amount of time.

To address this, we add a new construct to the IDL instructing the PCRUD
infrastructure to skip user-object permission checking in those cases where
the design and use of the system makes user-specific object permissions
needless or superfluous.  This is embodied in a new XML attribute on the
<pcrud> element: ignore_object_perms.  When set to "true", pcrud will skip
all user-object permission checks, resulting in faster time-to-first-result.

Additionally, we add a new "owning_user" attribute on the <action> element
of the <pcrud> section. This new attribute specifies the field containing
the actor.usr.id of the user that "owns" the object.  This allows PCRUD to
test ownership of an object directly, and if the requesting user and owning
user are the same, the action is allowed.

Finaly, when "global_required" is "true" for the permission check, and there
is no "owning_user" attribute defined for the class in the IDL, we skip the
above-mentioned user-object permission check.  When "global_required" is
"false" or there is an "owning_user" attribute, we check for user permissions.

In all cases, the "ignore_object_perms" attribute is honored, and in its
presence we skip non-owner user-object permissions.

The net result is an immediate increase in speed for retrieval of objects
in the presence of the "global_required" attribute, and a mechanism to
increase the speed of specific cases of context-aware retrival by the use
of "ignore_object_perms".

We use this new mechanism to speed the retrieval of fund objects in the
ACQ interfaces that draw available-fund dropdowns.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1334693 ./configure avoid osrf_config without core
Bill Erickson [Thu, 26 Jun 2014 14:35:38 +0000 (10:35 -0400)]
LP#1334693 ./configure avoid osrf_config without core

Avoid the check for and use of osrf_config during Evergreen ./configure
when run with --disable-core.  This allows the staff client to be built
and, in general, for make_release to be run on a machine that does not
have opensrf installed (or has multiple versions).

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP# 1337550 remove schema.org itemOffered, add price property
Dan Scott [Thu, 3 Jul 2014 20:20:08 +0000 (16:20 -0400)]
LP# 1337550 remove schema.org itemOffered, add price property

We use the "offers" property to link the Product to the Offer, so there
is no reason to use a reciprocal "itemOffered" property to link back to
the Product from the Offer. The circular reference confuses some tools
(http://rdfa.info/play) and may complicate general processing, so let's
simply remove it.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP# 1337550 Remove AggregateOffer schema.org instance
Dan Scott [Thu, 3 Jul 2014 19:53:25 +0000 (15:53 -0400)]
LP# 1337550 Remove AggregateOffer schema.org instance

As our record details page lists each copy as a separate Offer (well, in
many cases anyway, unless paging gets invoked), the AggregateOffer
entity is not really necessary--and using it on the same page as
separate Offer entities is not recommended by at least one search engine
(per Google https://support.google.com/webmasters/answer/146750?hl=en
says a given page should include "_one_ of the following: Offer or
Offer-aggregate").

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP# 1330784: Release notes for sitemap builder
Dan Scott [Mon, 7 Jul 2014 13:58:01 +0000 (09:58 -0400)]
LP# 1330784: Release notes for sitemap builder

More like documentation than release notes, but more is probably better
than less.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1330784 Add a sitemap generator for Evergreen
Dan Scott [Thu, 19 Jun 2014 19:52:42 +0000 (15:52 -0400)]
LP#1330784 Add a sitemap generator for Evergreen

Following the requirements at sitemaps.org, generate a
set of sitemaps that reflect the bib record's last edit
date, with 50,000 records per sitemap file.

Users can run this script targeting different libraries
and generating different output filenames using the
documented options in the script.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
5 years agoLP#1308239 support holds fulfillment on precat copies
Bill Erickson [Tue, 15 Apr 2014 20:30:19 +0000 (16:30 -0400)]
LP#1308239 support holds fulfillment on precat copies

During checkout, allow holds on precat copies to get fulfilled.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>