Add columns to the database for storing URIs of SKOS
vocabularies and concepts. In particular:
- add a vocabulary column to config.record_attr_definition
to store the URI of the published vocabulary associated
with the record attribute
- add a concept_uri column to config.coded_value_map
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
This was converted from marcedit-tooltips.xml
using the marc_tooltips_to_sql script introduced in the
previous commit. As a consequence, the tag table
data is somewhat out of date; this will be addressed
later.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Galen Charlton [Mon, 2 Mar 2015 19:10:13 +0000 (19:10 +0000)]
LP#1427287: script to migrate MARC tooltips data file
marc_tooltips_to_sql is a script that converts an
Evergreen MARC tooltips file to a set of SQL statements
for seeding config.marc_field, config.marc_subfield,
config.record_attr_definition, and config.coded_value_map
with tag table data.
This patch teaches the Evergreen database how to store
information about MARC fields, subfields, and values that
can be associated with subfields. The initial application
of the tag-table service is supplying the webstaff MARC editor
with data for context menus for selecting valid tag, indicator
value, subfield code, and subfield values.
A record attribute's coded value map can be associated with a
MARC subfield and returned by the tag-table service. This is for
supporting the use of controlled vocabularies for subfield values in
the MARC editor.
Database schema
---------------
Tables:
* config.marc_format: list of MARC formats; at present, however,
only MARC21 is supported
* config.marc_field: list of fields recognized by the Evergreen
database.
* config.marc_subfield: list of subfields recognized by Evergreen
These two views assist in the process of determining the set of
MARC fields and subfields are meant to be in force at a particular
OU. These are generally not meant to be queried directly, in
favor of the config.ou_marc_{sub}fields() functions.
These functions return the authoritative set of fields or
subfields in force at a given OU.
OpenSRF methods
---------------
This patch adds methods to open-ils.cat for
retrieving either the entire tag table or just the list
of MARC fields, either from the stock MARC format
seed definition or as potentially customized for the user's
workstation OU:
Ben Shum [Tue, 18 Aug 2015 15:26:09 +0000 (11:26 -0400)]
LP#1312309: Initial changes to web Makefile to avoid copying JSPAC files
In Open-ILS/web/Makefile.am, we were copying in some files for JSPAC.
Because we're in the process of removing these files, this broke the
installation process for make install step of the README.
Remove the loop for now, probably more cleanup required here.
Jeff Godin [Fri, 15 May 2015 23:16:50 +0000 (16:16 -0700)]
LP#1312309: Remove old bbags.xml interface, apache config
Remove the XML and Javascript for the old JSPAC book bags / bbags / list
display.
Also, remove <Location> block in Apache example configs for /opac/extras, as
the only things requiring it were the (now removed) legacy self checkout
interface, and this bbags interface.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Tue, 18 Aug 2015 16:42:14 +0000 (12:42 -0400)]
LP#1440114 invoice item type prorate/blanket warning
Warn the user that only one of 'prorate' or 'blanket' may be selected
when creating/editing an invoice item type. When this happens, the save
operation is aborted and the user is returned to the edit dialog.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Adds new "Finalize Blanket Order" button to purchase page for PO's that
are activated and have at least on blanket charge. Finalizing the PO
disencumbers all blanket charges and marks the PO as complete.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
When invoicing a PO that has at least one blanket charge, a new option is
present which allows staff to indicate that an invoice is the final invoice
for the PO. Finalizing a PO results in the following:
1. Encumbrances for all blanket charges on the PO are dropped to $0.
This is done by setting the amount paid in the original fund_debit
(linked the blanket po_item) to $0.
2. If no pending lineitems exist on the PO, the PO is marked as received.
If there are pending lineitems, the state is left untouched.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Support "blanket" (long-lived, multi-invoice) orders via a new "blanket"
boolean on invoice item types. Blanket charges can be invoiced multiple
times by creating a new fund_debit for each invoice item linked to a
blanket po_item.
This change also adds the amounts paid over time for blanket charges to
the Amount Paid summary information for purchase orders containing the
charges.
Adds a new Invoice Item Type of "Blanket Order".
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Wed, 8 Apr 2015 19:17:01 +0000 (15:17 -0400)]
LP#1440114 Remove inv_item via po_item from invoice
Allow invoice_items which were descended from po_item's (direct charges)
to be removed from invoices. Prior to this, a JS exception prevented
removal of these items.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
This commit adds a pgTAP test which ensures that imported items are
being successfully added to the 'import_item' table. The test confirms
that the correct number of items have stat cat data in the table. The
test also ensures that the new xpath function works properly, simply by
using it.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
LP#1379815 Add code to assign stat cats on Vandelay imported items
This commit adds columns to the Holdings Import Profile table
(vandelay.import_item_attr_definition) and to vandelay.import_item, adds
the corresponding fields to the IDL, modifies the database functions
which import the data (ingest_bib_items() and ingest_items()) and adds
code that parses the imported stat cat data (of the form
CAT 1|VALUE 1||CAT 2|VALUE 2) and applies it to the appropriate
overlayed copy.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Wed, 8 Oct 2014 17:35:43 +0000 (13:35 -0400)]
LP#1379815 Add missing behavior to update_copy_stat_entries
The current function doesn't provide the level of control we need, even
with the 'delete_stats' flag set to zero. This commit adds a new
'add_or_update_only' option which preserves existing stat cat entry maps
for any stat cat not represented on the incoming copy object, and
updates values when appropriate.
This commit also updates the function comment for better clarity.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Mon, 6 Oct 2014 15:52:27 +0000 (11:52 -0400)]
LP#1379815 Fetch tag data as a table using tag/xpath combo
New function: oils_xpath_tag_to_table()
This function is adapted from oils_xpath_table() with the goal of being
more targeted and simpler to use.
The main issue with oils_xpath_table() is that it relies on peer
UNNEST() functions, and that leads to unexpected behavior whenever the
xpath arguments result in uneven or "gapped" selections. In the first
type of case, the resulting table includes rows representing the least
common multiple of the underlying xpath selections. In the second
type, though the xpaths may sometimes return the same number of values,
those values are not correlated except by order in the marc, which does
not account for the real possibility of null values in the set.
This example illustrates both negative behaviors (non-correlated fields
and least-common-multiple row multiplication).
The new method, while internally quite similar, has a different
signature, with the most significant change being a 'tag' argument
which serves as a common base element for the xpaths (now an array
rather than a pipe-delimited string).
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Set search preferences is currently ordered by shortname in
Admin > Workstation Administration > Set Search Preferences.
This patch adds functionality that orders each org unit and
its children in alphabetical order by name, rather than by
shortname.
Signed-off-by: Adam Bowling <abowling@emeralddata.net> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Tue, 9 Jun 2015 21:59:42 +0000 (17:59 -0400)]
LP#1463590 Loosen read access to distribution formulas
Make it possible for ACQ staff that have the CREATE_PURCHASE_ORDER
permission to view distribution formulas (via PCRUD) , making it
possible to use them from the PO batch update operation.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Thu, 12 Mar 2015 20:06:16 +0000 (16:06 -0400)]
LP1431541: SRU UTF8 encoding issues
The SuperCat SRU service was encoding MARCXML using an encode_utf8()
call that ended up corrupting non-ASCII characters. In addition, the
HTTP header charset was not being set, meaning that the return header
would default to ISO-8859-1.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Thu, 7 May 2015 20:43:16 +0000 (16:43 -0400)]
LP#1419172 Optimize full_circ_count view to avoid seq scans
As reported by Chris Sharp:
"The reporter.classic_item_list view was modified in bug 1208572 to use
extend_reporter.full_circ_count to provide the use count for each item.
Unfortunately, this change was found to be the cause of consistently
long-running (2+ hours) reports queries in PINES as its query plan on
our PostgreSQL 9.3 server was resulting in sequential scans of both the
circulation and aged_circulation tables."
This commit restructures the view to avoid JOINs, and is in production
at PINES with noted improvement.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Ensure that future backdates are successully ignored in the checkin API.
The logic was in place to do this, but it failed to clear the values,
resulting in using the future backdate anyway.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
LP 1450561: Restore org. unit settings history limit function and trigger
The evergreen.limit_oustl function and the limit_log_oustl trigger on
config.org_unit_setting_type_log were missed in the upgrade scripts
when these were added to the base schema. This commit adds them and a
pgtap test to check that they exist after.
This commit also alters the body of the limit_oustl function to take into
account of the org unit when deleting entries from the log table. This
change allows multiple consortium members to have their own five history
entries. The original code only kept the last five entries of any given
setting across the whole installation.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Thu, 7 Mar 2013 13:30:02 +0000 (08:30 -0500)]
LP#1112723 Consider copy-level opac_visible flag when ranking
The current unAPI calls consider opac_visibility of the status,
but not the copy itself. If you have a record with copies set to
opac_visible = false, you might see few or no copies in the OPAC
results list, as these invisible copies may be the first five
returned, and they then crowd out the visible copies.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Wed, 5 Aug 2015 16:50:53 +0000 (12:50 -0400)]
lp1481844 Change Available Copies Display
The Show link in the available copies area of the record summary will now
display for any org unit that owns a copy of the title, even if those copies
are unavailable. This commit also changes the language in the display to read
"x of y copies available at z library."
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Tue, 18 Aug 2015 17:55:26 +0000 (13:55 -0400)]
lp1486252 Change label for acq admin menu
Now that the acq admin menus have move outside of the Server Admin menu, it
should be called "Acquisitions Administration" to be consistent with other
options in this area.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Thu, 6 Aug 2015 22:15:54 +0000 (22:15 +0000)]
LP#1482400: when activating a PO, provide better progress updates
This patch improves how progress is reported during the activation
of a purchase order that has a large number of assets (bibs and
copies) to create. Specifically, it:
[1] Shows a progress bar during the asset creation phase.
[2] Calculates a linear throttle for updating the record counts
widget. The value is based on the maximum number of bibs and
items that could be created during the activation, divided by 20
(which is an empirically derived number of streaming responses
that can be sent back before the XUL client starts having
difficulty).
[3] During the asset-creation phase, the number of records created is
displayed above the progress bar.
[4] Adds a title to the progress bar that's displayed during the
second phase of order activation.
To test, after applying the patch:
[1] Create a purchase order that has a large number of
brief bibs and copies to create during activation. For
example, 30 line items and 60 copies.
[2] Activate the purchase order. You should see the following
after entering the record import queue and submitting:
(a) Progress dialog whose title is "Creating bib, call number,
and copy records.."
(b) The progress dialog displays and updates text above the
progress bar indicating how many records it has processed,
e.g., "Bib Records Merged/Import: 25"
(b) The record update counts should be updated at a regular
frequency.
(c) When the asset creation phase is done, the progress bar's
title should change to "Activating purchase order..."
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1478123: fix leak of file descriptors by Apache workers
Apache backends handling TPAC requests and making requests
of the added content handler were not properly closing
their sockets. This patch adds a close() after the shutdown()
to plug the leak.
This patch fills a wishlist request to have the Acquisitions
Admin functions moved out of "Server Options" and into their own
adminitrative menu.
They can now be accessed via Admin > Acquisitions > Currency Type, etc.
Signed-off-by: Michael Peters <mpeters@emeralddata.net> Signed-off-by: Jennifer Pringle <jpringle@sitka.bclibraries.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
This commit removes the last few references to the script_runner
used by OpenILS::Application::Circ::Circulate::Circulator to run
JavaScript circ policies. The script_runner is basically doing
nothing at this point.
To test this commit, apply it to a test system, install Evergreen,
start or restart the open-ils.circ service and check that check
outs and renewals still work.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
- Add unapi.cbs database function to grab config.bib_source data, and
include this in unapi.bre XML output.
- Make bib_source.id and bib_source.source available as record
attributes in TPAC.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Jeff Davis [Tue, 17 Mar 2015 21:53:05 +0000 (14:53 -0700)]
LP#1433328: Add class attribute to e-resource links in TPAC
In the TPAC, links to electronic resources are not directly, uniquely
identifiable in the DOM. You can specify these links indirectly, with
something like '.result_table_title_cell > td > a' in search results
or '.rdetail_uri > a' on the record details page, but this is fragile
and a bit cumbersome. Adding a unique class attribute directly to the
link elements would make things easier for services built on top of
the TPAC, such as Overdrive API integration or JS-based analytics for
e-resources.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Stephenson [Thu, 13 Aug 2015 19:22:33 +0000 (15:22 -0400)]
LP 1484655: ftp://ftp.mozilla.org moved to http://archive.mozilla.org
This commit changes the XULRUNNER_URL in Open-ILS/xul/staff_client/
Makefile.am from using ftp to talk to ftp.mozilla.org to using http
with archive.mozilla.org. This is necessary because Mozilla.org
have apparently declared the former to be closed and the latter to
be the canonical location for downloads.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Ott [Tue, 28 Jul 2015 20:05:31 +0000 (16:05 -0400)]
LP#1394989: Do not include deleted users when retrieving for Collections
As a side effect of discovering that users with no cards were being retrieved
as part of the Collections API calls, those users ended up being mostly
made up of deleted users (merged with an actual lead record, etc.)
This patch contribued by Bill Ott changes the retrieval so that it skips
over those deleted users.
Signed-off-by: Bill Ott <bott@grpl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Michael Peters [Thu, 20 Nov 2014 22:41:44 +0000 (17:41 -0500)]
LP#1394989: Make users_of_interest test for defined actor.usr.card values
If the open-ils.collections.users_of_interest API encounters a patron that
has a null "card" value in actor.usr the API will crash with an error like:
Received Exception:
Name: osrfMethodException
Status: *** Call to [open-ils.collections.users_of_interest.retrieve] failed for session [1416515351.333446.1416515351406], thread trace [1]:
Can't call method "barcode" on an undefined value at /usr/local/share/perl/5.14.2/OpenILS/Application/Collections.pm line 299.
This patches users_of_interest to provide "undef" in the event that there is
not a proper barcode associated with the user when retrieving results for the
API call.
Signed-off-by: Michael Peters <mpeters@emeralddata.net> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Fri, 7 Aug 2015 15:00:46 +0000 (11:00 -0400)]
Documentation: Add 2.8 docs for void on claims returned
Adding docs for void on claims returned feature. Also, adding a reference
to new "no billing activity on zero balance transaction" in one area of
circulation that was missed. Branch includes some other updates to old
information.