Dan Scott [Thu, 1 Dec 2016 22:24:01 +0000 (17:24 -0500)]
LP#1646638 - Fix SIP timeouts due to invalid sessions
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 1 May 2017 18:47:58 +0000 (14:47 -0400)]
LP#1667221: (follow-up) remove comment that is now a lie
Also, here's a test plan:
[1] Edit /openils/conf/oils_sip.xml and set the currency
defined in the implementation section to be something
other than USD.
[2] Start the SIP server and perform a patron information
request; note that the BH field in the response contains
'USD'.
[3] Apply the patch and restart the SIP server.
[4] Repeat step 2; this time, the currency should be whatever
is specified in oils_sip.xml.
[5] Comment out the currency section in oils_sip.xml and restart
the SIP server.
[6] Repeat step 2; this time, the currency should be back to 'USD'.
Fix override permission used when checking in a copy that is "long
overdue".
The existing permission was incorrectly created with a code of
COPY_STATUS_LONGOVERDUE.override, while the event thrown requires a
permission with a code of COPY_STATUS_LONG_OVERDUE.override
This commit updates the seed data and a few references to the
old/incorrect permission in documentation, and also includes an
upgrade script designed to accommodate the various likely ways in
which sites may have already locally addressed this issue.
A simple pgtap test is also included.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Kathy Lussier [Fri, 5 May 2017 16:14:19 +0000 (12:14 -0400)]
Docs: Add files to the list of tpac files that should be customized
We have a list of tpac files that should be customized on an Evergreen system.
There are a couple of files related to password formats that should be included
here.
[1] Create a purchase order with, say, 3 lineitems and 2
copies on each of these.
[2] Receive the first two lineitems outright.
[3] Receive one of the copies on the last lineitem and cancel
the other with a cancellation reason that's permanent (e.g.,
bad ISBN) rather than temporary (e.g., backordered).
[4] Note that the purchase order's state remains 'on-order'
[5] Apply the patch.
[6] Repeat steps #1-4. This time, the PO's state should be
'received'.
[7] Repeat steps #1-4, but this time, choose backordered as
the cancellation reason. This time, the PO's state should
remain 'on-order'.
It should be noted that the patches for this bug do *not*
retrospectively mark purchase orders as being received.
Repaire the json_query used to determine if a PO is ready to be marked
received.
A PO is non-receiveable if it has any lineitems that are not in the
received/cancelled [sic] state OR any that are canceled with a
keep_debits=true cancel reason.
Prior to this change, simply having a state of "cancelled" was enough to
prevent receiving.
* Replace tabs w/ spaces
* Remove unnecessary "or return 0" clause which was causing Perl
precedence warnings.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Chris Sharp [Wed, 5 Apr 2017 13:52:50 +0000 (09:52 -0400)]
LP#1257915 - Mark POs received when all lineitems are received or canceled.
Previously, Evergreen only considered lineitems not in a "received" status
when deciding whether to consider a purchase order to be "received". Now
items with cancel reasons that do not keep debits (e.g. not backordered)
are considered "done".
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Linda Jansova [Tue, 29 Nov 2016 13:49:52 +0000 (08:49 -0500)]
LP#1628655: Do not show Patron Reviews if Chilifresh is not in use
The Patron reviews header used for Chilifresh content displays in the catalog
even for Evergreen sites that do not use Chilifresh. This patch hides it if
a site is not using Chilifresh.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
This commit fixes the following kinds of warnings given by asciidoc when
building the docs HTML:
- Incorrect header level
- Incorrect list numbering
- List numbering interrupted by an image (needs '+' on blank lines)
- In one case, a list used '1)' style numbering, which AsciiDoc
doesn't recognize. This commit corrects that, even though it caused
no errors.
These are minor issues, but fixing them is easy and prevents future
confusion and errors.
This commit renames all AsciiDoc files to have the ".adoc" extension.
Also, this commit updates all "include::" references in the root.adoc
file.
RATIONALE: Some editing tools, including GitHub, will auto-generate an
HTML preview for AsciiDoc files if they have the filename extension
".adoc" or ".asciidoc". The community agreed to this change in 2015 (see
http://markmail.org/thread/z2s7xnxavpjzirwx).
NOTE: The docs build script will need to change the reference from
"root.txt" to "root.adoc".
Dan Wells [Tue, 18 Apr 2017 15:06:03 +0000 (11:06 -0400)]
LP#1670407 Add tests for xact_finish close/re-open
Since this bug came about due to negative balance changes (and it was
easier), this commit extends the existing negative balances test suite
to include basic tests for checking both xact_finish conditions.
One of these tests fails without the fix from the previous commit.
Avoid re-closing a circulation that was re-opened during checkin because
it acquired a non-zero balance. This is typically caused by, for
example, voiding a lost item fee during checkin and/or generating
overdues for lost-then-found items.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Jason Stephenson [Tue, 11 Apr 2017 14:52:09 +0000 (10:52 -0400)]
LP 1665933: Skip XUL staff client build in make_release.
Add a -x option to skip building the XulRunner staff clients. This is
useful for making custom tarballs for local installation where you
will build the staff client on the server.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Ben Shum <ben@evergreener.net>
Mike Rylander [Thu, 9 Mar 2017 20:26:44 +0000 (15:26 -0500)]
LP#1167541: Use Patron home org for pickup lib instead of staff's
When staff are placing a hold for a patron, we should use the patron's
preferred pickup location, and failing that, their home library rather
than the staff's home library.
To test
-------
[1] In the web staff client, search for a title to place
a hold request on, using a patron record
whose home library is different from the home library of
the staff member you are logged in as.
[2] Note that the pickup location defaults to the staff
account's home library.
[3] Apply the patch and repeat step #1. This time, the default
pickup library should be the home library of the patron.
[4] Set a preferred pickup location for the patron, then
repeat step #1. This time, the default pickup library
should be the preferred pickup location just set.
[5] Repeat steps #1-#4 using the XUL staff client; note that
for step #3, it will be necessary to rebuild the client.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Ben Shum [Tue, 21 Mar 2017 13:37:48 +0000 (09:37 -0400)]
Docs: README to include Debian for changing ownership of /var/lock/apache2
Minor tweak to also include Debian among distributions where it might
be necessary to change ownership of /var/lock/apache2 to opensrf user.
Previously this had been Ubuntu only issue, but has since been encountered
during new Debian installations.
LP#1586567 Always return Fund Years sorted descending
Currently, fund year selectors in Acq interfaces (at least Acq Admin ->
Funds, and Acq -> Load MARC Order Records) show the fund years in
database order. This commit adds a descending sort to the perl function
that retrieves fund years for those interfaces. It also removes the
unsuccessful attempt at sorting that was present in the dojo code.
Jason Etheridge [Wed, 2 Nov 2016 18:28:08 +0000 (14:28 -0400)]
lp1261835 stop colliding bill UI refreshes
for want of promises in Angular :)
population of the bill list in this implementation is asynchronous, but the rest
of the refresh action is not, and it's sadly being invoked multiple times. There
are different ways to fix this, but using a semaphore seems to work.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Wells [Wed, 2 Nov 2016 18:35:16 +0000 (14:35 -0400)]
LP#1175293 Use filtered fund dropdown in funding source interface
The exising interface for allocating to funds from a funding source
view lists all funds by code only. Since many (most?) orgs reuse
fund codes year to year, you eventually end up with a bunch of
dupes you cannot tell apart.
Let's "borrow" an AutoFieldWidget to do the heavy lifting of creating
a filtered list of active funds, and include the year for further
user validation.
This is inspired by a few other fund dropdowns, but may not be the
best overall solution.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Tue, 28 Feb 2017 16:33:25 +0000 (11:33 -0500)]
LP#1668682 Checkout holds fullfill ignores expire time
Checking out a hold-captured item for a hold whose expire time is in the
past, but has not yet been canceled by the hold targeter, now marks the
hold as fulfilled.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
The SuperCat transform methods for records retrieved by record ID or ISBN call
toString on the XSLT output object, which results in a byte string and thus
corrupted output. Instead, call output_as_chars() on the stylesheet object to
generate a character string and avoid corruption.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
In moving from the deprecated XML::LibXSLT::output_string() to output_as_chars(),
add a regression test to ensure that we do not suffer from corrputed encoding
output in the future.
We test both the case where an output encoding has been explicitly declared,
as well as the case where an output encoding has not been explicitly declared.
It was this subtle difference that was causing the problem with output_string().
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Scott [Fri, 3 Mar 2017 06:40:19 +0000 (01:40 -0500)]
LP#1442276 Prevent corrupted Unicode chars in MARCTXT and RIS
The MARCTXT and RIS feeds use the deprecated XML::LibXSLT::output_string()
method which, depending on the stylesheet, generated either a byte string
or characters. Using output_as_bytes() ensures it is always a byte string
and avoids the resulting MARCTXT and RIS output from corrupting Unicode
characters.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
The XML::LibXSLT::output_string() method was deprecated in favour of
output_as_bytes() and output_as_chars(). The latter always generates
UTF8 output as characters, which is what we need, while output_string()
behaviour depended on the stylesheet.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bower install was grabbing a later version of angular-cookies than we wanted,
resulting in errors when attempting to build the web client. Changing a
caret to a tilde in the bower.json files keeps us to a 1.5.x version of
angular-cookies, making web client builds happy.
Many thanks to Ben Shum for finding the solution to this problem!
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <ben@evergreener.net>
Conflicts:
Open-ILS/web/js/ui/default/staff/bower.json
Jeff Davis [Fri, 27 May 2016 20:10:29 +0000 (13:10 -0700)]
LP#1576435: Include inactive patrons on patron reg duplicate search in web client
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jeff Davis [Sun, 24 Apr 2016 02:12:27 +0000 (19:12 -0700)]
LP#1576435: Force "Include inactive patrons?" on patron reg duplicate search
In the XUL client, duplicate patron checking in the patron registration
interface now includes inactive patrons (see LP#1217052). However, if
you click on the link "Found X patron(s) with the same name," the
resulting patron search does not always include inactive patrons by
default (instead, the value of the "Include inactive patrons?" checkbox
is cached from your last patron search, as usual).
To prevent user confusion in this scenario, this commit forces the
linked patron search in the XUL client to always include inactive
patrons.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Scott [Wed, 22 Feb 2017 16:29:21 +0000 (11:29 -0500)]
LP1584891: Export MARC holdings with UTF8 subfields
The --items option of marc_export adds a new MARC 852 field with a
number of subfields that it retrieves from the database. If those
subfields (such as call number, copy location, etc) contain Unicode
characters, then we need to decode the incoming UTF8 characters
when adding the subfield values to avoid corrupting the MARC.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Galen Charlton [Fri, 24 Feb 2017 23:04:29 +0000 (18:04 -0500)]
LP#1667835: avoid edi_fetcher.pl crash upon fetching zero-length file
This patch fixes an issue that could cause edi_fetcher.pl to crash
if the EDI partner supplies a zero-length file for Net::FTP to
download; such files are now skipped.
Testing would entail setting up an FTP server that contains a
zero-length file, then setting up an EDI remote account and
using edi_fetcher.pl to try to retrieve the file.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Boyer [Mon, 13 Feb 2017 21:59:01 +0000 (16:59 -0500)]
LP1371772: Correct Escape of Library Info URL
Using the url filter in TT2 causes named anchors to
be escaped in such a way that urls including them
will likely return a 404. Since the url is being
used in an html document, the html filter is
sufficient and allows the url to work as intended.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Michele Morgan [Tue, 7 Feb 2017 18:21:48 +0000 (13:21 -0500)]
LP#1661754 - Prevent staff users from marking a Long Overdue item Lost
Prevents circulations that are already Lost or Long Overdue from being
marked Lost or Long Overdue. Avoiding patrons being billed twice for the
same item.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Tue, 14 Feb 2017 15:53:54 +0000 (10:53 -0500)]
LP#1662902: do not re-download EDI files that failed parsing
Avoid fetching and creating edi_message entries for EDI messages that
the system cannot parse.
In the event parsing failed due to a temporary condition (e.g. Ruby
translator was not running), messages can be reprocessed by either
deleting the offending edi_message row or setting its status to 'retry'.
See previous commit ("LP#1662902: do not re-download EDI files that
failed processing") for a more detailed explanation.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Thu, 9 Feb 2017 17:24:35 +0000 (12:24 -0500)]
LP#1662902: do not re-download EDI files that failed processing
At present, the EDI fetcher ignores files (as determined by file
name and EDI account details) that were already successfully
processed. With this patch, ones that failed processing (e.g.,
acq.edi_message.state = 'proc_error') previously are ignored
as well.
This is because most processing errors reflect conditions that
require some sort of manual intervention on the part of the materials
vendor or the Evergreen user; having edi_fetcher.pl simply redownload
and attempt to process the file has no effect other than causing
the acq.edi_message table to grow.
With this patch, the appearance of rows in acq.edi_message whose
state is 'proc_error' should be taken as a signal to the Evergreen
admin to investigate and resolve whatever issue caused the
message to not be processed; after doing that, removing the
acq.edi_message rows will allow the file to be downloaded again
(assuming it's still available on the file server).
To test
-------
[1] Arrange to create or simulate an EDI message that failed
processing.
[2] Run edi_fetcher.pl to have it attempt to download the
failed message in step #1; verify that the file is
/not/ downloaded again and that no additonal acq.edi_message
rows are created for it.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Unprivileged users can retrieve organizational unit setting values
for setting types lacking a "view" permission. When the feature adding
Stripe credit card processing was added, the upgrade script neglected to
add the VIEW_CREDIT_CARD_PROCESSING permission to the organizational unit
setting type (which was included in 0396.data.org-setting-payflowpro.sql).
Fresh installs are not affected, but anyone who upgraded through 0863.data.stripe-payments.sql
(included in the 2.5.3-2.6.0-upgrade-db.sql version upgrade script) and is
using Stripe credit card processing should run this script.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
To test
-------
[1] Apply patch.
[2] In public catalog, add one or more bibs to the temporary
list ('My List').
[3] Click the 'View List' button, then verify that the titles
are displayed.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Stephenson [Tue, 22 Nov 2016 19:35:58 +0000 (14:35 -0500)]
LP 1473054: No-op Checkin Should Not Always Float a Floating Copy.
Prior to this patch, a no-op checkin would not check if a copy should
float using the evergreen.can_float() function. It would simply float
the copy to the org_unit where the checkin happened if the copy had a
float value set.
This commit changes the behavior to use evergreen.can_float() to
determine if the copy should float to the org_unit where the checkin
happened. This change makes the behavior consistent with a regular
checkin.
To address the concerns from this bug, backporting the tpac language files
before changes in master template for 2.12 forces us to drift too much to
allow for smooth sync.
Signed-off-by: Ben Shum <ben@evergreener.net> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Chris Sharp [Mon, 5 Dec 2016 22:46:02 +0000 (17:46 -0500)]
LP#1643932 - Fix search slowness when patron searching by username
Bug 1501781 introduced a feature to improve patron name searching,
but which was causing very slow queries when searching by username.
Adding an index to username solves the slowness problem.
Suggested by Mike Rylander.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
This patch fixes a regression introduced in 2.11 that had
the effect of making the stock Full Overlay merge profile
act like a match-only merge that also updates the bib source.
To test
-------
[1] After applying the patches, verify that the Full Overlay
merge profile now fullly updates the target bib record.
Bill Erickson [Tue, 3 Jan 2017 16:59:26 +0000 (11:59 -0500)]
LP#1653742 Copy tree authoritative API share cstores
Avoid opening one cstore connection per requested org unit in the
open-ils.cat.asset.copy_tree.retrieve.authoritative API by creating a
single shared cstore connection at the top of the API shared by all
API actions.
Kathy Lussier [Fri, 6 Jan 2017 16:13:26 +0000 (11:13 -0500)]
LP#1654534: Prevent loop that occurs when staff us 'place another hold' link
A hidden field that tracked the page the user was on before placing a hold was
inadvertently removed in another bug fix. As a result, if staff used the link
to place another hold on the same title, they were stuck in a loop where they
couldn't return to the source page after hitting the 'continue' button. This
commit restores that hidden field.
Also provides a fix so that hold labels used in the place another hold link
can be translated.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <ben@evergreener.net>
Precat checkout in the browser client no longer
requires the use of a circ modifier(when circ
modifiers exist). Similarly, no circ modifier
is chosen by default.
Mike Rylander [Tue, 31 Jan 2017 17:35:05 +0000 (12:35 -0500)]
LP#1660059: Protect against null value in group field
If a nullable event grouping field is configured, and a null value is indeed
encountered when pulling together events, the Action/Trigger code will exit
unceremoniously. To prevent this, we will now collect events with either
a null grouping object or grouping field, and use a new batch invalidation
API call to get rid of them as quickly as possible after group sorting is
complete.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Change references of nonexistant scope variable args.date
to args.due_date, enabling edit due date to correctly
submit.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Changes to be committed:
modified: Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js
Mike Rylander [Wed, 25 Jan 2017 17:33:24 +0000 (12:33 -0500)]
LP#1657885: Inform Vandelay of new chunking/bundling logic, part deux
Here we conditionally use the old "max_chunk_count" method provided by OpenSRF
when Evergreen is running atop a version that doesn't know about the bundling
rename.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Wed, 25 Jan 2017 15:56:23 +0000 (10:56 -0500)]
LP#1657885: Inform Vandelay of new chunking/bundling logic
There is a naive attempt to force immediate streaming of results in Vandelay
for certain processes, but it both only helps a little, and breaks under the
new OpenSRF bundling/chunking logic. So, we'll drop it where it's not
directly configurable, and test for the appropriate features where we can.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Thu, 19 Jan 2017 20:54:53 +0000 (15:54 -0500)]
LP#1657885: Account for new bundling/chunking logic in OpenSRF 2.5+
When chunking was renamed bundling and actually chunking added in OpenSRF 2.5,
the few places in Evergreen that tried to make use of the old mechanism
directly now break. The most obvious breakage is in the alternate printable
hold pull list, which we fix here. Evidence of other broken code should
be fixed as needed, though spots to look our for are z39.50 results and
Vandelay processing.
To test:
1) In Evergreen 2.11 running on top of OpenSRF 2.5+, attempt to use the
alt pull list printing interface at a location with many holds on their
pull list. The progress bar will spin forever.
2) After applying this patch, do the same. The interface should work
quickly.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
We fixed the trigger that caused the problem in bug 167237, but now we need
to rewrite reporter.hold_request_record because T-holds are probably all
wrong. No data was lost, we're just addressing the contents of a materialized
view.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Galen Charlton [Tue, 17 Jan 2017 21:58:39 +0000 (16:58 -0500)]
LP#1657282: fix redirect of one-hit metarecord searches
This patches fixes a bug where, when performing a metarecord
("Group Formats and Editions") search, one-hit result sets
get redirected to a "/eg/opac/record/0.0..." page, which
results in a "Bad Request" error being shown to the user.
To test:
[1] Perform a metarecord search that would result in exactly
one metarecord search. Observe that the browser displays
a "Bad Request" error page.
[2] Apply the patch and perform step 1 again. This time, the
search should succeed. Note that if the metarecord contains
more than one component, a results page with one grouped
hit is displayed; if the metarecord has exactly one component,
that bib's record page is displayed.