Dan Scott [Thu, 6 Jun 2013 16:13:36 +0000 (12:13 -0400)]
Add new POT files to git so "make newpo" will work
Running "make newpo" errored out because the po subdirectories didn't
exist for the newly added POT files. This will also enable translators
to access the strings in Launchpad.
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.
TPAC: First part of locg param can be branch shortname
Addresses LP #1020625. You can use the locg param, which can set an
an OU for search context (and which has other implications related to
location/scope) by shortname now.
As long as your shortnames are something that work in an HTTP query
string, don't contain colons, and as long as you don't have numeric
shortnames for any orgs that would mask orgs with the sames numbers
as an ID (but that would be a lousy setup anyway), this should work.
Now case insensitive per recommendation by Michael Peters. In the
event that you have org units with names that are the same except
for case (probably a bad practice), the locg parameter will simply
fail to set your context, rather than try to guess which org unit
you meant.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
Kyle Tomita [Thu, 14 Mar 2013 22:01:14 +0000 (15:01 -0700)]
Patron Blocking by lost items and include lost as items out
This feature has two main parts, patron blocking by number
of lost items and include lost items as items out. A group penalty
threshold will be added for lost items. This will restrict patrons
who have lost too many items. The inclusion of lost items as items
out will be an optional setting, like claimed returned items. This
will allow libraries to set what type of item statuses count toward
the total items out.
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>
When delivering MARC21 via SuperCat, OpenSearch, offer filename w/ extension
If you want a record feed in MARC21, without this commit a web browser
just suggests "marc21" as the filename for saving to your local system.
Although many consumers of these feeds will be custom scripts and other
non-interactive software components that won't care about filename, for
the web browser case it's helpful if the server suggests a filename that
ends in .mrc.
So here we go.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.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>
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>
Ben Shum [Wed, 29 May 2013 22:06:09 +0000 (18:06 -0400)]
Change autoconf required version for libmar's configure.ac
Having it set to 2.68 (current for Ubuntu Precise) broke autoreconf for other
distributions. Notably Debian Squeeze/Wheezy have 2.67 and Ubuntu Lucid has
2.65 for their autoconf version.
Set a minimum requirement of 2.61 that we use in the existing options.
Jason Stephenson [Tue, 19 Mar 2013 12:38:31 +0000 (08:38 -0400)]
Fix segmentation fault in mbsdiff and fix crc by linking with libbz2.
Doh! I typed memcpy when I really wanted memset.
This does not actually introduce any new dependencies. Evergreen
updates/installation already requires bzip2. If bzip2 is present,
then libbz2 is present. We don't need libbz2 headers, just the
library itself for a single data structure used in crc32 calculation.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jason Stephenson [Tue, 19 Mar 2013 00:03:42 +0000 (20:03 -0400)]
Add libmar to build update tools to the repo.
This adds code from Mozilla to build a command line mar program and the
libmar library that it uses. This code is now dual-licensed under the
MPL 2.0 and GPL v2 or later.
We also add our own version of mbsdiff using a modified version of Colin
Percival's FreeBSD-licensed bsdiff program. We also copy the crc32 code
from Mozilla's updater.
Add libmar as "subpackage" in cofigure.ac.
Add AC_CONFIG_SUBDIRS macro call for Open-ILS/xul/staff_client/external/
libmar so that our update tools will get configured and built when
Evergreen is built.
Modify make_updates.sh for our update tools.
Instead of downloading mar and mbsdiff from Mozilla.org's servers,
we check if they exist in Open-ILS/xul/staff_client/external/libmar/tool
and if not we build them. They should be there already.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
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 [Thu, 11 Apr 2013 13:43:10 +0000 (06:43 -0700)]
Test dataset: authority records for concerto
Add a handful of authority records to match a subset of the Concerto
bib records. When the --load-all or --load-concerto options are passed
to eg_db_config, these authority records will be loaded. Running
"authority_control_fields -s 1 -e 100" will then generate 19 links from
Concerto bibs to corresponding authority records.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
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>
Dan Scott [Thu, 23 May 2013 16:09:55 +0000 (12:09 -0400)]
Avoid additional whitespace in password messages
Trivial enhancements to avoid extra linefeeds in generated HTML, as well
as including a linefeed at the end of the new password_reset_msg.tt2
file. Good old DOS vs. UNIX :)
Melissa Lefebvre [Fri, 10 May 2013 19:19:09 +0000 (15:19 -0400)]
TPAC - Password Messages
In jspac a message appeared when the patron went to change their
password stating the requirements. This same message is missing
in TPAC. The wording from jspac has been added to a separate
file, update_password_msg.tt2, that can later be easily edited
and the original update_password.tt2 has been edited with an
INCLUDE statement pointing to the newly created file.
Also improved is the message when requesting a forgotten password.
Patrons are unaware that a valid email address needs to be in
their record until after they try to send a reset. Text has been
added to a new file, password_reset_msg.tt2, to explain the need
for an email address. Password_reset.tt2 has been edited with
an INCLUDE statement pointing to the newly created file.
Style.css.tt2 was also updated to remove extra padding on
#account-update-email table to raise the table on
update_password.tt2. This value is also used on
update_username.tt2 and update_email.tt2 without considerable
impact to the look of those pages.
Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
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> Signed-off-by: Bill Erickson <berick@esilibrary.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>