Dan Wells [Thu, 16 Jan 2014 21:01:09 +0000 (16:01 -0500)]
Rejigger 2.4.3-2.5.0 upgrade bits
As reported in LP#1261355, Postgres fails in some cases when changing
constraints on existing data inside a transaction. This may or may not
fix the actual problem, but it at least tidies up these changes, and
will make it much cleaner to move outside the transaction if needed.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Remington Steed <rjs7@calvin.edu>
The switch to config.coded_value_map for format icon types and labels
inadvertently broke schema.org type mapping. Restore it and attempt
to take advantage of the finer-grained types that are now available
to us.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
LP#1306176: force installation of Business::Stripe from CPAN
Business::Stripe can fail to pass its tests on platforms that
happen to have Pod::Simple 3.24 or later and Test::Pod. In
particular, Debian Jessie and Ubuntu Trusty meet those conditions
(since the OpenSRF installation process installs libtest-pod-perl)
and Debian Wheezy with backports enabled does as well.
Since the failing test cases are only for POD, this patches moves
Business::Stripe to the CPAN_MODULES_FORCE list across the board.
This can be undone if/when Business::Stripe releases a fix for
the POD validation warnings.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Whether a planning limitation or otherwise, we have seen a few cases
where queries run very, very slowly (appear to hang) when using the
updated metabib.record_attr view in a WHERE clause.
The simplest code change is to switch Vandelay to use the intermediate
'_flat' view instead, and early reports indicate that this at least
gets us back to a functional state.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Currently there is a <td headers='copy_header_date_format'> entry in
copy_table.tt2 that does not link to an associated table header with an
ID of that value. The desired target ID is "copy_header_create_date".
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Mike Rylander [Thu, 10 Apr 2014 17:03:30 +0000 (13:03 -0400)]
LP#1306133: Avoid metabib.rec_descriptor where possible
metabib.rec_descriptor has been a view over other data structures
for some time now, but with the advent of the new attribute infrastructure
it is a view over a view over a view, variously transforming IDs to
a slim table to an HSTORE structure and finally to a wide table. Thus,
it is extremely expensive to query. So we won't unless we're asked to.
Which, in the TPAC world, is never.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Doug Kyle <dkyle@grpl.org>
LP#1302113: define a file for storing lists of folks to acknowledge in the release notes
If a file called _acknowlegments is present in the docs/RELEASE_NOTES_NEXT
directory, its contents will be appended to the end of the release
notes under an "Acknowledgments" heading when
create_release_notes.sh is run.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Mike Rylander [Wed, 2 Apr 2014 17:11:25 +0000 (13:11 -0400)]
LP#1301510 Align element name with Fixed Field type
We depend on the field name in the XUL to line up the fixed field
value maps in the database with the appropriate context menus. ELvl
was not capitalized the same in all required spots, causing the
context menu to render but be ineffective.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
The Ills fixed field is 4 characters long (allowing for up to four
types of illustrations to be noted, per 008/006), but the fixed field
editor dropdown menus are not (a) multi-select capable nor (b) ready
to support multi-value-per-field, because, well Ills is the only one
like this, and that would be a pretty big complication to the code.
However, even though multi-select is not supported, we should still
apply the value selected and update the fixed field, otherwise the
value is not updated in the record itself.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Jeff Godin [Wed, 30 Oct 2013 17:17:25 +0000 (13:17 -0400)]
Add alert in user editor for method errors
Add an alert() in the user editor so that method errors are not
silent.
Without this, a method error (such as when saving a patron fails at
the db level) is silent. Better to at least inform the user that
something is amiss.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Until we solve the accessibility issues caused by autosuggest as noted in
https://bugs.launchpad.net/evergreen/+bug/1187993, we shall disable the
feature by default for new installations.
An entry for the release notes is included.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This set adds icons for the new formats that can now be represented due to
the recent MVF work. Many thanks to Jim Keenan at C/W MARS for creating
many of these icons.
The serial.png icon was borrowed from the Koha project and was originally
contributed by VOKAL (Vermont Organization of Koha Automated Libraries).
Bill Erickson [Sat, 22 Mar 2014 01:05:14 +0000 (21:05 -0400)]
LP#1115599: Ignore canceled lineitems during batch cancel
Continue ignoring already-canceled lineitems during batch cancel so that
a) no unnecessary calls are made and b) staff can be alerted when no
viable lineitems were selected for the requested action.
Kathy Lussier [Wed, 29 Jan 2014 22:07:29 +0000 (17:07 -0500)]
LP#1115599: Allow cancelled lineitems to be received and invoiced
Acquisitions staff need to be able to receive and invoice cancelled items,
particularly when those items are backordered. This branch restores the
ability to perform these actions on cancelled lineitems from the PO
screen.
LP#1282704: Serials: in routing lists, avoid extra page breaks wasting paper at print time
If you're using batch receive, and you have two copies (and therefore
two streams) that you're receiving with the Routing List? checkbox
checked, but only one of those streams actually has a routing list,
you'll note before this patch is applied that you get an extra page of
blank paper if you print the routing list that pops up.
LP#1303940: don't attempt to store NULL values in keyword, browse, or facet indexes
This patch implements a suggestion by Dan Wells and builds on Mike
Rylander's patch to skip inserting into field_entry and facet
indexes values that have been normalized to NULL. As a side effect,
the following warning will no longer be logged when attempting
to store such values in the facet index:
WARNING: Use of uninitialized value in subroutine entry at /usr/lib/perl/5.18/Unicode/Normalize.pm line 80.
CONTEXT: PL/Perl function "force_unicode_normal_form"
Mike Rylander [Mon, 7 Apr 2014 18:03:51 +0000 (14:03 -0400)]
LP#1303940: Protect against bogus data that can breaking indexing
In at least the case of browse indexing, some MARC contents can
cause us problems when normalization (such as stripping all
punctuation) can leave us with a NULL value for index-intended
data. The patch avoids the specific case of browse data being null
and causing an ingest failure.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Wells [Mon, 31 Mar 2014 19:59:25 +0000 (15:59 -0400)]
Remove unwanted index recreation
After some discussion, it was noted that this index was formally
dropped eons ago. The fact we are re-dropping it in this upgrade
is just a precaution, so there is no need to try to recreate it.
When we added browse support in 2.5, we took extra care to ensure that
our series browse entries would sort and display reliably.
800t does not specify non-filing characters, so it was excluded from
browse. Unfortunately, since browse and search had a single root
config, this removed 800t from search as well.
While we may want to reconsider expanding later on, this commit takes
a conservative approach, and uses all series values for search and
facets, but only entries with a usable filing indicator will be
extracted for browse. It accomplishes this by splitting the series
config in two, one config for search/faceting, and a second config
dedicated to browse (similar to what was done for title).
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Stephenson [Tue, 25 Mar 2014 17:59:55 +0000 (13:59 -0400)]
LP1297435: Make 0872 upgrade require less hand holding.
Add a count() around the metabib.remap_metarecord_for_bib call in the
final select statement. This allows the script to run without the
user having to scroll through rows of output.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
An apparently bad query plan causes Z39.50 searches of local
catalog to take an extremely long time to complete. One theory
is that metabib.rec_descriptor is the culprit, but that has not
been verified.
This commit works around the immediate problem, but will need to
be revisited. Some questions include:
1) Should we rewrite parts of open-ils.search.biblio.multiclass
(and the underlying storage methods) to use the new attr structures
more directly, rather than through a view of a view?
2) Alternately, should we rip it out? If so, we will need to also
remove/nullify the "use_staged_search" option, since there will be
no functional non-staged offering.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Remington Steed [Tue, 25 Mar 2014 13:30:38 +0000 (09:30 -0400)]
Change xref syntax to avoid docs processing bug
The current Documentation processing script can't handle the newer xref
syntax for cross references. Let's use the older syntax for now, and
consider changing over in the future, after the processing bug is fixed.
Remington Steed [Thu, 20 Mar 2014 19:52:30 +0000 (15:52 -0400)]
Docs: Revive/merge content into "Using the Staff Client"
This commit brings in three old sections and merges with any similar
content.
- Revive old section about sticky check box settings
- Merge old section about Font and Sound settings
Adds a brief section about zooming in the OPAC, and otherwise only
reformats some lines to make them git-friendly.
- Docs: Fix and copy Customize Toolbars section
The old "Customizable Toolbar" docs section is already revived in the
Evergreen Book "System Configuration and Customization" chapter. Since
this feature seems to belong under "Using the Staff Client ->
Workstation Administration", this commit duplicates it into that
chapter. This also fixes a few asciidoc bugs in both places. And it
fixes one bug in root.txt which caused "phonelist.txt" to be mentioned
at the bottom of this section, but not actually included in the docs
structure.
In addition, the section "Button Bar/Toolbar" that was also under
"Workstation Administration" has been moved up a level, since it
pertains more to staff client users rather than admins. And the
admin-specific content at the end of that section has been replaced
with a link to the newly duplicated "Customizable Toolbar" section.
Remington Steed [Wed, 19 Mar 2014 19:56:44 +0000 (15:56 -0400)]
Docs: Reformat numbered lists into AsciiDoc syntax
This commit improves list formatting in the Batch Importing section by
converting various hard-coded numbered lists into AsciiDoc syntax. Where
images are included, those are forced to be inline by adding a '+' to the
preceeding line. And whitespace was removed from the end of two lines. No
other changes are included.
Remington Steed [Mon, 13 Jan 2014 14:44:55 +0000 (09:44 -0500)]
Document new 2.5 feature in Acq docs
This commit adds documentation in two places for the new Acq feature
"Opportunistic Acquisitions In-Process Copy Overlay". First, a short
note is added to the "Load MARC Order Records" doc. Second, the feature
is described more thoroughly in the "Batch Importing MARC Records" doc.
Also, this commit cleans up a hard-coded ordered list and a few small
wording and formatting problems.
By default some of the perm groups do not have their
application_perm in the perm_list. This adds them.
Signed-off-by: Mark Cooper <markchristophercooper@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Conflicts:
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Jason Etheridge [Fri, 8 Nov 2013 19:12:43 +0000 (14:12 -0500)]
remove XUL @persist from list column definitions
We moved away from @persist a long time ago, but some cruft remained. This
would cause a local file, localstore.rdf, to balloon in size as columns were
adjusted in XUL-based lists. Since this is an XML file, writing and parsing
it can get very expensive if the file grows too large, which it has done for
some people.
This change keeps that file from growing further based on these list columns,
but it may be worth deleting the localstore.rdf file or creating a new staff
client profile (uninstalling and reinstalling the staff client DOES NOT
accomplish this).
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Mon, 17 Mar 2014 17:03:49 +0000 (13:03 -0400)]
LP#1253163: Make authority functions more truthful
One discovery we made on this bug was that PG can break if we
conveniently label functions as IMMUTABLE when they are now. Let's
go ahead and reclass some authority functions as STABLE STRICT to
better fit reality.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
There seems to be a bug in Postgres 9.3+ that does not like the
circuitous route we take to indexing authority headings. So, we
get around this by storing the actual heading values instead of
indexing a function over the MARC.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Mon, 3 Mar 2014 19:07:42 +0000 (14:07 -0500)]
LP#1243023: Teach oils_xpath() to decode specific enties in text nodes
Because of a behavioral change in Postgres' XML code (specifically, when
casting XML as TEXT, the Famous Five XML entities are not decoded), we
are seeing doubled encodings in XML and HTML output, as well as in indexed
data. To combat this, we will now check the first character of each
array element returned by XPATH() and, if it is not '<', we will decode
the entities ourselves.
Also included in this commit is some cleanup of the surrounding file
content, which was just confusing and useless in the modern era.
The contents of his commit, followed by:
=# drop function evergreen.oils_xpath(text,text,anyarray)
are enough to address the OP's complaint about browse data.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Thu, 6 Mar 2014 22:46:30 +0000 (17:46 -0500)]
LP1287967 - drop reporter.classic_current_circ view as part of 0864 upgrade
As noted in the bug description, attempts to run 0864.MVF_CRA-upgrade.sql will
fail on a database where the reporter.classic_current_circ view is present.
Add a DROP VIEW IF EXISTS and then include a note that administrators will need
to recreate the VIEW afterwards if desired.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
This patch replaces references to osrf_ctl.sh, which is deprecated
as of OpenSRF 2.3.0, with opensrf_control. It also names
2.3.0 as the minimum required version of OpenSRF.
brick_ctl.sh gets the most changes as a consequence. In particular:
* the stop_{c,perl}/[re]start_{c,perl} actions are removed, as
osrf_control behaves exactly the same when stopping or starting
services.
* the -s option for working with a single service is now documented,
and is restricted to the stop_osrf/[re]start_osrf actions
It should be noted that for brick-based setups (and other kinds of
multi-server setups) better control can be had by using opensrf_control
directly.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Back in the 2.2 days, Evergreen had code which set the
'general.useragent.override' to something like 'Mozilla/5.0 (Windows; U;
Windows NT 6.1; en-US; rv:1.9.2.25) Gecko/20111212 oils_xulrunner
/xul/rel_2_2_0/server/'. For anyone who once had a 2.2 client installed
and upgraded from it, this setting persists (this is the situation for
most stations in our library).
Since this string does not match the new test for 'open_ils_staff_client'
in the useragent, these clients are not properly streaming requests. This
problem was most easily noticed in Vandelay progress bars (they always
jumped from 0% to 100%).
This commit adds the code provided by Bill Erickson in the LP bug
comments. To test it, you can add the 'general.useragent.override'
setting to your staff client with any value (using the 'about:config'
interface), then run this code and check that your setting is gone.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Due to slightly different and more strict disabiguation rules
for parameters and column names in PLPGSQL in modern versions
of Postgres, our hold matrix functions were failing in 9.3.
This commit attempts to address that by declaring and using
aliases for parameters that share names with columns used in
in-line SQL.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Mike Rylander [Fri, 7 Mar 2014 20:48:35 +0000 (15:48 -0500)]
LP#1284864: Don't leak deleted constituent records
There were times when deleted constituent records were leaking into
the display of metarecord results. In particular, when a metarecord's
lead record was deleted, the lead was not recalculated. We address
this situation directly now in the remapper.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Tue, 4 Mar 2014 15:42:22 +0000 (10:42 -0500)]
LP#1284864 repair MR hold possibilty depth calculation
Fixes a bug where the hold possibility checks for metarecords used the
depth of the selection OU instead of depth 0 when no depth was defined.
This prevented holds from being placed in some instances, particularly
when no hold boundaries were defined (or equaled zero).
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
The number of constituent records for a metarecord during searching is
now consitently based on the presence of an opac visible copy and not a
holdable copy. This affects the constituent record counts in MR results
lists and the records displayed in the constituent records list. (Icons
were already checking visibility instead of holdability).
Holdable formats are still derived from records with holdable copies.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Remove unnecessary code to fetch the MR master when compiling MR
constituent records lists, since the master record was slipping into the
results set, where it should not have been. This code is unneeded and
is a holdover from an earlier experiment.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
* Repair format icons for MR and non-MR holds
* Allow all filters to be cleared from a MR hold (w/o resulting in a
server error).
* during editing, if a hold has a selection_depth, use that to further
limit the available formats and languages in the edit selectors.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 27 Feb 2014 21:27:55 +0000 (16:27 -0500)]
LP#1284864 metarecord filtered constituent record counts
Ensure the count of constiuent records in the MR results lists is
derived from the filtered record set (search org, depth, holdable, etc.)
and not all records.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Wed, 26 Feb 2014 15:35:25 +0000 (10:35 -0500)]
LP#1284864 TPAC format selector attribute / values
Creates a new search_format record attribute, which is responsible for
driving the catalog search format selector. The values are derived from
the icon_format attriute, with a few notable changes (for starters).
1. The 'book' search_format contains large print and has the label "All
Books".
2. The 'music' search_format contains all music, regardless of sound
record format (or other attributes) and has the label "All Music"
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 25 Feb 2014 21:47:03 +0000 (16:47 -0500)]
LP#1284864 TPAC metarecord display record count in results
Next to each metarecord containing more than one record, display the
count of constituent records next to the record title in parentheses.
This allows the user to see at a glance if a record is really grouped or
simply a single-record "group".
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 25 Feb 2014 20:33:32 +0000 (15:33 -0500)]
LP#1284864 display code value code in composite def builder
When selected code values to add to a composite definition in the coded
value map composite def. editor, display both the label and the code, as
many people or more familiar w/ the codes than the labels.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
The preamble to the installation instructions, intended for
developers, is a bit unclear. The instructions describe actions
that should take place at two different points in the installation.
This commit moves the instructions to download and install the Dojo
Toolkit until after the opensrf Linux user already owns the
/openils directory. It also adds the appropriate note for non-devs
to skip this section.
Signed-off-by: Elliot V <evoris@slcconline.edu> Signed-off-by: Remington Steed <rjs7@calvin.edu>
Mike Rylander [Fri, 14 Feb 2014 17:01:37 +0000 (12:01 -0500)]
LP1272316 - Calculate proximity in the DB for speed
We need to calculate and store a (potenially adjusted) proxmity for
each hold and copy for use in targetting and optimization of op
capture. Before this commit, we do that within the hold target
code itself. Now we'll do it when the hold-copy map is inserted,
because we have the same information available at that time as we
have in the targeter. This will both speed up the apparent cost of
the calculation, because it avoids the cost of a network round-trip,
and the total number of SELECTs we must issue, because the proximity
value will now be cached for use by the proximity map function.
Backward compatability is retained for the create_prox_map() function
in case any other code is depending on that.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>