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>
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>
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>
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
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>
Dan Scott [Fri, 26 Dec 2014 16:57:37 +0000 (11:57 -0500)]
LP#1405812: Relate contributors to the id.loc.gov relator vocab
If we have relator codes (subfield 4), then we can specify the
nature of the contribution being played much more accurately
for machines than just schema:contributor by including the
relator code as a second value of the @property.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Tue, 16 Dec 2014 04:29:35 +0000 (23:29 -0500)]
LP#1402921: Add the ability to link to sameAs and exampleOfWork entities
Look for standard identifiers with known URIs, such as
LCCNs, OCLC numbers, and URIs identified in 024 fields,
and add http://schema.org/sameAs or
http://schema.org/exampleOfWork properties to the record.
This helps us link out to the broader linked data world,
and should help those consuming our data to better
understand what resources we have to offer.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Angular-ui-bootstrap as of version ~0.11.2 does not want bare
"dropdown-toggle" attributes within action link tags. When present,
they prevent the dropdown button from opening.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Angular-ui-bootstrap as of version ~0.11.2 does not want bare
"dropdown-toggle" attributes within action link tags. When present,
they prevent the dropdown button from opening.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Wed, 3 Dec 2014 17:48:12 +0000 (12:48 -0500)]
LP#1402797 Avoid org tree retrieval race condition on patron app
Avoid calling egOrg.ancestors() during startup, because the org unit
tree is not guarantee to be available until startup has completed. This
was causing an occasional JS excpetion in the patron app pages, which
prevented the pages from loading.
The error in question:
TypeError: Cannot read property 'map' of undefined
at Object.service.get (https://host/js/ui/default/staff/services/org.js:21:25)
at Object.service.ancestors (https://host/js/ui/default/staff/services/org.js:34:28)
at Object.egCore.env.classLoaders.actsc (https://host/js/ui/default/staff/circ/patron/app.js:41:37)
at https://host/js/ui/default/staff/services/env.js:77:55
at Object.r [as forEach] (https://host/js/ui/default/staff/build/js/angular.min.js:7:290)
at Object.service.load (https://host/js/ui/default/staff/services/env.js:76:17)
at https://host/js/ui/default/staff/services/startup.js:64:23
at J (https://host/js/ui/default/staff/build/js/angular.min.js:101:96)
at https://host/js/ui/default/staff/build/js/angular.min.js:102:259
at h.$eval (https://host/js/ui/default/staff/build/js/angular.min.js:113:32)
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
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>
Josh Stompro [Wed, 12 Nov 2014 15:19:11 +0000 (09:19 -0600)]
LP#1390138: Updating Upgrade and Install docs for 2.7
Upgrade Docs
- Bolded all linux user names so the format matches the install docs.
- Added note about postgres 9.3 being recommended version and 9.1 being the minium version.
- Added Fedora to list of supported linux distros so it matches install docs.
- Added a note about the different apache config files for apache 2.4+ vs Apache 2.2.
- Added a link to troubleshooting section of install docs.
Install Docs
- Added notes about 9.3 being recommened version of postgres and 9.1 being the minimum.
- Changed opensrf version from 2.3.0 to 2.4.0
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Added in section about checking the release notes for other upgrade steps to the end.
Added in the step to restart memcached as Galen Charlton mentioned in his 11/5 dev list email
about clearing out old login sessions for security reasons.
Added in Jessie and Trusty with a pointer to the Ruby EDI bug that users of the distributions
will run into.
Signed-off-by: Josh Stompro <stomproj@larl.org> 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>
Ben Shum [Wed, 21 Jan 2015 21:30:53 +0000 (16:30 -0500)]
LP#1412893: Only apply lost and paid status with the proper transactions
As discovered while testing the lost and paid feature, when closing earlier transactions where
the item is currently lost, it could change the item status to lost and paid prematurely.
Change the logic so that it only does this if the current transaction being closed either has
a status of lost or longoverdue.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Scott [Mon, 12 Jan 2015 18:13:03 +0000 (13:13 -0500)]
LP#1409844: Towards more meaningful catalogue <title> elements
Currently the catalogue <title> elements are formed by concatenating the page
title to "Catalog - ". This means that on browsers with more than a few tabs
open, users will only see "Catalog -", which doesn't help them navigate their
tabs. Also, in search results in general search engines, "Catalog - " is
expected to be a significant word as it appears first in the title of the page.
Instead, let's remove the "Catalog - " prefix entirely and add "- <library
name>" as a suffix to the page title. That way, a user will see the page title
in bookmarks, search results, and other contexts with the most important
information up front (whether that's the title of the work in record details,
or the fact that it's a search for some string), followed by the name of the
library to give it a specific context.
In addition, use the name of the library in the OpenSearch definition to be
more meaningful than the current hardcoded "Evergreen OpenSearch" (many users
will not even know what Evergreen is, if they stumble across the little "Add
search engine" widget at all).
And finally, use the HTML and URI filters appropriately to avoid any possible
damage :)
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
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>
LP#980296: Update void on claims returned for longoverdue status.
We add settings for voiding longoverdue fees on claims returned.
We modify code in Circ.pm to check those settings and void those
bills when a circulation is claims returned.
We also make some logical repairs to the new void_lost function
in CircCommon.pm and to event handling where that function is
called in set_circ_claims_returned in Circ.pm.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Add additional packages to the "packager" target to help support
building Evergreen packages on machines where Evergreen and its prereqs
are not installed.
The "packager" target now depends internally on the "developer" target,
since packagers have to build the browser client dependencies.
Since older OSes have to build the nodejs dependencies, the autoconf,
etc. targets have been moved into the developer target, again to support
"headless" packaging.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
* Adds <osname>-developer target for installing packages only needed by
developers installing from source. Currently, this is limited to
packages needed for managing browser client dependencies, but others
could be added later.
* Adds <osname>-packager target for installing packages needed to build
Evergreen release bundles.
* Updates README install docs to reference these new targets.
* Updates README install docs to remove requirements for installing
libtool/automake/autoconf, since those packages will have been
installed during the OpenSRF install (which is required).
* NOTE: this does not include new Makefile.install targets for fedora
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>