Dan Wells [Thu, 16 Jan 2014 20:07:40 +0000 (15:07 -0500)]
Changes to smooth out make_release
1) Make the fake 'HeadURL' into a URL which works with our web repo.
Note that this has 'tags/' hardcoded in, so it only works with true
release branches (e.g. rel_x_y_z) not "working" branches
(e.g. rel_x_y).
2) Change range selector when building log to better exclude commits
from previous releases.
We can't alter a table, enabling triggers in this case, while a
table has trigger events pending. We move the trigger enabling
to outside the transaction to resolve this.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Repair reference to undefined variable (offline) in spawn_editor()
function, which is responsible for opening the tab for the linked
patron. Variable should be "offlineStrings".
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Tue, 8 Apr 2014 20:22:33 +0000 (16:22 -0400)]
LP#1078593 Regenerate summaries when deleting issuances
Both interfaces currently allow you to delete issuances even if they
have items attached and have the delete cascade. While this might be
a dangerous allowance, we should still make sure to keep our summaries
updated when this happens.
This commit adds automatic summary regeneration when deleting issuances
in either serials interface.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Wed, 10 Apr 2013 22:42:11 +0000 (18:42 -0400)]
LP#1078593 Add method for regenerating serial summaries
Right now, serial summaries only update when receiving or
resetting items. They need to update more often, so lets start
by adding a method just for doing that.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
1) fleshed_issuance_alter() changes
- First, if one of the inner updates returns an event, abort early.
Otherwise, we might overwrite the event while looping and lose
the error.
- Second, add authtoken to the created editor. This editor gets
passed around, and other functions might look for it there.
2) pass $type down into _summarize_contents()
- Right now, we have a bug where supplement/index contents in a
merged MFHD record will get added to the basic contents (and
vice-(vice-)versa). By passing in $type, we can assure that
we only return the type of contents we are looking for.
3) _prepare_summaries() should acknowledge empty summaries
- Under normal use, summaries will generally grow, and never shrink
to nothing. However, we must still handle cases where we have
discarded/deleted our last issuance, and in those cases, make sure
we "empty" the generated_coverage field in our summary.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Wed, 28 Jan 2015 17:24:02 +0000 (17:24 +0000)]
LP#1415572: ensure correct version of authority.normalize_heading() is in place
Some upgraded Evergreen databases can have the wrong version
of the authority.normalize_heading() function in place because
of a mixup in the 0848 schema upgrade script. The problem can
manifest itself by there being rows in authority.record_entry
where the heading and simple_heading columns have "NOHEADING"
values regardless of the control set:
This patch ensures that the correct version is in place and
updates authority.record_entry to fix up affected rows without
requiring a full authority ingest.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Update search metadata without a reingest by identifying records that
use a space in the audience field, and be sure that the coded value map
has a space for "uncoded" audience.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Mon, 26 Jan 2015 16:05:10 +0000 (16:05 +0000)]
LP#1414112: avoid excluding record attribute values that contain only blanks
Certain record attributes, chiefly the ones whose values comes
from MARC fixed fields and which have a coded value map associated
with them, can have a string consisting of one or more blanks as a
valid value. Consequently, this patch ensures that
reingest_record_attributes() no longer excludes all attributes that
have blank values from the final attribute list.
This fixes a problem where MARC records with the target audience (008/22)
coded as a blank (unknown or not specified) could no longer be retrieved
using an "audience( )" search filter.
After applying this patch, a reingest of record attributes should be
performed, e.g., by doing
select metabib.reingest_record_attributes(id)
from biblio.record_entry
where not deleted;
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Stephenson [Thu, 29 Jan 2015 13:02:03 +0000 (08:02 -0500)]
LP#1415898 Fix Potential Cstore Starvation in the OPAC
When a user views their current circulations and/or renews them via
the OPAC, a connection is made to a cstore drone so that the user's
circulations can be retrieved from the database, bypassing the cache.
This connection is not closed, and thus a cstore drone is left unable
to respond to new requests for several seconds. On a busy server,
this has actually caused the number of cstore drones to hit the limit
configured in opensrf.xml. If that situation continues for too long,
it leads to the load on the server spiking to the point where services
must be restarted.
This commit changes from xact_rollback to rollback so that the connection
will be closed.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jason Stephenson [Thu, 29 Jan 2015 12:59:07 +0000 (07:59 -0500)]
LP#1415898 Fix Potential Cstore Starvation in KPAC
The getit_results function in EGKPacLoader.pm does xact_begin, which
opens a connected session to a cstore drone. It later does xact_rollback,
which does not disconnect the session. This leaves a drone hanging for
several seconds unable to responde to new requests. This commit switches
to a rollback call that does disconnect the session.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Remington Steed [Wed, 26 Nov 2014 14:21:52 +0000 (09:21 -0500)]
LP#1396161: Improve public docs and change osrf-config default from script help
The public docs have an "Action Triggers" chapter, so this commit
applies the same improvements there to match the help docs in the
script. Also in the public docs, in two places a filename was split
across lines, causing a gap to appear in the HTML version of the docs.
That is corrected here. This commit also removes the 'osrf-config'
option from the examples in the script help docs, since they are using
the default value.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
- Removed --granularity-only help docs. Ever since the script was changed to
support parallel execution of different granularity levels the granularity-only
setting has always been set when using --granularity.
- Added --verbose help docs. This option wasn't included in the help docs.
- Clarification - added some clarification to a few of the help descriptions.
- Added an additional example for processing hooks and running pending events
with a granularity set.
- Removed two references to the --granularity-only flag in the Telephony docs.
I believe this change is valid for 2.7, 2.6 and 2.5 since the change to the script
was made in 2010.
Ben Shum [Tue, 16 Dec 2014 19:34:12 +0000 (14:34 -0500)]
LP#1373594: Also ignore subfield 7 in get_graphics_880s
In the Czech Republic the subfield 7 of MARC fields 1XX and 7XX are used for
the National authority control number.
The problem is, that in current Evergreen versions, the subfield 7 is displayed
as a part of the link to author seach in search result or record details, but
when using the linkt to search rcords of the same author, no results are
returned, no matter whether the records exist or not.
That is why we nedd to add the subfield 7 into get_graphic_880s.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Chris Sharp [Mon, 21 Apr 2014 13:10:28 +0000 (09:10 -0400)]
LP#1310619: Add links in reporter.classic_item_list to legacy_cat1 and legacy_cat2 views.
Currently, the reporter.classic_item_list view has the Legacy Cat 1 and 2
fields defined as "text", not "link", so all it will report out is the ID
number of the stat cat. We want nullability control over stat cat entries,
so these need to be "link".
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Thu, 8 Jan 2015 21:30:59 +0000 (16:30 -0500)]
LP#1408803 Add 'persist' login type to auth_proxy sample config
A recent version of EG added the option to "stay logged in", and this
was implemented as a new login type. Since basically everyone will use
this option via the OPAC, it makes sense that this should be part of the
sample config for auth_proxy.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Ben Shum [Fri, 26 Dec 2014 20:27:47 +0000 (15:27 -0500)]
Docs: fix asciidoc errors
When https://bugs.launchpad.net/evergreen/+bug/1386854 was merged to add a new
docs section for "Locally hosted content", it looks like there was a bad git
conflict resolution and an extra block of ======= was left behind.
Remove this to fix headings and table of contents for the documentation site.
Michael Peters [Mon, 8 Dec 2014 17:08:21 +0000 (12:08 -0500)]
LP#1319964 "Summaries & More" displays improperly in TPAC
Commit 14eb3d30 added HTML-escaping of OPAC extras display
labels, meaning that if an ampersand in such a label is
desired, it should be entered in the template just as an ampersand.
Signed-off-by: Michael Peters <mpeters@emeralddata.net>
[Amended original commit to tweak message and remove unecessary changes
to .po files, which are rebuilt when a release is rolled.]
Per http://www.loc.gov/marc/bibliographic/bd024.html we
should be checking to see if either the ind1 is "1" or
if there's a subfield 2 with a value of "upc" before
assuming that any "Other standard identifier" 024 field
is a UPC value.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Fri, 18 May 2012 12:30:08 +0000 (08:30 -0400)]
LP#921142: Bring back automatic padding of short fixed fields in the GUI MARC editor
Bring back automatic padding of short fixed fields in the GUI MARC
editor. Also, use onblur instead of oninput, so that we've already lost
focus and don't care if that happens again.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Wells [Fri, 4 Oct 2013 14:02:39 +0000 (10:02 -0400)]
LP#1389403 Add normalizer detection to call number browse
When finding the pivot for call number browse, we currently rely on
simple label matching (rather than normalized label matching), since
we do not know at the time of the search which normalizer we should
use.
Rather than blindly using the label, let's select the pivot in two
phases. First, we will do what we do know, getting as close as
possible by label alone. If we find an exact match, we are done (same
as the current code). If we don't find an exact match, we take the
normalizer setting from the closest label match, normalize our input,
then search again.
This method *greatly* improves the overall accuracy of call number
searching whenever the call number being browsed for does not exist,
while causing no harm to accuracy when it does exist (since it will
either match the label or normalize to the same call number anyway).
Eventually, we may want to add interface elements for selecting the
call number type, probably defaulting to the default call number type
for the org unit being searched, but even with that in place, this
"auto-detection" logic should still be valuable.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
My simplistic approach is to check to see if the link text == the href,
and if so, and we have a note to display, to use the note as the text of
the link instead.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Sun, 7 Dec 2014 13:51:33 +0000 (08:51 -0500)]
LP#1400082 - avoid uninitialized var warning at TPAC login
Give username a default value of '', which makes the regex happy (avoiding an
uninit warning in Apache logs if no value was entered) and still counts as de
nada for the purposes of the actual login dance.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Stephenson [Sat, 29 Nov 2014 15:34:53 +0000 (10:34 -0500)]
LP#1401271: Add missing dependency for Date::Manip perl module
This commit adds lines to distro-specific Makefiles to install
Perl Date::Manip packages so that Date::Manip::Date is
avaliable for marc_export. Somehow, this got missed or removed.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Conflicts:
Open-ILS/src/extras/install/Makefile.ubuntu-trusty
Dan Scott [Sun, 7 Dec 2014 15:17:42 +0000 (10:17 -0500)]
LP#1400100 - Avoid extra </div> when OpenURL is enabled
When the OpenURL resolver is enabled, the record summary.tt2 page always
inserts a </div>, whether or not there actually are any OpenURL results to
point at (which is the condition that triggers the opening <div>).
This has the effect of resulting in the generated RDFa not including anything
below the OpenURL section, effectvely preventing the schema.org/Offer types
from being associated with the record. Which is not good for the semantic web
of library data.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Revised instructions based on my testing. Swapped around the Monster
and Default skin discriptions since the listed Alternate Skin is the default skin.
Kathy Lussier [Tue, 5 Feb 2013 15:24:17 +0000 (10:24 -0500)]
Add KPAC configuration info to the community docs
Adds the KPAC TechRef docs to root.txt so that this information can be
available via the community docs. Also adds a section to the docs on
configuring the alternate skin and removes a reference to configuration
from the end-user KPAC docs.
Fredric T Parks [Wed, 6 Nov 2013 23:36:32 +0000 (15:36 -0800)]
LP#1246839: marc_stream_importer.pl no longer crashes with vs 0.23 of File::Temp
updated marc_stream_importer.pl to use the 0.23 API
Signed-off-by: Fredric T Parks <fparks@catalystitservices.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
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>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
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>
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>
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>
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: Galen Charlton <gmc@esilibrary.com>
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: Galen Charlton <gmc@esilibrary.com>
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.