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.
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>
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>
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>
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>
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>
Dan Scott [Fri, 5 Apr 2013 17:21:47 +0000 (13:21 -0400)]
Fix schema.org mapping for MusicAlbum, add Map
We had set LDR[06] = j to MusicRecording, but that is really meant for
individual songs. Use MusicAlbum instead, and per
http://schema.org/MusicAlbum, use a new MusicGroup itemtype with a
'byArtist' property for the primary artist rather than the generic
'accountablePerson'.
Also map LDR[06] = e to Map, because that seems like a safe bet.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 16 Apr 2013 19:08:10 +0000 (15:08 -0400)]
Allow combined search to be optional per class
Relevance is thrown off for, in paticular, the keyword class when combined
search is used. This is because the effect of an opaque blob of data, such
as the keyword|keyword index definition, is to applify the inclusion of spurious
(to the user) data in matching attempts.
This commit adds the ability to specify, per class, whether combined FTS should
be used, and turns this on for only the subject class by default.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Acq: re-use more code for two ways of creating invoices (EDI and manual)
This solves two problems.
1) With EDI invoices, we had been failing to disencumber fund debits
related to the invoiced lineitems, although that worked for manual
invoices.
2) With manual invoices, we would not automatically uncancel copies
when the user decided to invoice them despite their canceled status.
This was already working in EDI invoices though. This is especially
important since our schema lumps "backordered" in with "canceled,"
and in theory backordered things do show up eventually.
There were earlier version of this commit out there with bugs that
prevented the EDI workflow from working correctly (the manual invoice
flow worked and still should).
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
The number of results listed on the search results page is often an
estimate when working with a large set. Let's add the word "about" to
reflect the fact that it is indeed an estimate.
At the same time, I moved the <strong> tags out of the code, adding a CSS
class in its place, moved the HTML tags out of the translatable
string (as recommended by Pasi Kallinen), and fixed a typo in the
stylesheet.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Thu, 18 Apr 2013 14:49:06 +0000 (10:49 -0400)]
Minor change to chrome/content/util/list.js.
Change the initializer of this.count_for_display from 0 to 1 in
order to match the counting of other lists in the client and to
provide something that staff are likely to prefer.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
In list.js at start you create obj.columns for lineno, but later
you don`t process this value so it`s return default render
function. This code repairs this.
Signed-off-by: Dmitry Nechai <nechai.dmitry@gmail.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Mike Rylander [Fri, 5 Apr 2013 05:52:16 +0000 (01:52 -0400)]
Address SQL injection vulnerability in SQL ORM layer
If the user-supplied value and the db column are both numbers
(jsonObject->type == JSON_NUMBER, get_primitive(field) == "number") then
don't quote. Otherwise, quote.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Wed, 17 Apr 2013 16:08:41 +0000 (12:08 -0400)]
Address hash/list thinko; Ensure initialization
Two cascading defects were identified after being reported by users. The
first, which was only a potential issue, was an apparent lack of mod_perl
initialization for the item-age record feed. While not the direct cause
of the error message, a lack of initialization here would manifest in the
same way. So, we check that initialization.
Feed-generating callbacks were not being constructed properly due to a
simple thinko in the construction of the default record format list provided
by the SuperCat backend. We need a list of two hashes, not a hash of two
keys.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Tue, 9 Apr 2013 17:45:24 +0000 (13:45 -0400)]
TPAC bucket item retrieval operates in streaming mode
TPAC bucket item retreive fleshes bib records with large blobs of MARC
data. When a bucket contains a few thousand items, the size of the
data passed around in atomic retreival mode will exceed the typical jabber
max stanza size and result in a failure. Retrieve the records in
streaming mode instead.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Thu, 11 Apr 2013 12:56:50 +0000 (05:56 -0700)]
TPAC: Render record titles and authors consistently
Yamil Suarez noticed that the titles and authors in the call number
browse results page were presented differently than the regular search
results. This change removes some of the hard-coded <em> tags and "bold"
classes, in favour of new "record_author" and "record_title" CSS
classes. Now sites can simply change the CSS in one place to keep things
consistent between the two search results pages.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Yamil Suarez <yamil@yamil.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Wed, 27 Mar 2013 15:48:58 +0000 (11:48 -0400)]
Use inline-block for opac-multiline-button style
Follow up for LP1102934 which introduced CSS for opac-multiline-button.
The button appeared noticeably larger if using the english text for
"FAQs" on the login help button. Using inline-block for the style shrinks
it to fit more appropriately based on actual amount of text instead of
leaving it an unusually large looking button.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Kyle Tomita <ktomita@catalystitservices.com>
Dan Wells [Thu, 4 Apr 2013 20:43:38 +0000 (16:43 -0400)]
Add summary creation to embedded alt dist editor
In the Serial Control View, summaries are created automatically with
a new distribution. To avoid unhappy surprises, the embedded version
of the alt distribution editor should do the same.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 3 Apr 2013 20:21:25 +0000 (16:21 -0400)]
Ignore canceled holds during alt-queue generation
When zero potential copies exist for a hold, the hold queue stats code
determines the size and shape of the queue by finding and sorting holds
that have the same type and target. This patch forces the code to
ignore canceled holds when looking for similarly-shaped holds.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Kathy Lussier [Sat, 30 Mar 2013 02:09:48 +0000 (22:09 -0400)]
Release Note Additions
We should probably add the removal of JSPAC to the Release Notes. Also
added the following new features that were missing from the original
notes.
- Options to hide some user preferences from TPAC
- New fields for acq distribution formulas
- Public copy notes
- Direct access to item attribute editor
- Setting staff client search preferences
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>