3 features:
- adds social network information in search results
- adds babeltheque data in opac-detail
- adds social network links in opac-detail too (google+, twitter, mail
and co.)
This lays the foundation for further changes for report 7310.
Implements following points from the wiki page List permissions:
1) Preference that controls if users may create public lists in opac.
2) New add/delete own/delete other permissions per list.
Code has been changed (in some cases refactored). New permissions are not yet visible; with this patch current functionality is kept as much as possible while resolving several issues, improving permissions and extending the code for further developments (using the new permissions and sharing lists).
Feb 23, 2012 (revision): Changed defaults for new lists. Could also remove routine GetRecentShelves by using GetSomeShelfNames in catalogue/search.pl just as opac-search.pl already did. (More consistent.)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Feb 29, 2012: Automerge version.
March 5, 2012: Rebase for pushed 4912 patch.
March 21, 2012: Rebased. Resolving some conflicts in relation to pushed report 7719.
Removes the textmessaging parameter from opac/opac-main.pl and
opac/opac-user.pl, since it's not utilized anywhere in the templates, and is
sourced from a field that no longer exists in the borrower
table (textmessaging).
This also removes a dependency on C4/Members.pm from opac-main.pl
To Test: Login to the OPAC, and view both opac-user.pl and opac-main.pl. Both
pages should still render properly.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
New sql tables:
- oai_sets: contains the list of sets, described by a spec and a name
- oai_sets_descriptions: contains a list of descriptions for each set
- oai_sets_mappings: conditions on marc fields to match for biblio to be
in a set
- oai_sets_biblios: list of biblionumbers for each set
New admin page: allow to configure sets:
- Creation, deletion, modification of spec, name and descriptions
- Define mappings which will be used for building oai sets
Implements OAI Sets in opac/oai.pl:
- ListSets, ListIdentifiers, ListRecords, GetRecord
New script misc/migration_tools/build_oai_sets.pl:
- Retrieve marcxml from all biblios and test if they belong to defined
sets. The oai_sets_biblios table is then updated accordingly
New system preference OAI-PMH:AutoUpdateSets. If on, update sets
automatically when a biblio is created or updated.
Use OPACBaseURL in oai_dc xslt
If the book is due at 23:59 the due time is irrelevant
and potentially confusing to the user add a DateUtils
routine that strips that off the returned display date
Adds the ability to perform advanced searches in both the OPAC and staff client on more than
a single AdvancedSearchType at a time. Support included for Itemtype, Collection Code and Shelving Location.
AdvancedSearchTypes syspref preference is repurposed; no longer a single value, it can now take
multiple item code fields separated by "|". The order of these fields will determine the order
of the tabs in the OPAC and staff client advanced search screens. Values within the search type
are OR'ed together, while each different search type is AND'ed together in the query limits. The
current stored values are supported without any required modification.
Each set of advanced search fields are displayed in tabs in both the OPAC and staff client. The
first value in the AdvancedSearchTypes syspref is the selected tab; if no values are present, "itemtypes"
is used. For non-itemtype values, the value in AdvancedSearchTypes must match the Authorised Value name, and
must be indexed with 'mc-' prefixing that name.
<li> elements in tab are assigned unique IDs, so the text of the tab can be altered to match the
library's needs (using JQuery)
The logic to handle the 5 element row limit has been moved from the Perl to the templates, since Template::Toolkit
has a simple method for extracting the count of an element in a loop and performing 'modulus' on it.
2011-12-21: Incorporated changes recommend by Owen Leonard on bug report.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Changing "CanBookBeIssuedCheckout" to "CanBookBeIssued"
To test, try to renew an item which has no renewals left. Before the patch
you'll get an error:
Undefined subroutine &main::CanBookBeIssuedCheckout called at /opac/sco/sco-main.pl line 135.
After the patch you'll get the correct message about having no renewals left.
Other tests: checking out a barcode which doesn't exist, checking out an
item which is on hold for another patron.
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works as advertised. Amended this patch for a small spelling issue: supress->suppress. Could not suppress it ;)
This patch adapts the patron image display script from the
self-checkout module to optionally display the image of the
logged-in user on their personal information page (opac-userupdate.pl).
The script changes the method choosing which image to display
from using a passed cardnumber to using the borrowernumber of
the logged-in user.
A system preference is added, OPACpatronimages, to control
whether these images are displayed.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Verified that patron image shows only when system preference is turned on
and that there are no display problems for patrons without patron image.
Adding a few choices for what information can be displayed
alongside comments in the OPAC:
- nothing
- full name
- first name
- last name
- first name and last name first initial
- username
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Tested by choosing each choice and previewing an individual title
with a comment and confirming the name was displayed properly. Then
choosing each option and prevewing the recent comments page.
All tests passed.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Ran all tests again and it works as explained.
"Add to Cart" links in the OPAC should reflect whether a title
is already in the Cart. On the results, list, and detail pages
the "Add to Cart" link will say "In your cart (remove)" if the
title is in your cart. The "(remove)" link will remove the title.
This patch adds a check of the biblionumbers in the cart to the
relevant scripts and sets a variable for the template governing
whether to show "Add to cart" or "In your cart."
Pages to test:
- the search results page
- any detail page (normal, MARC, ISBD)
- any list contents page (/cgi-bin/koha/opac-shelves.pl?viewshelf=XX)
Situations to test:
- Add a single item to the Cart from the above pages
The link should change from "Add to cart" to "In your cart (remove)"
The count of items in your cart should reflect the addition, and the
notification box should appear.
- Remove a single item from the Cart from the above pages
The link should change from "In your cart (remove)" to "Add to cart."
The count of items in your cart should reflect the removal, and the
notification box should appear.
- View an item which is already in the cart from the above pages
The cart links should reflect whether the title is already in the cart.
- Remove one or more items from the Cart via the cart pop-up window
View the above pages as you do so to verify that the operation is
reflected immediately by the state of the "in your cart" links.
- Empty the Cart from the cart pop-up window
View the above pages as you do so to verify that the operation is
reflected immediately by the state of the "in your cart" links.
Tested in Firefox 9, Chrome 16, IE 7, and Opera 11.6 on Win 7
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Adds a new placeholder {ISSN} to the system preference SearchForTitleIn.
For a record with multiple ISSNs only the first ISSN will be used.
Addition: Makes a small change to GetMarcControlnumber so that it checks for
NORMARC too. If you set your system preference to NORMARC, it should output
{CONTROLNUMBER} correctly now.
For testing add following code to the system preference and check output
of SearchForTitleIn for different records in your OPAC and all 3 available
views (normal, MARC and ISBD):
<li>ISSN: {ISSN}</li>
<li>ISBN: {ISBN}</li>
<li>001: {CONTROLNUMBER}</li>
Patch also includes some unit tests:
perl t/db_dependent/Biblio.t
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Tested with marcflavour = NORMARC, on one book and one periodical record.
* Book
- Before the patch:
ISSN: {ISSN}
ISBN: 0375726446
001:
- After the patch:
ISSN:
ISBN: 0375726446
001: 022976914
* Journal
- Before the patch:
ISSN: {ISSN}
ISBN:
001:
- After the patch:
ISSN: 1890-6931
ISBN:
001: 080721370
Looks good in all 3 views! Thanks for fixing the 001 thing for NORMARC!
Also tested with marcflavour = MARC21, on the same records with the same good
results. Signing off!
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Tested marcflavour= UNIMARC, works fine too
While it should be impossible now to have a patron without expiry date, I still had one. It does not hurt to add a simple check on expiry date defined before calling delta days on null values and breaking the opac login.
Trivial change.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested by deleting the expirydate from my own patron record.
Missing expiry date now no longer breaks the summary page
in the patron account on OPAC.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
C4::Branch is used only in CheckItemPresave, moving from a use to a require in the sub
C4::Reserve:
This package is loaded just for C4::Reserves::CheckReserves called in C4::Items::GetItemsInfo
The GetItemsInfo stores the result of CheckReserves in a hash entry, count_reserve, that is used only in opac_detail to display the status of a hold. We could remove the reserve_count hash entry and inline C4::Reserves::CheckReserves directly from opac-detail.pl page
in opac-detail.pl, instead of
if( $itm->{'count_reserves'} eq "Waiting"){ $itm->{'waiting'} = 1; }
write :
if ( C4::Reserves::CheckReserves(<<parameters>>) eq "Waiting"){ $itm->{'waiting'} = 1; }
C4::Acquisition is used only in MoveItemFromBiblio, a sub that is rarely called. Moving from a use to a require in the sub
C4::Charset is used only in _parse_unlinked_item_subfields_from_xml. Moving from a use to require in the sub
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Checked opac-detail and cataloging. Code looks good.
This removes the dependency on Date::ICal (which is largely
unmaintained) and replaces it with DateTime::Format::ICal which can do
the same job. It also updates all the docs and installation scripts to
handle this change.
Note that this causes a minor behaviour change: previously the generated
times were converted to UTC, now they are left "floating" (that is, have
no timezone attached) and so will appear as the local time when imported
into a calendar. I don't anticipate this'll cause any issues however.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch standardizes the condition under which renewal controls
are displayed at the page (as opposed to item) level. In some
places "canrenew" was used, in others "patron_flagged" was used.
Now "canrenew" controls renew controls and "patron_flagged" only
triggers the display of user warnings.
This patch also allows for renewal information to be displayed
for each item in situations where OPAC renewals are allowed but
disabled for whatever reason. This gives the patron information
about used/available renew counts but hides renew controls.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
NOTE: Patch depends on changes made for bug 7345 for the "marcstd" option.
It adds a new system preference 'OpacExportOptions':
The new system preference allows to give a list of | separated
values to define, which download options are offered in OPAC.
Possible options are listed in the system preference editor
and include the new export option 'marcstd' from bug 7345.
The sequence of the download options in the system preference will
be the sequence in the OPAC pull down.
If left empty, the export option will be hidden from OPAC.
This patch creates a new include file for the OPAC with all the
code that is common to the three detail views (regular, MARC, and
ISBD).
As a side effect of creating this include file, some inconsistencies
in OpacSearchForTitleIn were fixed. {BIBLIONUMBER} and {CONTROLNUMBER}
were broken for ISBD and MARC view before and should now be replaced
with the correct values in all tabs.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Resolved merge conflicts on sysprefs.sql and updatedatabase.pl.
Feb 13, 2012: Rebased it again.
Add an option for marcstd to the opac-export.pl and catalogue/export.pl
scripts. This new format removes all 9XX, X9X, XX9 fields and subfield $9
(with the exception of 490 in flavours of MARC other than UNIMARC). The work is
done in C4::Record::marc2marc.
This patch adds the new export option 'marcstd' for exporting MARC
records without 9xx, x9x and xx9 fields and subfields to the staff
detail page.
Testing plan:
1. Export a record in "MARC (Unicode/UTF-8)" format as a control
2. In the OPAC, run the following jQuery to add the marcstd option to the UI:
> $("#export #format").append("<option value='marcstd'>MARC (no 9xx)</option>");
3. Export the same record in "MARC (no 9xx)" format
4. Compare the two, noticing that any subfield $9 or fields including 9 (other
than 490 in flavours of MARC other than UNIMARC) have been removed
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works as advertised now.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch squashes both the original patch and Katrin's follow-up adding
marcstd as an export option on the staff client.
Feb 13, 2012 (marcel): Amended this patch to resolved two definitions of $error in catalogue/export script.
Observe AllowItemsOnHandCheckout syspref when using SIP self checkout
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
To test:
* place an item on hold for patron A
* attempt to circulate that item to patron B (via SIP/selfcheck)
syspref off: item should not circulate to patron B
Syspref On: item should circulate to patron B
Both conditions passed in our testing.
Also verified that normal staff client behavior regarding this situation was preserved. It was.
Made opac-addbybiblionumber.pl page require authentication.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Changed searchResults() interface
Added trailing \n when parsing OpacHiddenItems to make YAML happy
XSLTParse4Display() and buildKohaItemsNamespace() take hidden
items as input param
Removed numbering from the search results, looks wrong with
hidden items
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
use encoding(UTF-8) rather than utf-8 for stricter
encoding
Marking output as ':utf8' only flags the data as utf8
using :encoding(UTF-8) also checks it as valid utf-8
see binmode in perlfunc for more details
In accordance with the robustness principle input
filehandles have not been changed as code may make
the undocumented assumption that invalid utf-8 is present
in the imput
Fixes errors reported by t/00-testcritic.t
Where feasable some filehandles have been made lexical rather than
reusing global filehandle vars
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
* Show the "Upload images" button when OPACLocalCoverImages is enabled but
LocalCoverImages (i.e. local cover images on the staff client) is not
* Correct copyright and license comments in new files
* perltidy and replace tabs by four spaces
Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch corrects the bug spotted by Owen Leonard where the Images tab was
showing up even for records that didn't have local cover images attached to
them. The tab is now hidden on the OPAC for records that don't have any
images. In the Intranet, an Images tab will show for staff with permission
to upload images, suggesting that they do so. For staff without that
permission, the tab is not shown.
This permission also disables returning images via the opac-image.pl and
catalogue/image.pl scripts when local cover images have been disabled.
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>
OPAC Template revisions:
- Revised OPAC imageviewer template to match structure of
other OPAC pages (with masthead search, footer, etc)
- Added link back to detail page (controlled by
BiblioDefaultView preference)
- Added link style to thumbnails on opac-detail to add a sense of
"clickability" to them
- Revised OPAC imageviewer template to allow it to function
with JavaScript turned off. Now even without JS main image
will load, thumbnails will be properly styled, and thumbnail
links will work.
- Changes to the script are only to pass missing variables
to the template
TODO: Corresponding changes for the staff client
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>
This patch adds display of local cover images in the following places:
1. OPAC Results page
2. OPAC Details page
3. Separate image viewer page for the OPAC
4. Intranet Details page
5. Separate image viewer page for the Intranet
Display in the Details and (OPAC) Results pages is handled via Javascript
rather than via direct embedding, to better handle the situation where most
records have local cover images, but a few do not.
Local cover images do not currently display in the Intranet Results page
How to use/test :
Assign user permission to the user Tools > (upload_local_cover_images Upload
local cover images). In order to upload local images, login to the staff
client. Go to Home > Tools > Upload Cover Images. Here you can upload cover
images either singly or in bulk in the form of a zip file. If uploading
singly, click on image file, browse the image from your local disk, type in
the biblio number of the catalogue entry and press upload. If uploading in
bulk as a zip file, the zip file must contain (in addition to cover images)
one text file named either datalink.txt OR idlink.txt. This file should
have mapping of biblionumber to image file name in the zip one per line
with comma or tab as delimiters. For example:
1, scanned_cover_image_of_bib_no_1.jpg
2, scanned_cover_image_of_bib_no_1.jpg
Cover images will be resized to a large image of 800x600 and a thumbnail of
200x140. Depending on the setting of AllowMultipleCovers, it is possible to
upload multiple images for a single bibliographic record. However, even if
multiple covers are permitted, you have the option of replacing the existing
covers by checking the "Replace existing covers" option on the upload screen.
1. The patch adds a menu link in Tools from where you can upload local cover
images
2. It adds a user permission to enable access control to this menu item under
Tools
3. It adds a system preference OPACLocalCoverImages under Enhanced Content.
This needs to be turned on to show local cover images in OPAC.
Once you have uploaded local images, if you search for the biblio, the local
cover should show up in search as well as search detail pages in the OPAC, and
the details view in the Intranet.
Koustubha Kale is working on another patch which will allow us to set a cover
image source priority in system preferences, and which will then gracefully
fail over to the next source if image is not available from the first choice
source.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>
Rebased the patch because it was failing with koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css due to changes pushed in master.
Applies cleanly now.