Dan Scott [Thu, 4 Oct 2012 19:08:02 +0000 (15:08 -0400)]
Ebook processing - more pythonic string coercion
Avoid the regurgitation of errors due to trying to add a string to an
integer
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 4 Oct 2012 18:45:56 +0000 (14:45 -0400)]
Ebooks script code cleanup
Lots of accumulated whitespace / line length code convention issues.
This makes pylint happier (from 8.65 to 9.44).
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Art Rhyno [Thu, 4 Oct 2012 18:32:46 +0000 (14:32 -0400)]
Adding 2 options to prep_ebook_records.py script
This supports 2 additional options to Dan Scott's ebook script:
-t / --tcn : The name of the file to route TCN duplicates to.
The tcn search takes the 001 and does an OpenSRF open-ils.search.biblio.tcn
call.
-u / --url : The name of the file to route URL duplicates to.
The url search is based on the 856u field and is done with the OpenSRF
open-ils.search.biblio.multiclass.query call.
Signed-off-by: Art Rhyno <art632000@yahoo.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 4 Oct 2012 18:17:07 +0000 (14:17 -0400)]
Add a gale code for the Gale electronic resources
Every electronic resource provider has to be different, eh? Sheesh.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 23 Aug 2012 14:56:41 +0000 (10:56 -0400)]
Add Leddy to the list of libraries for circ_date_to_expire
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Mon, 16 Jul 2012 16:24:44 +0000 (12:24 -0400)]
LDAP: Create and push barcodes from Web UI
Now that we're beyond basic testing, go ahead and create accounts or
push barcodes into LDAP for realz.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 13 Jul 2012 15:20:15 +0000 (11:20 -0400)]
Ensure we only generate unique barcodes
Rather than looping over existing barcodes only when we update the
patron account, let's not return duplicate barcodes in the first place,
mmmkay?
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Wed, 11 Jul 2012 13:46:10 +0000 (09:46 -0400)]
Prep for use in mod_wsgi
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Wed, 11 Jul 2012 01:20:41 +0000 (21:20 -0400)]
Use synchronous methods and cleaner results
Rather than calling ldap.result(), which results in awkward lists of
lists which are hard to handle, just iterate over the results from
ldap.search_s() (which, btw, is now a synchronous call).
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Tue, 10 Jul 2012 20:48:21 +0000 (16:48 -0400)]
Revert debug code that showed all LDAP attributes
Not that I mind verbosity, but unless you request the custom attributes
specifically, you only get the default LDAP attributes. And I'm more
interested in the custom ones.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Tue, 10 Jul 2012 20:25:42 +0000 (16:25 -0400)]
Experimental web.py frontend for creating Conifer accounts
Use web.py to surface a simple Web UI for generating Conifer accounts
based on the Laurentian ID of a given user. Required a little
refactoring of ldap_osrf_sync to make it usable as a module rather than
just as a script, but that's all for the better.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 9 Mar 2012 20:35:36 +0000 (15:35 -0500)]
Carry over the leader from the original record
We iterate over every field of the original record to create the new
record. Except... the leader is not an iterable field. So we were
pushing default leaders onto every new record we were creating. That
is... suboptimal to the max.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 24 Feb 2012 05:44:19 +0000 (00:44 -0500)]
Update codes for new located URI scoping behaviour
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 23 Feb 2012 21:48:11 +0000 (16:48 -0500)]
Avoid double-proxying boreal links
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 23 Feb 2012 21:47:08 +0000 (16:47 -0500)]
Address encoding errors due to 1st UTF8 usage in options
We have to tell Python that our strings are UTF-8, naturally.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 23 Feb 2012 20:18:52 +0000 (15:18 -0500)]
Add Boreal to the ebook handling script
Also simplify some code paths through the power of Python list
comprehensions and dictionaries, instead of repetitive code.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 2 Feb 2012 20:09:00 +0000 (15:09 -0500)]
Fully-qualified CN is not a good basis for email addresses
Not unless you really like cn=Foo,ou=Bar@foobar.ca as an email address,
anyway.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Tue, 24 Jan 2012 21:32:31 +0000 (16:32 -0500)]
Generate email addresses where none are in LDAP
Per discussion with MLaferriere, we should expect to see LDAP entries
without a 'mail' attribute, and should build email addresses based on
the CN. For additional flourish, append @laurentian.ca or
@laurentienne.ca based on the language preference.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Mon, 16 Jan 2012 22:53:27 +0000 (17:53 -0500)]
LDAP sync: If EG user found, reactivate
In theory, we won't be asked to create a user that already exists in
Evergreen if they are already there and active. So, go ahead and set the
"active" flag to true and update the account expiry date when we are
asked to create an existing user.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Tue, 10 Jan 2012 19:00:16 +0000 (14:00 -0500)]
More robust identity value handling for LDAP tooling
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Tue, 10 Jan 2012 18:47:06 +0000 (13:47 -0500)]
Adjust to new values of permission groups in 2.1
We shifted the permission group IDs when we upgraded to 2.1 and have to
compensate accordingly in this hard-coded script.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Tue, 10 Jan 2012 18:25:38 +0000 (13:25 -0500)]
Add located URI update script (PGSQL function)
Given MARCXML, modifies the 856 $9 subfields to map to owning systems
rather than individual branches to address the located URI visibility
change in 2.1.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Mon, 5 Dec 2011 16:44:30 +0000 (11:44 -0500)]
LDAP: More robust processing and error reporting
Don't die if we don't have an lulColleagueId; spit out the attributes
that we have ready at hand to help identify the problem record.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Sat, 12 Nov 2011 05:18:51 +0000 (00:18 -0500)]
Don't srip our own 924 field from the record
Also, a lot of other changes to make the ebrary option actually work.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Sat, 12 Nov 2011 01:59:00 +0000 (20:59 -0500)]
Ebrary CEL: Work towards ebook requirements
Of most importance, copy the incoming 001 value identifying the Ebrary
record into the 924 for use in SFX lookups.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 10 Nov 2011 19:50:42 +0000 (14:50 -0500)]
Add Boreal preferences for ebooks
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 7 Oct 2011 17:21:55 +0000 (13:21 -0400)]
Handle "thornloe" profile
Apparently our LDAP system or a system upon which it depends is either
enforcing an 8-char limit for some reason, or we have to deal with
typos. Whatever.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>