working/Evergreen.git
9 years agoLP#1402797 Implement "set bottom view as default"
Mike Rylander [Tue, 20 Jan 2015 02:48:10 +0000 (21:48 -0500)]
LP#1402797 Implement "set bottom view as default"

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 Use target="_self" to force a top-level page load
Mike Rylander [Mon, 19 Jan 2015 22:22:20 +0000 (17:22 -0500)]
LP#1402797 Use target="_self" to force a top-level page load

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 Use the staff-wrapped catalog when jumping to a bib record
Mike Rylander [Mon, 19 Jan 2015 22:15:53 +0000 (17:15 -0500)]
LP#1402797 Use the staff-wrapped catalog when jumping to a bib record

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 For any grid with a persistKey, store the last selected row count as a...
Mike Rylander [Mon, 19 Jan 2015 22:05:12 +0000 (17:05 -0500)]
LP#1402797 For any grid with a persistKey, store the last selected row count as a localStorage value

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 Add record summary bar to the catalog display, and hide Actions for this...
Mike Rylander [Mon, 19 Jan 2015 20:17:37 +0000 (15:17 -0500)]
LP#1402797 Add record summary bar to the catalog display, and hide Actions for this Record until usable

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 implement "delete all from catalog" for copy buckets
Galen Charlton [Fri, 16 Jan 2015 22:12:01 +0000 (22:12 +0000)]
LP#1402797 implement "delete all from catalog" for copy buckets

TODO: at present, this is pretty optimistic

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 webstaff: add basic copy bucket management functionality
Galen Charlton [Thu, 15 Jan 2015 22:12:49 +0000 (22:12 +0000)]
LP#1402797 webstaff: add basic copy bucket management functionality

This adds an interface for managing copy buckets, including
adding and removing them, adding items to a pending list and to
copy buckets by barcode, and removing items from a bucket.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 make clearing the record bucket pending list action functional
Galen Charlton [Thu, 15 Jan 2015 21:52:00 +0000 (21:52 +0000)]
LP#1402797 make clearing the record bucket pending list action functional

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 implement Show All in Catalog action for record buckets
Galen Charlton [Thu, 15 Jan 2015 16:16:03 +0000 (16:16 +0000)]
LP#1402797 implement Show All in Catalog action for record buckets

Note that this will typically require the brower's pop-up
blocker to be disabled for the webstaff site.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 use staff search for record bucket queries
Galen Charlton [Thu, 15 Jan 2015 15:01:02 +0000 (15:01 +0000)]
LP#1402797 use staff search for record bucket queries

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 Improve styling of retrieve-by pages
Mike Rylander [Thu, 15 Jan 2015 14:11:26 +0000 (09:11 -0500)]
LP#1402797 Improve styling of retrieve-by pages

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 Implement retrieve record by id and tcn
Mike Rylander [Wed, 14 Jan 2015 22:20:23 +0000 (17:20 -0500)]
LP#1402797 Implement retrieve record by id and tcn

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 Use egCore.env.basePath to construct the URL for last record
Mike Rylander [Wed, 14 Jan 2015 20:27:15 +0000 (15:27 -0500)]
LP#1402797 Use egCore.env.basePath to construct the URL for last record

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 Implement "Retrieve Last Bib Record" using localStorage record cache
Mike Rylander [Wed, 14 Jan 2015 20:05:14 +0000 (15:05 -0500)]
LP#1402797 Implement "Retrieve Last Bib Record" using localStorage record cache

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1402797 Save the record we land on from within the staff client as the "last recor...
Mike Rylander [Wed, 14 Jan 2015 19:15:25 +0000 (14:15 -0500)]
LP#1402797 Save the record we land on from within the staff client as the "last record retrieved"

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#957466: Fix invalid MARCXML syntax
Remington Steed [Tue, 24 Feb 2015 18:25:16 +0000 (13:25 -0500)]
LP#957466: Fix invalid MARCXML syntax

This commit fixes some invalid MARCXML syntax, and also makes the XPath
query more general to allow for namespaces on the tags.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
9 years agoLP#957466: Added pgTAP test for db function change
Remington Steed [Thu, 19 Feb 2015 15:03:18 +0000 (10:03 -0500)]
LP#957466: Added pgTAP test for db function change

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
9 years agoLP#957466: A simpler version of set_marc_905u.
Jason Stephenson [Wed, 18 Feb 2015 16:34:53 +0000 (11:34 -0500)]
LP#957466: A simpler version of set_marc_905u.

This version only adds a 905$u if none already exist in the document. It
does so by creating a new 905 tag with subfield u. It does not add on
to any possibly existing 905 tag that does not have a subfield u.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
9 years agoLP#1282286 Tab is NULL error
Liam Whalen [Sat, 14 Feb 2015 08:25:05 +0000 (00:25 -0800)]
LP#1282286 Tab is NULL error

When editing a MARC record in Vandelay or MFHD holdings in a popup XUL
WIndow, a tab is NULL error is presented to the user.

This happens because an undefined variable is being used when it should
not be.  This code adds a check for that variable to ensure it exists
before using it.  The variable used only matters in cases where tabs are
present, which is not the case with pop up MARC edit windows, so
ignoring the variable in these cases is fine.

Signed-off-by: Liam Whalen <liam.whalen@bc.libraries.coop>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
9 years agoLP#1154579: explicitly alert if copy location failed to be deleted
Galen Charlton [Mon, 23 Feb 2015 20:25:02 +0000 (20:25 +0000)]
LP#1154579: explicitly alert if copy location failed to be deleted

This patch adds an alert if the act of deleting a copy
location in the staff interface fails -- which would
most commonly happen if there are still active items
attached to the location to be deleted.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1423813: adjust some queries to account for deleted copy locations
Galen Charlton [Mon, 23 Feb 2015 21:03:41 +0000 (21:03 +0000)]
LP#1423813: adjust some queries to account for deleted copy locations

This patch adjusts some queries so that if a copy location
is deleted, any undeleted items that are attached to it
are considered deleted for the purpose of generating
OPAC item lists and seeing if items are potentially available
to fill hold request.

It should be noted that if a copy location is marked as
logically deleted, there shouldn't be any undeleted
copies associated with it.  However, as this condition is not
presently enforced by a database contraint, adding additional
checks on acpl.deleted provides some additional defense.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#904581: when calculating hold status, be more careful about fetching transits
Galen Charlton [Thu, 5 Feb 2015 16:52:36 +0000 (16:52 +0000)]
LP#904581: when calculating hold status, be more careful about fetching transits

This patch fixes a problem where if a hold meets the following
criteria, an "Invalid date format: at /usr/share/perl5/Error.pm"
error can be thrown when fetching its details:

- the hold has a captured item
- the captured item has status 8 (on hold shelf)
- there is another item that is currently in transit to fill the hold
- the pickup library (or one of its ancestors) has the
  circ.hold_shelf_status_delay library setting set.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoRevert "LP#1419813 Fix default joins for config.rule_age_hold_protection."
Galen Charlton [Mon, 23 Feb 2015 19:11:24 +0000 (19:11 +0000)]
Revert "LP#1419813 Fix default joins for config.rule_age_hold_protection."

This reverts commit bb98f1885d0353cdde11e9e2631ecb553a7d685a.

9 years agoLP1423922: Quick staff option to place another hold
Kathy Lussier [Fri, 20 Feb 2015 14:03:13 +0000 (09:03 -0500)]
LP1423922: Quick staff option to place another hold

When a hold is successful in the staff client, provide a link to place another
hold on the same title. This is a time savings for staff when placing holds
for multiple patrons on a newly-added title or when doing book club requests.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#121054: Stamping upgrade script for asset.copy_location-delete-rule
Ben Shum [Sat, 21 Feb 2015 07:25:36 +0000 (02:25 -0500)]
LP#121054: Stamping upgrade script for asset.copy_location-delete-rule

Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#121054: Adding release notes entry for copy location delete flag
Kathy Lussier [Thu, 19 Feb 2015 11:42:02 +0000 (06:42 -0500)]
LP#121054: Adding release notes entry for copy location delete flag

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#121054: Add Deleted Flag to asset.copy_location
Jason Boyer [Thu, 25 Sep 2014 14:53:11 +0000 (10:53 -0400)]
LP#121054: Add Deleted Flag to asset.copy_location

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1423585: add release notes entry
Galen Charlton [Sat, 21 Feb 2015 02:39:40 +0000 (02:39 +0000)]
LP#1423585: add release notes entry

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1423585 Add Open Graph Protocol markup to TPAC
Dan Scott [Thu, 19 Feb 2015 16:08:32 +0000 (11:08 -0500)]
LP#1423585 Add Open Graph Protocol markup to TPAC

Very simplistic markup for now, just the basic http://ogp.me
requirements of title, url, image, and type (and we're reusing
the schema.org type in the short term).

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1413721: Adding release notes entry for styling on SMS screen
Kathy Lussier [Thu, 19 Feb 2015 15:36:11 +0000 (10:36 -0500)]
LP#1413721: Adding release notes entry for styling on SMS screen

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP1413721: Styling for sms Text Call Number page
Christine Morgan [Wed, 18 Feb 2015 21:47:22 +0000 (16:47 -0500)]
LP1413721: Styling for sms Text Call Number page

Adds highlighting to call number text and makes font consistent.
Provides styling for mobile display.

Signed-off-by: Christine Morgan <cmorgan@noblenet.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1410369 stamping TPAC message center DB upgrade
Bill Erickson [Fri, 20 Feb 2015 21:55:40 +0000 (16:55 -0500)]
LP#1410369 stamping TPAC message center DB upgrade

Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1410369: fix (old) thinko in A/T environment builder
Galen Charlton [Fri, 20 Feb 2015 17:15:59 +0000 (17:15 +0000)]
LP#1410369: fix (old) thinko in A/T environment builder

If a label is set for a piece of the environment, e.g.,
[qw/foo bar/], ensure that we end up with $self->environment->{foo}{bar},
not $self->environment->{foo}{bar}{bar}

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: fix thinko in auml IDL
Galen Charlton [Fri, 20 Feb 2015 17:15:35 +0000 (17:15 +0000)]
LP#1410369: fix thinko in auml IDL

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: Pull message title from the environment
Mike Rylander [Fri, 20 Feb 2015 15:06:03 +0000 (10:06 -0500)]
LP#1410369: Pull message title from the environment

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: Teach EventGroup how to process messages
Mike Rylander [Fri, 20 Feb 2015 14:57:25 +0000 (09:57 -0500)]
LP#1410369: Teach EventGroup how to process messages

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: fix issue with the order of the table creation statements
Galen Charlton [Thu, 19 Feb 2015 21:25:32 +0000 (21:25 +0000)]
LP#1410369: fix issue with the order of the table creation statements

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: release notes for patron message center
Galen Charlton [Thu, 19 Feb 2015 19:56:48 +0000 (19:56 +0000)]
LP#1410369: release notes for patron message center

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: add a new view to restrict arbitrary editing access
Galen Charlton [Thu, 19 Feb 2015 19:38:19 +0000 (19:38 +0000)]
LP#1410369: add a new view to restrict arbitrary editing access

The previous commit now allows owning_user in fm_IDL.xml to
specify that patrons can access their own messages, saving
the need to write some copy-and-paste middle-layer code.

However, we don't necessarily want a patron who figures
out how to use pcrud directly to change the content
of messages that are sent to them.  To avoid that, this
patch adds a new view, actor.usr_message_limited, that is
allows updates of the read_date and deleted columns in
the underlying table, but nothing else.

This patch also fixes a couple typos.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: PCRUD should respect the owning_user field
Mike Rylander [Thu, 19 Feb 2015 18:35:29 +0000 (13:35 -0500)]
LP#1410369: PCRUD should respect the owning_user field

PCRUD should always respect the object owner, even when a context org is
specified.

[NOTE: use the -b option to diff to see the real change -- much is whitespace.]

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: hook up patron message center to XUL staff client
Galen Charlton [Wed, 18 Feb 2015 23:42:22 +0000 (23:42 +0000)]
LP#1410369: hook up patron message center to XUL staff client

This adds a new "Message Center" item in the "Other" menu
on the patron display.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
LP#1410369: typo fix

(feel free to squash when merging)

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: AutoGrid-based staff interface for viewing patron messages
Galen Charlton [Wed, 18 Feb 2015 23:41:10 +0000 (23:41 +0000)]
LP#1410369: AutoGrid-based staff interface for viewing patron messages

Falling as this does between the introduction of the web staff
interface and its production use, this patch implements a
quick AutoGrid interface for viewing patron messages from
the staff side.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: adjust A/T event definition editor
Mike Rylander [Wed, 18 Feb 2015 22:05:43 +0000 (17:05 -0500)]
LP#1410369: adjust A/T event definition editor

Suppress message fields in the A/T setup grid,
and make the message template use a textarea for input

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: update TPAC dashboard counts as needed
Galen Charlton [Wed, 18 Feb 2015 22:17:46 +0000 (22:17 +0000)]
LP#1410369: update TPAC dashboard counts as needed

This factors the lookup of TPAC dashboard/"vital" stats
to a separate routine and invokes it a couple more times
as needed during patron message processing that can
affect the count of unread messages.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: Show unread message count in the patron dashboard
Mike Rylander [Wed, 18 Feb 2015 21:40:50 +0000 (16:40 -0500)]
LP#1410369: Show unread message count in the patron dashboard

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: add open-ils.actor method for fetching user messages
Galen Charlton [Wed, 18 Feb 2015 21:39:48 +0000 (21:39 +0000)]
LP#1410369: add open-ils.actor method for fetching user messages

This patches adds open-ils.actor.message.retrieve as an
authenticated, public-router visible method for fetching
patron messages belong to the authenticated user.  This
method exists, at present, solely for the benefit of potential
third-party API users; TPac itself uses pcrud.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: patron message center page in TPac
Galen Charlton [Wed, 18 Feb 2015 21:29:41 +0000 (21:29 +0000)]
LP#1410369: patron message center page in TPac

This patch adds My Account tab in TPac for
displaying and managing patron messages.  In particular,
a logged in patron will be able to:

- see a list of their (undeleted) messages
- open a particular message and see it's body;
  doing this automatically marks the message as
  read
- delete messages from either the list or
  single-message views
- mark messages as unread from the list or
  single-message views
- mark messages as read from the list view

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: remove direct display of user notes from TPac
Galen Charlton [Wed, 18 Feb 2015 13:52:06 +0000 (13:52 +0000)]
LP#1410369: remove direct display of user notes from TPac

This is supplanted by the new patron message center
page; note that during schema upgrade, existing
public user notes are converted to patron messages.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: Seed A/T definitions for hold cancellation
Mike Rylander [Wed, 18 Feb 2015 15:39:58 +0000 (10:39 -0500)]
LP#1410369: Seed A/T definitions for hold cancellation

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: Create user messages when configured to do so
Mike Rylander [Mon, 16 Feb 2015 19:07:57 +0000 (14:07 -0500)]
LP#1410369: Create user messages when configured to do so

When an A/T definition has both message_usr_path and message_template
defined, we gather the user, sending lib, template, and title and push those
into the environment.  After the user-defined reactor has successfully run,
we pass the environment off to a special-purpose handler that generates
output for actor.usr_message.message and, upon success of that, we insert
the user message into the database.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410369: Schema and supporting IDL entries
Mike Rylander [Mon, 16 Feb 2015 17:54:40 +0000 (12:54 -0500)]
LP#1410369: Schema and supporting IDL entries

This commit adds the table actor.usr_message,
a trigger to populate actor.usr_message as rows
get adding to actor.usr_note (or get updated to make
non-public notes become public), and new columns in
action.event_definition for specifying how to generate
user messages from A/T events.

It also copies over existing public user notes as
new, "read" user messages, as the current display
of the old user notes will be removed from TPac.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1198465 CircCommon fine generator repairs
Bill Erickson [Fri, 20 Feb 2015 17:04:51 +0000 (12:04 -0500)]
LP#1198465 CircCommon fine generator repairs

* The latest fine generator uses ID-based transaction lookup.
  Avoid calling ->to_fieldmapper on IDs.

* Consistent with the previous fine generator code, handle each circ,
  reservation, etc. within its own transaction to avoid any long-running
  transactions.

* cstore expects order_by's to be delineated by object class

* CStoreEditor requires all params that are passed through to cstore to
  be contained within the first parameter to a search_*, etc. calls, so
  wrap the query and order_by clauses in an array.

  Without these changes, the fine generator would generate duplicate
  billings when voided billings were present.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
9 years agoLP#1198465 Restore skipping of lost-returned overdue generation
Dan Wells [Tue, 17 Feb 2015 23:00:09 +0000 (18:00 -0500)]
LP#1198465 Restore skipping of lost-returned overdue generation

We need overdues generated before the conditional negative balances
code runs, so we also need to check the setting to skip handling of
lost-zero-balance earlier on.

This code also slightly refactors the "skip" checks to a single point
in the lost handling code.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1198465 Move fine generation into CircCommon
Dan Wells [Mon, 24 Nov 2014 22:10:31 +0000 (17:10 -0500)]
LP#1198465 Move fine generation into CircCommon

Allows circulation code to generate fines within the main circulation
database transaction.

Squahed commits:

LP#1198465 Initial copy of generate_fines to CircCommon.pm

Copy over generate_fines, including the necessary 'ceil' and $parser
bits, and the seconds_to_interval_hash helper function.

LP#1198465 First pass at generate_fines cstore conversion

Broadly speaking, this commit does two things:

1) Rewrite bits of the generate_fines copy in CircCommon.pm to use
cstore in place of the DBI code bits.
2) Gut the old generate_fines in Publisher/action.pm, including helper
bits, then make it a wrapper for the CircCommon verison.

This is a rough pass, but works in basic testing.

LP#1198465 Make generate_fines() chattiness optional

The old storage generate_fines() was really chatty with it's client. We
generally won't want that, so make it optional.

Also, remove one response which I added earlier while debugging.

LP#1198465 Stop using storage wrapper for generate_fines()

With pieces now in place, let's stop using the storage wrapper for
generate_fines() and call the code directly.

Also, to avoid potential confusion, rename the calling function in
Circulate.pm from generate_fines() to handle_fines().  This function
may also be taking on more than just fine generation in the near future.

Finally, since the new generate_fines() expects one or more pre-filtered
circ objects, add the requisite stop_fines check to handle_fines().

LP#1198465 Put penalty generation in the same xact

The penalties need to "see" any fines we may have just added, so they
need to happen in the same transaction.  Passing in the optional editor
makes this an easy fix.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1198465 Recombine generate_fines()
Dan Wells [Fri, 5 Dec 2014 17:33:09 +0000 (12:33 -0500)]
LP#1198465 Recombine generate_fines()

The generate_fines() method was split back in 2010.  There is some
concern about the speed of checkin (e.g. via SIP for a sorter, where we
don't care about fines), and this may have been the reason for the
split.  It might also have been the fact that waiting for the storage
xact to finish was causing the circ xact to timeout.

In any case, since we are bringing them into the same xact now, reason
number 2 is invalid, and reason number 1 won't be helped by the split
anymore (since there is no longer any parallel action).  Let's bring it
back together.

Ultimately, as suggested by Mike, we will probably want to refactor a
bit and return a streaming response for sorting location, then a final
response once we have the fine generation figured out.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1198465 Allow null fields to stay null in to_fieldmapper()
Dan Wells [Wed, 3 Dec 2014 19:21:16 +0000 (14:21 -0500)]
LP#1198465 Allow null fields to stay null in to_fieldmapper()

In CDBI.pm, we can convert DB objects to Fieldmapper objects using
to_fieldmapper().  Part of the conversion was forcing stringification,
which does what we need for nested objects, but also converts 'nulls'
(undefineds) to 'empty' values.  This causes problems when trying to
write these Fieldmapper objects back to the DB using cstore (or the
like).

This commit simply lets undefined values stay that way, which in turn
prevents NULLs from trying to become empty strings in the DB.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1198465 lost overdues generated in main xact
Dan Wells [Tue, 17 Feb 2015 21:02:15 +0000 (16:02 -0500)]
LP#1198465 lost overdues generated in main xact

Generate overdue fines for lost checkins (if configured) within the main
body of the checkin transaction to avoid complications with negative
balance reconciliation.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm

Ignoring introduction of bug for overdue catch-up on lost item return,
as it will be easier to restore later on.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1378169: make context OU selector on funds page sticky
Galen Charlton [Tue, 7 Oct 2014 03:56:13 +0000 (20:56 -0700)]
LP#1378169: make context OU selector on funds page sticky

This patch uses local storage to persist the selected value of the
context OU selector on the funds page.  This is meant to ease
workflows where an acquisitions administrator needs to frequently
transfer money between funds that are attached to children of
a system-level OU.  Specifically, rather than defaulting to
the user's workstation OU, the selector will default to the
OU selected the last time the funds page was opened.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agolp1422555: Link permalink icon on record summary
Dan Scott [Thu, 19 Feb 2015 18:58:21 +0000 (13:58 -0500)]
lp1422555: Link permalink icon on record summary

Make the permalink icon a link, in addition to the text for
"Permalink" itself, to be more consistent with the other
action icons.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1413624: update doc to reflect that spaces can also delimit option lists
Galen Charlton [Thu, 19 Feb 2015 16:36:39 +0000 (16:36 +0000)]
LP#1413624: update doc to reflect that spaces can also delimit option lists

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1413624: AccessHandler Space delimination and bugfix
Thomas Berezansky [Thu, 22 Jan 2015 16:31:03 +0000 (11:31 -0500)]
LP#1413624: AccessHandler Space delimination and bugfix

In addition to commas, allow spaces to delimit option lists.

Also, I apparently left a "!=" where I wanted a "ne" in _get_org_id.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1413624: OpenILS::WWW::AccessHandler Module
Thomas Berezansky [Tue, 20 Jan 2015 17:42:53 +0000 (12:42 -0500)]
LP#1413624: OpenILS::WWW::AccessHandler Module

Perl module compatible with Apache PerlAccessHandler directives.

Includes Release Notes and basic documentation (in the form of a mildly edited
copy of the release notes)

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1418772: (follow-up) tweak undef-edness check
Galen Charlton [Thu, 19 Feb 2015 15:59:33 +0000 (15:59 +0000)]
LP#1418772: (follow-up) tweak undef-edness check

Use the Perl defined() function rather than "eq undef"
to avoid logging warnings about undefined values.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1418772: Avoid internal server error on viewing full record when copy create_date...
Steven Chan [Mon, 22 Jul 2013 19:39:48 +0000 (12:39 -0700)]
LP#1418772: Avoid internal server error on viewing full record when copy create_date is null

In the TPAC client, when it tries to show record details containing a copy
record with no create date, it shows an Internal Server Error instead.

1. The error is caused by trying to execute the parse_datetime() method
in the parse_date() function in the WWW/EGCatLoader/util.pm module with
an empty date string. The function will normally translate a datetime
string from the database to a datetime string that is formatted for TPAC
templates.  The fix is to not execute parse_datetime() and just return
an empty string.

2. In the record/copy_table.tt2 template, if an empty datetime string is
the value for copy_info.create_date, the format() method of the Date
plugin will show the current datetime by default. The fix is to show '-'
in its place, replicating the same template logic as for
copy_info.due_date.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Conflicts:
Open-ILS/src/templates/opac/parts/record/copy_table.tt2

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1419813 Fix default joins for config.rule_age_hold_protection.
Chris Sharp [Mon, 9 Feb 2015 14:24:11 +0000 (09:24 -0500)]
LP#1419813 Fix default joins for config.rule_age_hold_protection.

config.rule_age_hold_protection had a "has_a" relationship
to several copy and copy-like sources when age protection
is optional.  Changing those to "might_have" to allow left
joins by default.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1366026: Adding release notes entry for display active date
Kathy Lussier [Thu, 19 Feb 2015 13:02:40 +0000 (08:02 -0500)]
LP#1366026: Adding release notes entry for display active date

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP1366026: Add Active Date to Record Detail Page
Jason Boyer [Fri, 5 Sep 2014 14:16:26 +0000 (10:16 -0400)]
LP1366026: Add Active Date to Record Detail Page

Display active date in place of create date when
item circ_lib uses active date for hold age
protection calculations.

Signed-off-by: Jason Boyer <jboyer1@library.in.gov>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Conflicts:
Open-ILS/src/templates/opac/parts/record/copy_table.tt2

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agolp1422555: Shorter permalink on record summary page
Kathy Lussier [Tue, 17 Feb 2015 03:06:01 +0000 (22:06 -0500)]
lp1422555: Shorter permalink on record summary page

The record summary page will now offer a link to a shorter permalink with
most URL parameters removed. The locg and copy-depth parameters are maintained.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoLP#1350371 ACQ dupe orders release notes
Bill Erickson [Thu, 31 Jul 2014 17:03:00 +0000 (13:03 -0400)]
LP#1350371 ACQ dupe orders release notes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1350371 display existing copies
Bill Erickson [Wed, 30 Jul 2014 21:34:07 +0000 (17:34 -0400)]
LP#1350371 display existing copies

In the picklist / PO lineitem list view, display the number of existing
catalog copies owned at or below the PO ordering agency or Picklist org
unit whose status is not in some form of lost or missing.

Value is displayed beside the lineitem ID and is styled bold/red if the
count is greater than zero.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1350371 detect dupe PO name on edit
Bill Erickson [Wed, 30 Jul 2014 19:59:02 +0000 (15:59 -0400)]
LP#1350371 detect dupe PO name on edit

When changing the name of an existing PO, if the selected name collides
w/ another PO at or below the ordering agency, a warning is shown to
the user, including a link to the matching PO, and the name change is
aborted.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1350371 PO name on create w/ dupe detect
Bill Erickson [Wed, 30 Jul 2014 19:02:22 +0000 (15:02 -0400)]
LP#1350371 PO name on create w/ dupe detect

Adds support for entering a PO name at PO creation time, both from the
picklist page and from the PO create page.  If a name is entered which
matches the name of an existing PO at or below the ordering agency, a
link to the matching PO is shown and the user is prevented from creating
the PO until the name is changed or cleared.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoFix typo in release notes for TPAC discoverability
Dan Scott [Wed, 18 Feb 2015 22:11:30 +0000 (17:11 -0500)]
Fix typo in release notes for TPAC discoverability

Thanks to Ben Shum for catching that!

Signed-off-by: Dan Scott <dscott@laurentian.ca>
9 years agoLP#1403967: show 'subject heading thesaurus' value in Manage Authorities results
Yamil Suarez [Tue, 17 Feb 2015 19:29:46 +0000 (14:29 -0500)]
LP#1403967: show 'subject heading thesaurus' value in Manage Authorities results

The 'subject heading thesaurus' basically defines the issuing authority
that created the authority record. For example, a value of "a" means that
it came from LoC. A value of "n" means that it is a locally created
authority. Note that within the authority MARC editor the 'Subject
Heading Thesaurus' is stored/displayed in the 'Subj' fixed field.

Signed-off-by: Yamil Suarez <yamil@yamil.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoTPAC discoverability release notes entry
Dan Scott [Wed, 18 Feb 2015 21:17:32 +0000 (16:17 -0500)]
TPAC discoverability release notes entry

Signed-off-by: Dan Scott <dscott@laurentian.ca>
9 years agoLP1171984: Stamping upgrade script
Mike Rylander [Wed, 18 Feb 2015 20:24:50 +0000 (15:24 -0500)]
LP1171984: Stamping upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1171984 vandelay authority rec attr create repair
Bill Erickson [Fri, 19 Dec 2014 15:53:23 +0000 (10:53 -0500)]
LP#1171984 vandelay authority rec attr create repair

After selecting a bib attribute to view then attempting to create an
authority record attribute, the editor would get confused and think it
was trying to update an existing attribute.  This clears the "we are
editing attr X" flag so create will create instead of update.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1171984 Vandelay auth. match release notes
Bill Erickson [Fri, 28 Nov 2014 20:48:14 +0000 (15:48 -0500)]
LP#1171984 Vandelay auth. match release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1171984 Vandelay authority record matching
Bill Erickson [Fri, 14 Nov 2014 15:16:27 +0000 (10:16 -0500)]
LP#1171984 Vandelay authority record matching

Adds support for building and using authority match sets in vandelay for
import record matching.  Match sets include MARC tag/subfield matching
and normalized authority heading + thesaurus matching.

Commit also contains various small Vandelay UI repairs related to
displaying authority queues and matches.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#957466: Stamping Upgrade Script
Jason Stephenson [Wed, 18 Feb 2015 15:13:56 +0000 (10:13 -0500)]
LP#957466: Stamping Upgrade Script

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
9 years agoLP#957466 Vandelay set the 905$u on imported bib records to current user.
Jason Stephenson [Fri, 13 Feb 2015 17:22:19 +0000 (12:22 -0500)]
LP#957466 Vandelay set the 905$u on imported bib records to current user.

This will cause the code in the previous commit to trigger and update the
appropriate fields in biblio.record_entry.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Martha Driscoll <driscoll@noblenet.org>
9 years agoLP#957466: Update editor/edit_date/source on overlay
Remington Steed [Mon, 13 Oct 2014 16:22:32 +0000 (12:22 -0400)]
LP#957466: Update editor/edit_date/source on overlay

This commit does three things.

1. It removes some declared variables that are never used in this
function.

2. It updates the bib record edit_date field (along with the editor) if
an editor is found in the MARC. If an editor is not found (or doesn't
match an Evergreen user), it seems best to leave the edit_date
unchanged so as not to imply that the previous editor is responsible for
the newest edit.

3. If a bib source is chosen in the vandelay importer UI, it updates the
bib record with the source. To access this field, the reference to table
"queued_record" is replaced by its child table "queued_bib_record".
Since the new table is a child of the other, all of the other needed
values are still available.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Martha Driscoll <driscoll@noblenet.org>
9 years agoLP#1413592: DB upgrade script numbering
Mike Rylander [Mon, 16 Feb 2015 14:57:53 +0000 (09:57 -0500)]
LP#1413592: DB upgrade script numbering

Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agolp1413592: Release notes entry for no changes to fully-paid lost transactions
Kathy Lussier [Sat, 14 Feb 2015 21:43:02 +0000 (16:43 -0500)]
lp1413592: Release notes entry for no changes to fully-paid lost transactions

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1413592: Avoid generating fines in "consider zero balance closed" mode
Mike Rylander [Tue, 10 Feb 2015 15:46:20 +0000 (10:46 -0500)]
LP#1413592: Avoid generating fines in "consider zero balance closed" mode

We will now also disable the behavior triggered by the "Lost Checkin
Generates New Overdues" org setting when the new "Do not change fines/fees
on zero-balance LOST transaction" org setting is enabled.  This is to follow
the new rule that the new setting creates: a zero-balance LOST transaction is
considered handled, and should not be changed by the system.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1413592: Don't change lost/long-overdue fines/fees on zero-balance
Mike Rylander [Wed, 28 Jan 2015 13:40:20 +0000 (08:40 -0500)]
LP#1413592: Don't change lost/long-overdue fines/fees on zero-balance

The situation that has been reported as the worst offender for creating
negative balances for folks that do not want that to happen goes like this:

1) Item is lost or goes long-overdue
2) Fees/fines charged
3) Said fees/fines are paid in full
4) Item is found and returned
4a) "Void fines and fees on lost item return" settings are enabled
4b) "Reinstate overdue fines on lost item return" setting is enabled
4c) System dutifully voids the lost fines/fees
4d) System dutifully reinstates the overdue fines

So we add an YAOUS to ensure that when a lost item is returned and the
balance of the transaction is exactly $0, the lost fines and fees are not
voided EVEN IF "void fines and fees on lost/long-overdue return" settings are
enabled, and voided overdue fees are likewise not reinstated EVEN IF
"restore overdue on lost/long-overdue return" settings are enabled.

The reason for the second condition is that the point of this new setting is
to have Evergreen consider zero-balance lost/long-overdue transactions as
"handled", and that they should not automatically change.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
9 years agoLP#1410532: Add release note for "show more details" option
Ben Shum [Mon, 16 Feb 2015 09:46:08 +0000 (04:46 -0500)]
LP#1410532: Add release note for "show more details" option

Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1413769: Add release note for new link to My Lists
Ben Shum [Mon, 16 Feb 2015 09:42:48 +0000 (04:42 -0500)]
LP#1413769: Add release note for new link to My Lists

Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1413769: Better access to My Lists
Christine Morgan [Thu, 5 Feb 2015 17:10:13 +0000 (12:10 -0500)]
LP#1413769: Better access to My Lists

Adds a link to My Lists from topnav for more direct access for patrons.

Signed-off-by: Christine Morgan <cmorgan@noblenet.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1411106: Add URIs to the list of bib records for sitemaps
Dan Scott [Thu, 15 Jan 2015 04:38:09 +0000 (23:38 -0500)]
LP#1411106: Add URIs to the list of bib records for sitemaps

Also make the org unit ancestor / descendant checks much more
robust by using the appropriate functions.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1410532: Follow-up to fix config option for "Show more details"
Ben Shum [Mon, 16 Feb 2015 09:24:29 +0000 (04:24 -0500)]
LP#1410532: Follow-up to fix config option for "Show more details"

Somehow we got two entries in config.tt2 for the "Show more details". Remove
one of these so that there's no confusion over how the variable is set and
applied.

Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1410532: TPAC - Make "Show more details" in results optional
Art Rhyno [Mon, 13 Aug 2012 21:22:17 +0000 (17:22 -0400)]
LP#1410532: TPAC - Make "Show more details" in results optional

Academic sites typically handle a lot of electronic content and want to
bring most details about entries, such as availability, status, and
URLs, on a results screen to the front.

This adds a 'show_more_details.default' option in 'config.tt2' that can
have the values 'true', 'false' and 'hide'.  The 'true' and 'false'
values set the default for the button to more and less respectively, and
'hide' suppresses the button from showing at all.

Signed-off-by: Art Rhyno <art632000@yahoo.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1410532: TPAC "Show more details" config option
Dan Scott [Tue, 13 Jan 2015 21:30:35 +0000 (16:30 -0500)]
LP#1410532: TPAC "Show more details" config option

Enable sites to either enable the "Show more details in search results"
by default, or to turn on the detailed search results and hide the UI
widget entirely.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1406025: Provide graceful human output for HTTP errors
Dan Scott [Sun, 28 Dec 2014 03:35:37 +0000 (22:35 -0500)]
LP#1406025: Provide graceful human output for HTTP errors

For the expected HTTP errors of HTTP_GONE (record deleted)
and HTTP_NOT_FOUND (record never existed), return the HTML
pages that we used to return (red border warning that the
record was deleted, or just an empty template for
non-existing records) so that the user can at least try
another search. However, the HTTP status code gets set to
410 or 404 as expected so that machines can react
accordingly.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1406025: Return 404 or 410 HTTP status codes for bibs
Dan Scott [Sun, 28 Dec 2014 01:25:50 +0000 (20:25 -0500)]
LP#1406025: Return 404 or 410 HTTP status codes for bibs

If a record has been deleted, return a 410 Gone status code; if it doesn't
exist at all, return a 404 Not Found code.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1414033: Add rel="nofollow" to search/browse links
Dan Scott [Fri, 6 Feb 2015 22:13:27 +0000 (17:13 -0500)]
LP#1414033: Add rel="nofollow" to search/browse links

Mark links in the TPAC that robots should not attempt to crawl (such as
search results, call number browsing, adding records to temporary lists,
placing holds, logging in) using the rel="nofollow" convention, per
https://support.google.com/webmasters/answer/96569?hl=en

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1419977: Map subject headings to schema:about
Dan Scott [Mon, 9 Feb 2015 20:26:17 +0000 (15:26 -0500)]
LP#1419977: Map subject headings to schema:about

http://schema.org/about is a more specific fit for subject headings,
which describe what a given title is about, than the more generic
http://schema.org/keywords. This is the emerging standard mapping
seen in other implementations.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1406451: Prevent some catalogue pages from being indexed
Dan Scott [Sun, 11 Jan 2015 03:09:48 +0000 (22:09 -0500)]
LP#1406451: Prevent some catalogue pages from being indexed

Tell search engines that they should not index search results
pages, call number browsing pages, and the like. We really
just want them to focus on records and the library pages.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1406451: Set rel=canonical for record and library pages
Ben Shum [Mon, 16 Feb 2015 08:59:00 +0000 (03:59 -0500)]
LP#1406451: Set rel=canonical for record and library pages

Search engines use the "<link rel=canonical>" convention to determine that, no
matter how many variations on a URL you might generate through the likes of
appending &query= parameters, etc, those URLs are all the same as the value of
the href attribute in the <link> element.

Start with a simple implementation that, first, provides a placeholder in the
TPAC base where any page-specific <meta> or <link> (or really, any other <head>
contents) should go; then denotes the current page URL (stripped of all query
params) as the canonical URL for record and library pages.

This should help prevent search engines from crawling endless variations of the
same page, lowering load on Evergreen servers and potentially improving the
ranking of the canonical URLs.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
Conflicts:
Open-ILS/src/templates/opac/parts/base.tt2

9 years agoLP#1406013: Improve schema.org expression for electronic resources
Dan Scott [Sat, 27 Dec 2014 22:06:18 +0000 (17:06 -0500)]
LP#1406013: Improve schema.org expression for electronic resources

Specify the URL from which an electronic resource is available as the
schema:url of the associated schema:Offer. Also, if we have descriptive
link text and/or a note about the electronic resource, mark it up with
schema:description.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>