contrib/Conifer.git
11 years agoLDAP patron load: map "thornloe" to staff
Dan Scott [Fri, 7 Oct 2011 17:19:43 +0000 (13:19 -0400)]
LDAP patron load: map "thornloe" to staff

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoLDAP patron load: handle more errors more gracefully
Dan Scott [Fri, 7 Oct 2011 17:16:09 +0000 (13:16 -0400)]
LDAP patron load: handle more errors more gracefully

It's possible for users in LDAP to not have email; instead of absolutely
dying, just warn and move on to the next user.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoDon't update the barcode if user was not created
Dan Scott [Wed, 14 Sep 2011 20:47:38 +0000 (16:47 -0400)]
Don't update the barcode if user was not created

Check the return value and bail if the user creation was a failure.
For large updates, one can use --create and --push to update barcodes
for users who already exist.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoUse the new opt_in_override method to search for users
Dan Scott [Wed, 14 Sep 2011 20:03:08 +0000 (16:03 -0400)]
Use the new opt_in_override method to search for users

Now that we have the opt_in_override method, use it to find users who
might exist in any OU in the consortium, rather than just the
workstation OU.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd and use a patron search that overrides opt-in invisibility
Dan Scott [Wed, 14 Sep 2011 20:02:14 +0000 (16:02 -0400)]
Add and use a patron search that overrides opt-in invisibility

Something like this is required for API calls that need to operate
against a number of libraries in a given instance that are using opt-in;
otherwise, attempts to search for users will fail and you may end up
creating near-duplicates etc.

The implementation adds an
open-ils.actor.search.patron.advanced.opt_in_override method to
open-ils.actor, which, if invoked, checks to see if the caller has the
OPT_IN_OVERRIDE permission. If so, then the crazy_search ignores the
normal opt-in limits and searches all pertinent users in the database.

As a global permission, OPT_IN_OVERRIDE is a blunt instrument. Others
might want to put together a more refined version that uses OU depths to
define boundaries.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/actor.pm

11 years agoMore defensive error handling
Dan Scott [Wed, 14 Sep 2011 19:00:18 +0000 (15:00 -0400)]
More defensive error handling

When users aren't opted-in, we can't search for them. Fiddlesticks! This
was breaking the script rather annoyingly; now we print out an error and
move on to the next user.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoCorrect a dangling reference to a raw variable
Dan Scott [Wed, 14 Sep 2011 16:33:10 +0000 (12:33 -0400)]
Correct a dangling reference to a raw variable

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoPass User objects rather than raw vars
Dan Scott [Wed, 14 Sep 2011 15:56:09 +0000 (11:56 -0400)]
Pass User objects rather than raw vars

Also strip out functions that are not used in this script relating to
the creation of barcodes.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoHandle new 'Proxy' lulAffiliation a bit more gracefully
Dan Scott [Mon, 12 Sep 2011 21:27:46 +0000 (17:27 -0400)]
Handle new 'Proxy' lulAffiliation a bit more gracefully

In general, if we don't have an explicit profile, just return.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoNew --push-barcode option updates LDAP with Evergreen barcodes
Dan Scott [Fri, 9 Sep 2011 04:45:30 +0000 (00:45 -0400)]
New --push-barcode option updates LDAP with Evergreen barcodes

By default, the --create-users option will update LDAP with the new
barcode that was generated for the new users.

One can also use a --query of some type and pass --push-barcode to
retrieve the barcodes for all of the LDAP users from Evergreen and then
push those barcodes into their respective LDAP accounts.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoGenerate barcodes and push them into LDAP
Dan Scott [Tue, 7 May 2013 18:48:51 +0000 (14:48 -0400)]
Generate barcodes and push them into LDAP

Call the new custom API to open-ils.actor for generating barcodes;
accepts one argument, user ID, which gets the barcode set to their new
value. If no arg is passed, just generates a new barcode and returns it
(should be useful on the patron editor screen).

As far as pushing the barcodes into LDAP goes, I can't confirm that the
updates are actually working, because I can't see them, but the lack of
errors suggests that it's working.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoCommand line options for queries and actions
Dan Scott [Thu, 8 Sep 2011 15:35:31 +0000 (11:35 -0400)]
Command line options for queries and actions

Use the argparse module to enable override of user/password/hostname
options at the command line, as well as to enable different types of
queries (for example, via LDAP cn / sn / id / createTimestamp) and
enable particular actions (display the LDAP data and/or create new users
in Evergreen).

Much better than manually editing the script each time.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoGetting LDAP synchronization production ready
Dan Scott [Wed, 7 Sep 2011 15:34:04 +0000 (11:34 -0400)]
Getting LDAP synchronization production ready

* Search for user before attempting to create the user
* Set the default expiry date by profile
* Document how we're currently populating barcodes

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoGet working OpenSRF integration, genericize a bit
Dan Scott [Wed, 7 Sep 2011 07:12:56 +0000 (03:12 -0400)]
Get working OpenSRF integration, genericize a bit

Still need to teach the beast how to provision barcodes, then write
those back to LDAP as well. Pushing the LDAP mapping into the User class
init method seems like a reasonable way to genericize this a bit; sites
could replace the User class implementation.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoTowards a periodic OpenSRF-speaking LDAP patron sync script
Dan Scott [Tue, 6 Sep 2011 20:16:51 +0000 (16:16 -0400)]
Towards a periodic OpenSRF-speaking LDAP patron sync script

Still need to factor out the mapping of LDAP schema to Evergreen
attributes further but patience, patience.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoWhat we _actually_ ran for the first load of student data
Dan Scott [Fri, 2 Sep 2011 12:54:19 +0000 (08:54 -0400)]
What we _actually_ ran for the first load of student data

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd lulStudentLevel filter for students
Dan Scott [Fri, 2 Sep 2011 01:34:54 +0000 (21:34 -0400)]
Add lulStudentLevel filter for students

Prefer lulStudentLevel to distinguish between undergrad and grad
students.

Left-pad, with zeroes, Colleague IDs that are shorter than 7 digits.

Don't update names from LDAP as they appear to lack Unicode support.

Sundry small pylint fixes.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoIt's nice when a script actually runs
Dan Scott [Thu, 1 Sep 2011 18:06:04 +0000 (14:06 -0400)]
It's nice when a script actually runs

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAvoid generating barcodes that are already in the database
Dan Scott [Thu, 1 Sep 2011 18:03:54 +0000 (14:03 -0400)]
Avoid generating barcodes that are already in the database

And complain when we get a colleague ID that is not the expected size.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoPush errors to STDERR consistently
Dan Scott [Thu, 1 Sep 2011 16:58:07 +0000 (12:58 -0400)]
Push errors to STDERR consistently

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoClean up LDAP synchronization tool further
Dan Scott [Thu, 1 Sep 2011 16:51:04 +0000 (12:51 -0400)]
Clean up LDAP synchronization tool further

A few syntax errors here, a few logic errors there... that's what we
have test servers for.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd email address into COPY input
Dan Scott [Thu, 1 Sep 2011 04:34:25 +0000 (00:34 -0400)]
Add email address into COPY input

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoFix filter error, improve key existence test
Dan Scott [Wed, 31 Aug 2011 20:42:39 +0000 (16:42 -0400)]
Fix filter error, improve key existence test

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoBreak barcode generator into smaller pieces
Dan Scott [Wed, 31 Aug 2011 20:08:48 +0000 (16:08 -0400)]
Break barcode generator into smaller pieces

This should make it easier to expose evergreen.lu_generate_barcode() for
manual purposes (e.g. for creating a new user on the fly in the Register
Patron UI).

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoProgress on the LDAP patron loading script
Dan Scott [Wed, 31 Aug 2011 19:54:42 +0000 (15:54 -0400)]
Progress on the LDAP patron loading script

Many functions defined and individually tested, still need to put this
together in working order.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoProgress towards reality - generating staging table inserts
Dan Scott [Wed, 31 Aug 2011 13:29:48 +0000 (09:29 -0400)]
Progress towards reality - generating staging table inserts

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoLU loaded T&F content onto ebrary, thus no CRKN T&F for them
Dan Scott [Thu, 25 Aug 2011 21:04:23 +0000 (17:04 -0400)]
LU loaded T&F content onto ebrary, thus no CRKN T&F for them

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd a script for quickly checking for encoding errors
Dan Scott [Wed, 24 Aug 2011 17:00:16 +0000 (13:00 -0400)]
Add a script for quickly checking for encoding errors

Also update the ldap_sync script to be more grown-up.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoWay too little LDAP code
Dan Scott [Mon, 22 Aug 2011 20:22:33 +0000 (16:22 -0400)]
Way too little LDAP code

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoLaurentian _does_ have T&F - just not on ScholarsPortal for now
Dan Scott [Fri, 19 Aug 2011 18:10:46 +0000 (14:10 -0400)]
Laurentian _does_ have T&F - just not on ScholarsPortal for now

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAutomate the CRKN processing with a little script
Dan Scott [Mon, 15 Aug 2011 17:03:24 +0000 (13:03 -0400)]
Automate the CRKN processing with a little script

Parallelized via ( &) for your convenience.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoEnsure fixed fields are correct and avoid bad public notes
Dan Scott [Fri, 12 Aug 2011 15:52:45 +0000 (11:52 -0400)]
Ensure fixed fields are correct and avoid bad public notes

One more iteration based on the UWin team's set of feedback on the
hopefully penultimate processing round for the CRKN records.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd a few more T&F data uncorruption fixes
Dan Scott [Thu, 11 Aug 2011 20:45:45 +0000 (16:45 -0400)]
Add a few more T&F data uncorruption fixes

Note that we're now seeing conflicting patterns, so some
legitimate characters are getting corrupted by the script,
while others could go either way (l stroke vs modifier prime).
As long as the fix rate is 95%+ then I'm happy.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAnd append the ' ; ' to 506 $b as well
Dan Scott [Thu, 11 Aug 2011 16:24:50 +0000 (12:24 -0400)]
And append the ' ; ' to 506 $b as well

In our refactoring, we messed up the 506 $b. Sigh.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoFor the Oxford vs. Cambridge thing, add periods
Dan Scott [Thu, 11 Aug 2011 16:02:20 +0000 (12:02 -0400)]
For the Oxford vs. Cambridge thing, add periods

We lost consistency due to the sorting out of the combined CUP & OUP
MARC records in that the hard-coded publisher names did not end with a
period.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoBe more consistent when applying the period to 710 $a
Dan Scott [Thu, 11 Aug 2011 15:38:42 +0000 (11:38 -0400)]
Be more consistent when applying the period to 710 $a

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoRefine based on feedback from Windsor
Dan Scott [Thu, 11 Aug 2011 15:25:33 +0000 (11:25 -0400)]
Refine based on feedback from Windsor

1) 506 $a and $b both need to end with ' ; '; try to make this happen
   even if the command line is screwed up.

2) Ensure the incoming 710 $a ends with a period.

Also, do not generate a 506 for Algoma if publisher == Cambridge

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd more carons, based on outliers from CRKN_OUP
Dan Scott [Tue, 2 Aug 2011 20:38:03 +0000 (16:38 -0400)]
Add more carons, based on outliers from CRKN_OUP

Note that in at least one case, this would result in MUSICA becoming
MSICA. Sigh. Finally the conflicts arrive.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoCorrect I BREVE for Mr. Sakharov
Dan Scott [Tue, 2 Aug 2011 19:44:36 +0000 (15:44 -0400)]
Correct I BREVE for Mr. Sakharov

We were adding an extra i to the composed I BREVE chars.

Also log diffs so we can eyeball the changes and know that they are
good.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoReplace C with acute accent as well
Dan Scott [Fri, 29 Jul 2011 21:54:08 +0000 (17:54 -0400)]
Replace C with acute accent as well

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoMore search and replace operations
Dan Scott [Fri, 29 Jul 2011 19:49:10 +0000 (15:49 -0400)]
More search and replace operations

S cedilla, combining ligatures, modifier letter prime

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoUse composed breves, add combining dot above
Dan Scott [Fri, 29 Jul 2011 18:34:42 +0000 (14:34 -0400)]
Use composed breves, add combining dot above

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoR CARON is another good one
Dan Scott [Fri, 29 Jul 2011 18:19:30 +0000 (14:19 -0400)]
R CARON is another good one

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoS with combining acute accent (lower and uppercase)
Dan Scott [Fri, 29 Jul 2011 18:11:05 +0000 (14:11 -0400)]
S with combining acute accent (lower and uppercase)

We can use the composed codepoint for these instead of going the
decomposed route, for more accuracy and great justice.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoApply the modified letter half ring throughout
Dan Scott [Fri, 29 Jul 2011 17:54:05 +0000 (13:54 -0400)]
Apply the modified letter half ring throughout

Looks like it can be an inplace modification, so let's do it.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoCombining breve for Mr. Sakharov
Dan Scott [Fri, 29 Jul 2011 17:50:08 +0000 (13:50 -0400)]
Combining breve for Mr. Sakharov

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoIterating through CRKN_OUP.mrc for more corruption to fix
Dan Scott [Fri, 29 Jul 2011 17:21:30 +0000 (13:21 -0400)]
Iterating through CRKN_OUP.mrc for more corruption to fix

Tildes, accute accents, cedillas, we got em all.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoBegin addressing the specific manglings of the CRKN records
Dan Scott [Fri, 29 Jul 2011 15:58:36 +0000 (11:58 -0400)]
Begin addressing the specific manglings of the CRKN records

To begin with, correct the mangled macrons and modifier letter half ring
that are popular in the Arabic language. Here's hoping that correcting
these byte sequences doesn't lead to corruption elsewhere.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoReuse an existing 040 if possible
Dan Scott [Thu, 28 Jul 2011 20:41:09 +0000 (16:41 -0400)]
Reuse an existing 040 if possible

The switcharound left us still appending the 040 to the new record,
which had no fields, rather than amending the existing 040 on the
incoming record.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoSupport optional --platform argument
Dan Scott [Thu, 28 Jul 2011 16:19:20 +0000 (12:19 -0400)]
Support optional --platform argument

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoRevert inadvertent damage caused by last commit
Dan Scott [Thu, 28 Jul 2011 15:53:27 +0000 (11:53 -0400)]
Revert inadvertent damage caused by last commit

Two different copies of the Conifer repo = damage!

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoCheck for 020$z, 024$a,$z for ISBNs
Dan Scott [Thu, 28 Jul 2011 15:16:42 +0000 (11:16 -0400)]
Check for 020$z, 024$a,$z for ISBNs

Either our MARC record sources are horribly corrupted, or the SFX
knowledge base is questionable, or both, as we're having to search
cancelled/invalid/non-ISBNs to get matches in SFX for our electronic
records.

Also, use 506 $9 to record our institutional ID in authorization notes.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoRefine the 506 $3 punctuation decision
Dan Scott [Wed, 20 Jul 2011 19:23:32 +0000 (15:23 -0400)]
Refine the 506 $3 punctuation decision

From Graham Staffen:

My definitive answer (until I develop a revised definitive answer) is
that a period would always punctuate the end of the subfield except in
two instances: 1) a closing parenthesis, 2) a closing square bracket. I
have this from our MARC coding trainer who could think of no other
instances when a period is not employed.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoInclude an ISBN in the error log if available
Dan Scott [Wed, 20 Jul 2011 16:10:21 +0000 (12:10 -0400)]
Include an ISBN in the error log if available

This should help with identifying problem records.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoInclude record count in 598 $c, conditional . in 506 $e
Dan Scott [Wed, 20 Jul 2011 14:28:30 +0000 (10:28 -0400)]
Include record count in 598 $c, conditional . in 506 $e

We might as well include the record offset in the 598 so that we can
track which record includes a given problem.

Also, according to Shuzhen, we only want to add a period at the end of
the 506 $e subfield in particular cases (like when it ends in a letter
or number; not with punctuation).

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoFinal (?) tweaks for ebook processing
Dan Scott [Fri, 15 Jul 2011 21:20:27 +0000 (17:20 -0400)]
Final (?) tweaks for ebook processing

  * 506 punctuation
  * Enable Algoma to not have 856s in Cambridge records
  * Add the --platform option (although we might not use it)

Dan Scott <dscott@laurentian.ca>

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd 598 field to track MARC file source
Dan Scott [Thu, 14 Jul 2011 21:27:02 +0000 (17:27 -0400)]
Add 598 field to track MARC file source

Also shift 506 institutional code to subfield 9 despite the MARC
standard suggesting that it should be in subfield 5.

Also add semicolons to the 506 fields for better display. Still
need to add spaces, though.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoChange link text for Windsor to "Available online"
Dan Scott [Thu, 23 Jun 2011 17:51:19 +0000 (13:51 -0400)]
Change link text for Windsor to "Available online"

Per proposal #1 of the June 22, 2011 Conifer ebook specification
document, Windsor wanted to change their link text to the simpler
"Available online". Making it so.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoCheck for a hit in SFX for every library we have enabled
Dan Scott [Wed, 22 Jun 2011 18:50:08 +0000 (14:50 -0400)]
Check for a hit in SFX for every library we have enabled

It's possible that one of the libraries has not yet turned on a given
target in SFX, so we don't want any false negatives. And if a library
hasn't opted into a particular package, they shouldn't be one of the
enabled flags passed to this script.

Also, clean up ISBN marking and access note creation, as we were
modifying the wrong MARC record.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoImplement ISBN lookup in SFX
Dan Scott [Wed, 22 Jun 2011 16:04:10 +0000 (12:04 -0400)]
Implement ISBN lookup in SFX

Check the SFX knowledgebase for a matching ISBN and mark it via the
magical $9 SFX subfield so that we can key off of that for subsequent
queries via the catalogue.

Given that only one library may be running this script for a set of
ebook records, ensure that we're checking the results.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoOn closer inspection, 506$e != 710$a
Dan Scott [Wed, 22 Jun 2011 14:16:55 +0000 (10:16 -0400)]
On closer inspection, 506$e != 710$a

The 710 is being used for the imprint, while the 506$e is being used to
identify the online platform.

It's questionable whether this should be required - for example, a 506
wouldn't be necessary for Project Gutenberg materials - but let's go
with that for now anyway.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd 506 note handling per Windsor proposal
Dan Scott [Wed, 22 Jun 2011 14:01:31 +0000 (10:01 -0400)]
Add 506 note handling per Windsor proposal

The 506 note is for access restrictions; we will generate one 506 field
per instutition, with a customized $a message, the consortial license
identified in the $b, and the publisher in $e, along with the library
symbol in $5 to enable the catalogue to control the display of the
message in an appropriate scope.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd Conifer's laundry list of tools and scripts
Dan Scott [Mon, 6 Jun 2011 15:33:57 +0000 (11:33 -0400)]
Add Conifer's laundry list of tools and scripts

Again, in the interest of expediency, get the Conifer tools into a
branch, we can factor them out further later.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoAdd params support to show in opac function
Thomas Berezansky [Sun, 7 Oct 2012 15:58:37 +0000 (11:58 -0400)]
Add params support to show in opac function

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP#1175287: make sure tsearch2 is removed, regardless of its origin
Galen Charlton [Wed, 1 May 2013 20:33:39 +0000 (16:33 -0400)]
LP#1175287: make sure tsearch2 is removed, regardless of its origin

A sufficiently old Evergreen database might still have tsearch2
exist as an unpackaged contrib, so convert it to an extension first.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoadjust release notes references to refer to 2.4.0
Galen Charlton [Wed, 1 May 2013 21:35:30 +0000 (17:35 -0400)]
adjust release notes references to refer to 2.4.0

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoupdate upgrade instructions for 2.4.0 release
Galen Charlton [Wed, 1 May 2013 21:34:02 +0000 (17:34 -0400)]
update upgrade instructions for 2.4.0 release

- specify minimum supported PostgreSQL version as 9.1
- specify minimum supported OpenSRF version as 2.2.0
- update schema upgrade instructions and miscellaneous
  references to 2.3

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agorevisions to installation instructions
Galen Charlton [Wed, 1 May 2013 21:02:57 +0000 (17:02 -0400)]
revisions to installation instructions

- Remove references to PostgreSQL 9.0; 9.1 is recommended
  for Evergreen 2.4.
- Clarify that the latest version of OpenSRF now means 2.2
  or later.
- Increase chances that somebody following the instructions
  precisely doesn't run into a problem during the configure step.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoMake sure the "running" indicator goes away
Mike Rylander [Tue, 30 Apr 2013 15:26:00 +0000 (11:26 -0400)]
Make sure the "running" indicator goes away

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
11 years agoAdd a $cache_timeout-based backstop for infinite loops
Mike Rylander [Fri, 26 Apr 2013 15:28:38 +0000 (11:28 -0400)]
Add a $cache_timeout-based backstop for infinite loops

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
11 years ago"Queue Compression" -- let one do the work for all identical, concurrent searches
Mike Rylander [Fri, 26 Apr 2013 14:49:17 +0000 (10:49 -0400)]
"Queue Compression" -- let one do the work for all identical, concurrent searches

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
11 years agoLP#1174359: follow-up on dropping the reporter.classic_item_list view
Galen Charlton [Wed, 1 May 2013 19:01:30 +0000 (15:01 -0400)]
LP#1174359: follow-up on dropping the reporter.classic_item_list view

Add note for the benefit of any Evergreen admin who may
need to recreate that view.  Also, update the point schema
update script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoLP#1174359 Need to drop reporter.classic_item_list
Michael Peters [Mon, 29 Apr 2013 15:14:39 +0000 (11:14 -0400)]
LP#1174359 Need to drop reporter.classic_item_list

ERROR: cannot drop view metabib.full_rec because other objects depend on it
DETAIL: view reporter.classic_item_list depends on view metabib.full_rec
HINT: Use DROP ... CASCADE to drop the dependent objects too.

Beginning at line 55 of the upgrade script, several views and functions are dropped
so metabib.full_rec can be dropped. One of them is missing.

We need to drop reporter.classic_item_list as well, for the script to work.

Signed-off-by: Michael Peters <mpeters@emeralddata.net>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoImproved AC socket fix
Jason Stephenson [Wed, 1 May 2013 16:08:29 +0000 (12:08 -0400)]
Improved AC socket fix

This provides better coverage for socket shutdown needs, but intends
to fix the same issue as the previous commit.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoShutdown added content sockets to prevent hung connections.
Jason Stephenson [Tue, 30 Apr 2013 17:23:24 +0000 (13:23 -0400)]
Shutdown added content sockets to prevent hung connections.

We were getting several thousand sockets hanging around in a
CLOSE_WAIT state on our server.  The connections were from our
server and to our server.  Further investigation showed it to be
caused by the stage2 added content lookup not closing the request
sockets when it was done reading data.  This branch fixes that.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLP1076411 Return updated circ object from checkin
Bill Erickson [Fri, 29 Mar 2013 13:41:44 +0000 (09:41 -0400)]
LP1076411 Return updated circ object from checkin

Retrieve an updated copy of the circulation object to return to the
caller during checkin.  This ensures the data in the circ object, in
particular date fields, are consistent with the database.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoWhen adding errors from failed processing to acq.edi_message, set error_time
Lebbeous Fogle-Weekley [Wed, 3 Apr 2013 19:31:09 +0000 (15:31 -0400)]
When adding errors from failed processing to acq.edi_message, set error_time

This has obvious benefits in facilitating log analysis after a problem.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoAdd accepting_usr to IDL to fix reporter field
Remington Steed [Thu, 14 Mar 2013 18:37:17 +0000 (14:37 -0400)]
Add accepting_usr to IDL to fix reporter field

In the reporter interface, the view 'Payments: Brick-and-mortar' is
missing the 'Accepting User' field, which is present in the similar view
'Payments: Desk'. This field is already present in the database view and
is simply missing from the IDL.  Since it is needed for certain kinds of
reports, this commit adds the missing IDL fields. It also adds the
missing 'reporter:datatype' to an existing instance of the IDL field.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP1170861 Remove unused lineitem alert field
Bill Erickson [Tue, 23 Apr 2013 15:47:37 +0000 (11:47 -0400)]
LP1170861 Remove unused lineitem alert field

Remove extraneous field from the IDL field list for acq lineitem alerts.
The extra field prevented new alerts from getting saved.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP1104823 - OPAC search results "Limit to available items" toggles
Kyle Tomita [Tue, 9 Apr 2013 20:51:14 +0000 (13:51 -0700)]
LP1104823 - OPAC search results "Limit to available items" toggles
off "Show more details"

Added a hidden input to the form when "Show more details" is selected
so that when the form is reloaded, "Show more details" will be still
selected.

Signed-off-by: Kyle Tomita <ktomita@catalystitservices.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP#1172893: fix query for retrieving available holds
Bill Erickson [Thu, 25 Apr 2013 15:54:40 +0000 (11:54 -0400)]
LP#1172893: fix query for retrieving available holds

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoAdd 2.4 release notes for Novelist Select changes.
Jason Stephenson [Tue, 23 Apr 2013 14:39:55 +0000 (10:39 -0400)]
Add 2.4 release notes for Novelist Select changes.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoAdding 2.3-2.4RC upgrade script
Mike Rylander [Mon, 22 Apr 2013 19:04:07 +0000 (15:04 -0400)]
Adding 2.3-2.4RC upgrade script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoUnbreak make install for apache config files
Dan Scott [Mon, 22 Apr 2013 17:00:05 +0000 (13:00 -0400)]
Unbreak make install for apache config files

The new install process installs the Apache sample configs into the
DOCDIR for Evergreen, with the expectation that packagers will pick up
the examples from the doc directory and that users will eventually be
expected to copy them from there, rather than from the source tree.

However, currently the Apache 2.2 and 2.4 sample configs have the same
names, and that causes a conflict at "make install" time. Kudos to Jason
Stephenson for catching this. The temporary solution is to rename the
Apache 2.4 files to avoid the conflict; longer term, we need to teach
make install to only make & install the files that are pertinent to the
environment on which it was built (either Apache 2.2, or Apache 2.4).

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
11 years agoUpdating PO files from LaunchPad
Mike Rylander [Mon, 22 Apr 2013 14:17:46 +0000 (10:17 -0400)]
Updating PO files from LaunchPad

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoFix version number in 0793.data.best-hold-order-traditional-approx.sql
Jason Stephenson [Sat, 20 Apr 2013 13:49:27 +0000 (09:49 -0400)]
Fix version number in 0793.data.best-hold-order-traditional-approx.sql

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoAdd missing [% in prefs_settings.tt2.
Jason Stephenson [Sat, 20 Apr 2013 13:28:37 +0000 (09:28 -0400)]
Add missing [% in prefs_settings.tt2.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP#1162907: install RPC::XML as Evergreen dependency
Galen Charlton [Fri, 5 Apr 2013 03:45:14 +0000 (23:45 -0400)]
LP#1162907: install RPC::XML as Evergreen dependency

RPC::XML used to be installed as part of installing
the OpenSRF deps, but since OpenSRF itself doesn't
use it, this belongs in Evergreen.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoRepair too-timid hold targeter (it misses copies at other org units)
Lebbeous Fogle-Weekley [Fri, 19 Apr 2013 19:23:05 +0000 (15:23 -0400)]
Repair too-timid hold targeter (it misses copies at other org units)

The patch to address bug 1162989 overreached.  Whereas before that
patch, the hold targeter was wont to target copies with unholdable
statuses, after the patch the hold targeter got the statuses right but
undesirably filtered out copies whose circ_lib doesn't match the hold
pickup lib.  This again probably stems from the differences between
FulfILLment's hold targeter and Evergreen's in the context of merging
the calculated proximity code.

This patch should resolve the issue.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoStamping best-hold-order update script
Mike Rylander [Fri, 19 Apr 2013 20:19:11 +0000 (16:19 -0400)]
Stamping best-hold-order update script

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoFix various Traditional and holds-go-home best-hold sort orders
Lebbeous Fogle-Weekley [Wed, 3 Apr 2013 20:35:51 +0000 (16:35 -0400)]
Fix various Traditional and holds-go-home best-hold sort orders

Use copy's call number's owning_lib instead of copy's circ_lib

    Should compare checkin lib to copy's (call number's) owning_lib, not
    hold request lib.

    You might think the comparison should be to acp.circ_lib, but that
    doesn't work with floating copies (for non-floaters, acp.circ_lib
    should be equal to acp.call_number.owning_lib).

approx is a more correct first determinant to give the behavior sites
are used to.

    hprox can cause copies to be too eager to go home when
    there are holds with that copy's circ lib as its request lib (if that's
    what you want, then you do pick or create a sort-order with hprox near
    the top).

Address a problem in the copy_has_not_been_home CTE.
    This expression was always meant to provide a TRUE or FALSE value as its
    lone result, but would return NULL in cases where copies had no transit
    history.

Use pickup_lib, not request_lib, as the determinant of
    nearness-to-home.  request_lib was used with the thinking that an item's
    "owning" patrons should have their wishes favored at holds-go-home time,
    even if where they wanted to send the copy was not actually home, but
    that's neither necessarily desired nor very intuitive.

Clear up holds-go-home logic with better code AND add TechRef
documentation with diagram in attempt to be as clear as possible.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoConfirm URL_VERIFY_UPDATE_SETTINGS permission code is fixed
Mike Rylander [Fri, 19 Apr 2013 15:45:32 +0000 (11:45 -0400)]
Confirm URL_VERIFY_UPDATE_SETTINGS permission code is fixed

Jeff Davis spotted, and fixed, a problem with upgrade script 0754. If
someone has already applied that, this will address.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoUse correct perm code in upgrade scripts for SQL update 0754
Jeff Davis [Thu, 18 Apr 2013 23:09:40 +0000 (16:09 -0700)]
Use correct perm code in upgrade scripts for SQL update 0754

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoMerge changes to Apache 2.4 example config files
Dan Scott [Fri, 19 Apr 2013 15:06:27 +0000 (11:06 -0400)]
Merge changes to Apache 2.4 example config files

Not only do we need the JSPAC->TPAC changes that went into the base
Apache example configs, we should also move to generating these files
instead of having hardcoded values. Longer term, we should probably just
generate the right example configs from one common base until Apache 2.2
is dead and gone, but this improves the Apache 2.4 experience greatly.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoStamping upgrade for #deleted search modifier (and friends) fix
Mike Rylander [Thu, 18 Apr 2013 19:45:15 +0000 (15:45 -0400)]
Stamping upgrade for #deleted search modifier (and friends) fix

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoQP: Repair edit_date, create_date, and bib_source filters
Lebbeous Fogle-Weekley [Wed, 17 Apr 2013 22:16:09 +0000 (18:16 -0400)]
QP: Repair edit_date, create_date, and bib_source filters

And also make records undeletable, where reingestion at undelete time
formerly balked in this manner:

> ERROR: duplicate key value violates unique constraint
> "record_attr_pkey" DETAIL: Key (id)=(1) already exists. CONTEXT: SQL
> statement "INSERT INTO metabib.record_attr (id, attrs) VALUES (NEW.id,
> new_attrs)" PL/pgSQL function "indexing_ingest_or_delete" line 129 at
> SQL statement

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoQP: Limit to deleted records for #deleted modifier at this level
Lebbeous Fogle-Weekley [Wed, 17 Apr 2013 21:24:59 +0000 (17:24 -0400)]
QP: Limit to deleted records for #deleted modifier at this level

Down in the DB's query_parser_fts procedure, we also know whether we're
in a deleted_search, and in those cases we skip all visibility and
similar testing accordingly.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoBring back #deleted modifier post-revive-qp-fts
Mike Rylander [Fri, 5 Apr 2013 20:46:21 +0000 (16:46 -0400)]
Bring back #deleted modifier post-revive-qp-fts

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTPAC schema.org: Add Organization types for contributors
Dan Scott [Sun, 7 Apr 2013 22:14:58 +0000 (18:14 -0400)]
TPAC schema.org: Add Organization types for contributors

Given a 110 / 710 field, when generating the record details for authors
and contributors we can declare an http://schema.org/Organization
itemtype rather than just jamming the name under the "contributor"
property. This is more in accordance with schema.org directions.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTPAC: Fix schema.org name / dates for authors
Dan Scott [Fri, 5 Apr 2013 20:10:01 +0000 (16:10 -0400)]
TPAC: Fix schema.org name / dates for authors

Per http://schema.org/Person, the birth date and death date are not
supposed to be part of the name of a Person. We can separate these out
correctly based on subfield d for 100 fields.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>