Dan Scott [Wed, 19 Jun 2013 15:48:40 +0000 (11:48 -0400)]
659 stands for "garbage", not "genre", in our MARC
Hide the display of 659 fields in Laurentian records. They appear to
have been used for some sort of identifiers, not genres, and are
meaningless to users.
Dan Scott [Tue, 18 Jun 2013 16:17:40 +0000 (12:17 -0400)]
Prevent uninit var warnings in Search/Biblio.pm
The logger messages in Search/Biblio.pm throw _many_ uninitialized
variable warnings. With a little care, we can prevent those warnings and
return our attention to more important log messages.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Mon, 27 Aug 2012 14:38:48 +0000 (10:38 -0400)]
Repair fine generator memory leak
Calling "next" from within a "try" block results in a memory leak,
presumably because "try" is a tangled nest of subs and evals.
Replacing the "try" with a good ol' "eval" avoids the leak.
This particular leak in the fine generator is onerous when the fine
generator is run often (e.g. every 15 mins), which means circs that
have already been processed for the day are re-analzyed over and over,
causing the code to continue early (next) to the next loop iteration
for large numbers of circs. It also happens when a circs are skipped
because they have no fine interval, rate, or max fine.
You know this is happening because you will see something like this in
the storage stderr log:
Exiting eval via next at
/usr/local/share/perl/5.10.1/OpenILS/Application/Storage/Publisher/action.pm
line 820.
Exiting subroutine via next at
/usr/local/share/perl/5.10.1/OpenILS/Application/Storage/Publisher/action.pm
line 820.
This patch does not avoid the "exiting eval via next" warning, since
we're still next'ing out of the eval. It just avoids the memory leak
(and the "Exiting subroutine" warning). More extensive refactoring is
needed to to completely remove the second warning.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 11 Jun 2013 20:44:35 +0000 (16:44 -0400)]
Use the centralized initialization method for QP
QueryParser maintains an effective singleton for internal configuration of
the driver in order to avoid going to the database on every search request
to gather configuration parameters. There is also a centralized sub that
has the task of properly configuring said singleton. Previous to this commit
we were not using that centralized initializer in one case, and that case
happened to be the most important initialization of QP in all of Evergreen.
The fallout from that was that some configuration was not being gathered
and passed to QueryParser, resulting in incorrect search SQL being generated.
This is rectified by using the centralized initializer everywhere that it
is needed and can be used -- and particularly in the effected case.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Mike Rylander [Tue, 30 Apr 2013 20:45:55 +0000 (16:45 -0400)]
Search clicked /and/ preceding sf values
When looking for authority records to control a bib field, we currently
search using exactly, and only, the subfield that was clicked. This
commit changes that so that the full field up to and including the clicked
subfield is used in the simple authority heading search we perform to find
the best-match (pivot) authority record.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
(Just whitespace conflicts on tab vs space -- repaired by hand.)
Ben Shum [Sat, 2 Mar 2013 07:21:58 +0000 (02:21 -0500)]
TPAC - set autofocus to user input when placing holds in staff client
When placing holds in TPAC via the staff client, the focus had been on the
basic search field above. Change this to have autofocus on the input field
for the hold user by default.
This can potentially save staff from having to perform an extra click to
select the input field. Now they can immediately begin entering the barcode
of the user they plan to create a hold on behalf of.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Acq: Be fuzzy about case when retrieving EDI documents
The edi_fetcher relies on a routine in OpenILS::Acq::EDI to, among
other things, try to avoid fetching the same EDI document multiple times
when many rows in acq.edi_account refer to the same host and login
credentials.
Since in practice most vendors seem to run FTP servers for EDI on
Windows, not UNIX, and pathnames are therefore case-insensitive, that
test for other occurrences ought also to be case-insensitive.
If I were to look at this as a purist, I could argue that vendor servers
might sometimes by run on UNIX, and that for some reason it is possible
that different vendor-to-buyer EDI documents (order responses or
invoices) could have pathnames that differ only in the case of some
characters. But that seems wildly unlikely. If anyone does take this
possibility seriously, perhaps acq.edi_account needs a Boolean column to
indicate the remote host's case [in]sensitivity.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Thu, 6 Jun 2013 13:40:59 +0000 (09:40 -0400)]
Fedora RPM for bzip2 headers is bzip2-devel
There was an attempt to add the right RPM for the bzip2 headers in
Makefile.install, but that failed on Fedora 19. Swap in bzip2-devel
instead to correct that.
Bill Erickson [Thu, 23 May 2013 13:11:25 +0000 (09:11 -0400)]
LP1183340 selectivly apply editable funds sorting
Avoid sorting editable funds to the front of the fund list when there
are no org units at which the user has the ADMIN_ACQ_FUND permission.
Otherwise, we are sorting on an empty 'IN' list in pcrud, which results
in an error.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Kathy Lussier [Sat, 25 May 2013 00:52:01 +0000 (20:52 -0400)]
Acquisitions Admin updates
Updates to the chapter on acquisitions administration, including 1) the
reintroduction of the Providers section, which appears to have dropped out
of the docs after 2.1 2) the new default # copies and improvements to
distributions formulas introduced in 2.4 and 3) minor copy editing.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Ben Shum [Thu, 23 May 2013 20:32:49 +0000 (16:32 -0400)]
LP1081576 - fix utf8 characters in searches using portal page
Replace escape() with encodeURIComponent() on the portal page to allow utf8
characters to be passed more appropriately to the subsequent search in catalog.
Thanks Dan Scott for pointing this out.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Bill Erickson [Thu, 23 May 2013 13:43:52 +0000 (09:43 -0400)]
LP1183357 Pass locale to bib search (tpac)
Pass the TPAC locale value, which is collected at each page load, to the
bib search API call. This allows us to take advantage of language-based
relevance bumps.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Scott [Fri, 10 May 2013 17:12:55 +0000 (13:12 -0400)]
TPAC: Death date missing from authors in record details
The trailing period prescribed by ISBD punctuation for x00 $d subfields
in certain circumstances confounds the regex that was expected the $d
subfield to match ^\s*\d{4}-\d{4}\s*$. As a result, death dates were
often being omitted from the record detail display. Relaxing the regex
to match against a trailing .* instead of \s* resolves the issue.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Ben Shum <bshum@biblio.org>
Clicking on an author with a dash or dates in the name on the search
results page comes up with 0 results. It looks like the dash is stripped
from the date and/or name.
Clicking on such a link from the record view actually works because
the dash is replaced with a space.
This branch changes table.tt2 to replace special characters in author
output with a space in the same way that authors.tt2 does.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Fri, 19 Apr 2013 20:14:13 +0000 (16:14 -0400)]
Correct subfield format for authority lookup
The Authority Control Set code expects the format of subfields
that it will be used to build a MARC.Field object to be of the
form: [[code,value],...] This commit makes that true.
Additionally, dojo.filter over a list of lists can cause the
nested array set to be flattened. So, instead, we loop directly.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 16 May 2013 13:11:50 +0000 (09:11 -0400)]
Repair faulty MARC editor authority validation
Repair how the JS inspects the results of
open-ils.search.authority.simple_heading.from_xml.batch.atomic, which is
used to look up matches for authority validation. It returns a more
complex structure in the brave new world of authority control sets.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Tue, 29 Jan 2013 16:04:33 +0000 (11:04 -0500)]
Apply all 2.2 upgrades prior to running 2.3.0 upgrade
If users are expected to run all of the 2.2 upgrade scripts, then let's
make it easy for them. As PostgreSQL 9.1 does not include the \ir
"include relative path" command, we have to pause at the beginning of
the upgrade process to ensure that the user is running the script from
the right directory.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Galen Charlton [Tue, 14 May 2013 19:33:54 +0000 (15:33 -0400)]
LP#118066: fix searches that failed because punctuation was a token in query
When building the text array literal to pass to evergreen.rel_bump,
make sure that tokens that get {search_}normalize{d} away
don't result in syntax errors.
With this patch, searches like the following will work again:
Ben Shum [Mon, 13 May 2013 18:19:06 +0000 (14:19 -0400)]
LP1179614 - fix Export All Records action
In the record buckets, the button for 'Export All Records' would work up
to the point where you chose where to save the file. After clicking where
to save, it would not show any saved files or prompts indicating it completed
the export process.
This fix changes the location of where to find the export tool and properly
exports the bibs as the file format selected.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Serials: MFHD::get_compressed_holdings() can reach infinite loop
Even controlled serials holdings involve the internal creation of MFHD
fields, upon which caculations are performed for such purposes as the
display of holdings summaries in the OPAC.
There are too many ways that incorrect MFHD (or MFHD that our code just
can't yet handle) can lead our MFHD routines to crash. We can't address
all these possibilities in a single bug fix. But we can avoid this
infinite loop.
A subroutine within open-ils.serial (_summarize_contents()) relies on
MFHD::get_compressed_holdings(). When the latter went into an infinite
loop the result would be an open-il.serial drone process consuming CPU
time indefinitely and, depending on the data that provoked the loop,
potentially writing repeating messages to stderr indefinitely.
End users will still see the item receiving fail in these cases, and be
obliged to work around the issue as before until more robust
holdings summarization code can be written, but at least the overall
condition of the running Evergreen system won't be affected, and there
will be better information in the error logs.
Galen Charlton [Fri, 3 May 2013 21:20:21 +0000 (17:20 -0400)]
LP#1176206: improve deadlock handling in 2.3-2.4-supplemental.sh
- make sure that it doesn't attempt to create more than one
index at a time for a given table
- if deadlocks occur (because of a PostgreSQL bug whose fix
isn't slated for release until after April 2013), find
and recreate the affected indexes.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
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>
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>
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>
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>
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>
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>
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.