Dan Scott [Wed, 30 Mar 2016 20:43:32 +0000 (16:43 -0400)]
Process ebrary records for microform weirdness
For unknown reasons, many of the ProQuest records included a malformed
008 that ended up identifying the item as a microform item, and throwing
off the language coding.
Dan Scott [Sun, 18 Jan 2015 18:04:04 +0000 (13:04 -0500)]
Treat incoming JSON as latin1
xID appears to return unencoded values in its JSON (such as
hex 333 in the response to ISBN 9784642033053) so treat the
JSON as though it were encoded in latin1; we're not using
any of the encoded string values anyway.
Dan Scott [Fri, 16 Jan 2015 20:42:08 +0000 (15:42 -0500)]
Continue enriching in the face of errors
Adjust the conifer.enriched_bre table to track the success
or failure of updates; this will then enable us to easily
generate a list of the problematic bibs that need to be
revisited.
Dan Scott [Tue, 13 Jan 2015 14:09:08 +0000 (09:09 -0500)]
Enrich the MARC records and track the enrichment
Still need to do error-handling so we can report problems encountered
with individual records and continue on in a cron job, but this gets
us a good chunk of the way there.
Dan Scott [Mon, 12 Jan 2015 19:41:22 +0000 (14:41 -0500)]
Robustify the MARC record enrichment function
Short circuit if we have the numbers we want, so we don't
burn through our API limit overly quickly. Increase the
timeout period. And handle the chance that the response
won't be successful without simply erroring out.
Dan Scott [Sat, 27 Dec 2014 21:51:32 +0000 (16:51 -0500)]
More example in-database MARC fixing
Generated the fix file with
\o ecco_uris_to_fix.sql
SELECT 'UPDATE biblio.record_entry SET marc = conifer.fix_ecco_uris(' || id ||
') WHERE id = ' || id || ';' FROM biblio.record_entry WHERE marc ~
'galegroup.com/ecco' AND marc ~ 'wind05901' ORDER BY id ASC;
\o
Dan Scott [Thu, 13 Nov 2014 20:44:48 +0000 (15:44 -0500)]
Updating MARC records using a database function
There are often debates around the best way to run a batch update of
records in an Evergreen database. My preferred way is to do it using
a PostgreSQL function so that you can simply invoke it as part of a
typical UPDATE statement (including getting as complex as you like
with the surrounding SELECT statements, keeping track of updates in
a separate table, etc).
This example does the following:
* updates 856 $9 subfields that currently have 'OSUL' as a value
to 'LUSYS'
* deletes any 856 fields that have a $9 value of 'WINDSYS'
* deletes any 506 fields that have a $9 value of 'OWA'
** NOTE: $9 is a repeatable subfield, so strictly speaking you should
iterate through all of the matching subfields before deleting or
blindly updating the value... but in our system, we have followed
the convention of a single 856 per URL and $9, so we're safe. Your
mileage may vary.
With this function, you can test your work by doing a simple
SELECT conifer.osul_to_lusys(<record-id>);
statement, then actually issue the update using something like:
UPDATE biblio.record_entry
SET marc = conifer.osul_to_lusys(2683915)
WHERE id = 2683915;
LP#778989: Attempt to find "Correct" copy location
This adds a trigger to asset.copy that on insert or change of the location
and/or call number tries to find an identically named copy location that
is scoped to the owning library of the copy.
If it does not find one it uses the location provided.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Adds documentation that describes how to use the local content bypass
feature of the AddedContent modules. This allows for local added content like
cover art, reviews, TOC, exerpts or annotations to be shown in bib records.
I also changed the headers in the External Added Content section to use title case.
Mike Rylander [Thu, 6 Nov 2014 21:03:36 +0000 (16:03 -0500)]
LP#1390225: Fail to care about errors from auth.session.delete
We're just tossing this call over the wall and moving on. We don't
care if the session wasn't there to delete or even if we didn't pass
a session to the server.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Mike Rylander [Thu, 6 Nov 2014 20:36:16 +0000 (15:36 -0500)]
LP#1390225: redirect to ctx.home_page instead of through ctx.logout_page
This way, we skip the auth.session.delete call that will error out because
we no longer have the authtoken cookie.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Tue, 21 Oct 2014 02:55:20 +0000 (22:55 -0400)]
LP#1366964 Update libdbi connection test error parsing
Modern version of libdbi return a slightly different error message for
queries which fail mid-transaction, causing an C-based DB backends to
exit abruptly unnecessarily. Update the error message test to include
the new format.
Includes Perl live test for confirming functionality.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Tue, 21 Oct 2014 15:02:12 +0000 (11:02 -0400)]
lp1383763 - Display OpenURL embargo statement
The ResolverResolver service fetches the embargo statement (such as
"Last year not available") from OpenURL resolvers and stores it in a
target_embargo field. In JSPAC we used to display this along with the
coverage statement, because it is very important that people know that a
resource may be available from 1999 but the last year isn't available
online.
Restore the display of this information to the TPAC.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Thu, 23 Oct 2014 19:17:58 +0000 (12:17 -0700)]
LP#1384868: limit fund drop-downs on the invoice page to only active funds
This patch fixes the fund selectors for adding extra copies
and charges to invoices to only active funds (in addition
to the existing restriction to funds visible to the user).
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Dan Wells [Thu, 9 Oct 2014 21:32:42 +0000 (17:32 -0400)]
LP#1379824 Make PermaCrud.js disconnect() actually disconnect
The disconnect() method in PermaCrud.js was meant to wrap the
underlying session disconnect, but it never actually disconnected
the session. This could lead to problems in long-living PermaCrud
objects, as they may think they are still connected when they are not
(the session remote_id is never cleared).
Also, remove a couple (now redundant) manual session.disconnect() calls.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Yamil Suarez <yamil@yamil.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Thu, 10 Apr 2014 14:59:49 +0000 (10:59 -0400)]
LP#1305958 Change copy table header atts to scope attributes
Per http://webaim.org/techniques/tables/data, the current best practice for
marking up tables for accessibility is to use the "scope" attribute for
headers, rather than the error-prone and markup-heavy "headers" attribute on
table cells.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Fri, 18 Apr 2014 17:45:59 +0000 (13:45 -0400)]
LP#1309664: Add some fixed field seed data for COM and SER
There are a few useful fixed fields we're missing mapping data for,
so this branch adds three: Freq, Regl, and File. There are certainly
more, but here's a bit that's of use to folks in the wild using the
fixed field editor improvements.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Fri, 26 Sep 2014 21:05:39 +0000 (17:05 -0400)]
LP#1306814: Make use of patron timeout setting for selfcheck
As described in the bug, the library setting "Self Check: Patron Login Timeout
(in seconds)" does not appear to work with the newer selfcheck interface.
It looks like some of it was already being pulled in, like the variable, but
the interface was not utilizing it.
This commit borrows from the old JS selfcheck and implements a default of
three minutes for selfcheck timeout otherwise handled by the library setting.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Mike Rylander [Mon, 29 Sep 2014 16:40:32 +0000 (12:40 -0400)]
LP#1374091: Speed up metarecord version of unAPI mra call
The change to metabib.record_attr_flat in the previous commit caused
a regression in the plan used in unapi.mmr_mra. This commit addresses
that by unrolling the mra view when used in context with metarecords,
which are shaped differently and require slightly different access
patterns.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Thu, 25 Sep 2014 18:34:20 +0000 (14:34 -0400)]
LP#1374091: Redefine view to help PG make better plans
The metabib.record_attr_flat view previously pulled its data
through several other intermediate views. While this improves
maintenance overhead, it ends up being an optimization fence
for certain data sets. So, we pull the logic from the leaf
views up into the main view. And, poof, 2 orders of magnitude
speedup on large data sets.
Signed-off-by: Mike Rylander <miker@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Tue, 7 Oct 2014 23:42:18 +0000 (16:42 -0700)]
LP#1378575: teach action::hold_request about behind_desk
This patch teaches the CDBI class for the action.hold_request
table about the newish behind_desk column, preventing errors
like this from being thrown if a recent OpenSRF version is in
use:
Processing of hold failed: Can't locate object method "behind_desk"
via package "action::hold_request" at /usr/local/share/perl/5.14.2/OpenILS/Application/Storage/CDBI.pm line 181.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Jeff Davis [Fri, 16 May 2014 22:14:43 +0000 (15:14 -0700)]
LP#1314827: On login, don't allow referer-based redirect to external site
On /eg/opac/login, if no redirect_to param is provided, the TPAC will
attempt to use the referer (if any) as the redirect destination. This
leads to undesirable behavior if the referring URL is from an external
site.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Wed, 24 Sep 2014 03:29:42 +0000 (23:29 -0400)]
Tidy search section of Using the OPAC
Primarily focused on restructuring the information around Boolean
searching, particularly as I find librarians want to know what the
Boolean operators are that they should use. However, cleaned up some
typos and formatting along the way.
Ben Shum [Thu, 11 Sep 2014 21:42:26 +0000 (17:42 -0400)]
Update core committer information on the staff client's About Page
senator has not contributed anything new for the past six months and is
therefore moved to the "Past Core Committer" listing per policies on:
http://wiki.evergreen-ils.org/doku.php?id=contributing:contributors
berick belongs to a new organization and this has been updated accordingly.
Chris Sharp [Thu, 18 Sep 2014 14:16:20 +0000 (10:16 -0400)]
LP#1234927 Reporter needs Item -> Combined Aged and Active Circulations link
There is a need for item usage statistics that include more than just active
circulations. I have included links to both Aged (patronless) Circulations
and to Combined Aged and Active Circulations sources.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Fri, 19 Sep 2014 00:39:05 +0000 (20:39 -0400)]
More additions to 2.7 Release Notes (part 2)
Add Steve Callender and move Yamil Suarez to the correct position alphabetically.
Also, note the location of the web client README.install file, but also
promise to update this by the next minor release of 2.7 series as a new
section of the primary README file.
Additions include a brief description of the web client preview, the
addition of Sprint 1 funding partners in the acknowledgements section,
the addition of NC Cardinal in the acknolwedgements section for
funding an acq funds transfer fix, and the addition of another code
contributor whose patch was just merged over the past few days.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Tue, 26 Aug 2014 19:49:45 +0000 (15:49 -0400)]
lp1271198 Strip browse and facet parameters from links
Browse and facet parameters were sticking to links to author, subject and
series links on record and result pages, as well as some other links where
the search parameters were no longer necessary. This commit:
1. Adds browse_search_parms and facet_search_parms to header.tt2 as new
classes of search parameters that one may want to remove.
2. Removes these parameters from the author and subject links on the
record page. It also uses the same method for removing search parameters
from the author link on the search results page and on the searchbar
Browse link.
3. Fixes an issue where the advanced search links were inadvertently
stripping general search parameters.
4. Adds more parameters to the general_search_parms group so that we can
have cleaner URLs.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Staff discovered an issue with the tt2 changes that caused the
place hold button to disappear when it shouldn't. Changing an &&
back to || seems to fix this.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Stephenson [Wed, 14 May 2014 19:46:29 +0000 (15:46 -0400)]
LP 1319560: Silence template error messages in Apache error log.
We get a number of messages like the following in our Apache error
logs on a constant basis:
Argument "" isn't numeric in addition (+) at
/openils/var/templates/opac/parts/record/navigation.tt2 line 6.
Argument "" isn't numeric in division (/) at
/openils/var/templates/opac/results.tt2 line 1.
Argument "" isn't numeric in numeric ge (>=) at
/openils/var/templates/opac/parts/record/navigation.tt2 line 38.
Argument "" isn't numeric in numeric gt (>) at
/openils/var/templates/opac/myopac/holds/edit.tt2 line 106.
Argument "" isn't numeric in numeric gt (>) at
/openils/var/templates/opac/myopac/holds.tt2 line 42.
Argument "" isn't numeric in numeric gt (>) at
/openils/var/templates/opac/parts/place_hold.tt2 line 98.
Argument "" isn't numeric in numeric gt (>) at
/openils/var/templates/opac/parts/record/summary.tt2 line 56.
Argument "" isn't numeric in numeric gt (>) at
/openils/var/templates/opac/parts/result/table.tt2 line 87.
Argument "" isn't numeric in numeric lt (<) at
/openils/var/templates/opac/myopac/hold_history.tt2 line 122.
Argument "" isn't numeric in numeric lt (<) at
/openils/var/templates/opac/myopa/result/table.tt2 line 87.
Argument "" isn't numeric in numeric lt (<) at
/openils/var/templates/opac/myopac/hold_history.tt2 line 122.
Argument "" isn't numeric in numeric lt (<) at
/openils/var/templates/opac/myopac/holds.tt2 line 215.
This commit adds some sanity checking to make those messages go
away.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Steven Chan [Mon, 29 Jul 2013 23:27:13 +0000 (16:27 -0700)]
Fix LP904860, Cannot print a patron address label
The sequence of events for printing an address label is as follows.
Staff client Code in the util/print.js file builds an HTML page of the
address label. The page includes two vital components, 1) a source tag
to pull 'print_win.js' file from the server, and 2) an onload event
handler bound to the body tag to execute a 'print_init()' function that
is defined in the source tag.
However, print_init() is undefined because the source tag contains a
badly formed URL. It needs to be prefixed by 'oils://remote' so that the
new 'oils:' protocol can be used to pull the file remotely from the
server.
Signed-off-by: Steven Chan <schan@sitka.bclibraries.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Tue, 17 Jun 2014 19:14:12 +0000 (15:14 -0400)]
LP#1331127 Repair sort logic of previous issuances
Ensure that the list of previous issuances is sorted correctly (on
date_published) when looking for the previous serial.unit to update its
copy location (when serial.prev_issuance_copy_location is enabled).
The data comes sorted from the DB, but the sorting was lost during the
process of unique-ifying the list. Ultimately, it was relying on the
order of hash keys, which is undefined.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
LP#1370630: don't log mod_deflate actions by default
This patch comments out logging of mod_deflate actions,
as this is needed only for debugging. Otherwise,
deflate_log will grow without bound, as it isn't dealt
with by typical default logrotate configs.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Remington Steed [Fri, 29 Aug 2014 18:45:50 +0000 (14:45 -0400)]
LP#1361801: Add required fields to serial issuance form
This commit prevents issuances from being created without a date_published
or holding_code. This has two benefits:
1. Prevents uncaught exceptions related to submitting null values for
either of those fields.
2. Requiring date_published prevents an ugly error when trying to
predict new issuances from an issuance without a date_published.
This commit does NOT provide any feedback to the user about which fields
are required. That would require further investigation into the Dojo/Dijit
objects being used for the edit form fields.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Jennifer Pringle <jpringle@sitka.bclibraries.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Jeff Godin [Wed, 30 Oct 2013 20:41:06 +0000 (16:41 -0400)]
LP#1246859: Improve username flow for staged users
Staged users in most cases have a username that consists of a UUID.
Rather than leave the UUID as their username or require staff to
clear the field and replace it with a barcode or other value, it
would be better to remove this username when loading the staged user
in the user editor.
This commit clears the username when loading a stage user if the
username looks like a UUID.
If a barcode has been staged for the loaded staged user, the
username will be populated with that value.
If there is no staged barcode, the username will remain blank and
will be populated using the standard method after staff enters a
value in the barcode field.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Kathy Lussier [Tue, 12 Aug 2014 21:33:16 +0000 (17:33 -0400)]
LP1309131 - Fix series link
Clicking on a series link with a hyphen failed because the hyphen was
stripped and the two words are joined together. This branch changes
series.tts to replace special characters with a space, which is similar to
the links we build for authors.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Mon, 2 Jun 2014 20:14:38 +0000 (16:14 -0400)]
LP#1325720 Repair fund rollover year selector query
Dojo dojo stores track values as strings, so values used in data store
queries must be coerced into strings before performing the query.
This fixes the year query in the fund rollover UI so that the page is
able to render the results of a rollover without dying from an JS error
before completing.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Steven Callender [Thu, 13 Mar 2014 17:34:23 +0000 (13:34 -0400)]
LP#1292129: Removed deleted call numbers from the search results to properly show copy count.
The SQL in fm_IDL.xml for setting up the reporter source "Hold/Copy
Ratio per Bib" includes deleted call numbers which in turn can give
an incorrect copy count. The ratio appears to still be correct because
deleted copies are considered in the ratio calculation, but not the
copy count that is displayed.
Signed-off-by: Steven Callender <stevecallender@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Tue, 19 Aug 2014 20:19:20 +0000 (13:19 -0700)]
LP#1358916: refuse to retrieve over-large MARC records via Z39.50
At least one malformed record discovered in the wild can
cause open-ils.search backends to balloon to over 3G of memory
consumption. This patch works around that by refusing
to process any (MARC) Z39.50 results that are larger than the
MARC record maximum of 99,999 octets.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Documentation for Delayed vs Canceled Items, Report Editing, Report Hints, and Copy View/Edit Links. Documentation written by Erica Rohlfs, Equinox Software, and Sally Fortin, Athenaeum Educational Services.
Adding docs for lost and paid status. These changes also moves the copy
statuses documentation up from the old 1.6 docs with the addition of the
long overdue and lost and paid statuses and includes some fixes to the
bills documentation.
Docs: Fix filenames to match references in the docs - second time
This is just like the fix that Remington Steed sent in on Sept 4th.
These images were creating errors for me when I try to create
an epub version of the docs because they are all referenced as .jpg
but the filenames were .JPG.