This patch sort by rfc4646_subtag the languages in the footer.
Same as in the header.
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Addresses Katrin's comments in comment# 56
TEST PLAN
---------
1) Back up your DB
2) Ensure you have multiple languages, including
some that have sub-languages (e.g. de-DE, de-CH)
-- cd misc/translator
-- perl translate install {language code}
3) Ensure that you have all the languages enabled
-- Staff client -> Home -> Global system preferences
--> I18N/L10N
Check all the languages in opaclanguages.
Ensure that opaclanguagesdisplay is 'Allow'
4) Open OPAC
-- should only have languages in footer.
Annoyingly below the fold.
5) Drop your koha database, and create a blank one.
6) Apply all patches
7) Reinstall all the known languages, so the templates
are appropriately updated.
8) Go to staff client and do an install of koha, with
all the dummy data.
9) Ensure you have all the languages enabled (see (3))
10) Refresh your OPAC page
-- language selector position should be in both
the footer and at the top as expected.
-- this confirms the sysprefs.sql change.
11) Restore your DB
12) run the updatedatabase.pl script
13) Ensure you have all the languages enabled (see (3))
14) Refresh the OPAC page
-- should still only have languages in the footer.
-- this confirms that upgrade won't change anything.
-- this confirms the atomic update.
15) git diff origin/master
-- the opac-bottom.inc difference should only
have changes around a SET, IF, and END.
This confirms the noprint was fixed.
16) In the staff client, change the OPAC system preference,
OpacLangSelectorMode, to all three values.
For each value, refresh the OPAC page, and confirm the
position of the language selector.
-- should work as expected.
17) run koha qa test tools
NOTE: Tested as a single batch together.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
TEST PLAN
---------
0) Back up your DB
1) open OPAC
-- should only have languages in footer.
Annoyingly below the fold.
2) Drop your koha database, and create a blank one.
3) Apply all patches
4) Go to staff client and do an install of koha, with
all the dummy data.
5) Once installed, refresh your OPAC page
-- language selector position should be in footer
still as expected.
-- this confirms the sysprefs.sql change.
6) Restore your DB
7) run the updatedatabase.pl script
8) Refresh the OPAC page
-- should still only have languages in the footer.
-- this confirms that upgrade won't change anything.
-- this confirms the atomic update.
9) git diff origin/master
-- the opac-bottom.inc difference should only
have changes around a SET, IF, and END.
This confirms the noprint was fixed.
10) In the staff client, change the OPAC system preference,
OpacLangSelectorMode, to all three values.
For each value, refresh the OPAC page, and confirm the
position of the language selector.
-- should work as expected.
11) run koha qa test tools
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Indranil Das Gupta (L2C2 Technologies) <indradg@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Based on Mark's inputs in comment #40 -
[1] selected 'mast' (short of 'masthead') and updated :
(a) bug_14252-OpacLangSelectorMode_syspref.sql
(b) sysprefs.sql
(c) opac.pref
[2] Reduced the calls to Koha.Preference() from :
(a) masthead.inc
(b) opac-bottom.inc
After applying this patch, update the database once for it to pick
up the new option values -'both|mast|foot'.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Based on discussion, this followup does the following:
1/ brings back the switcher on opac-bottom.inc
2/ adds a syspref OpacLangSelectorMode to toggle between the three
modes:
(a) show switcher both on masthead and footer (default)
(b) footer only
(b) masthead only
Test plan
=========
1/ apply earlier patches attached to this bug in their correct order
2/ apply this followup patch
3/ run updatedatabase.pl to add in the atomic update
4/ goto admin/preferences.pl?tab=opac
5/ look up OpacLangSelectorMode, it should be set with default value
"both masthead and footer"
6/ check OPAC to see if both locations show the selectors
7/ change OpacLangSelectorMode to 'only header' and 'only footer' at
each iteration, and check if the selection has correctly toggled
the selectors. It should
Note: make sure you do not have the patch 11057 applied on the branch
from before, otherwise merge conflict might happen.
http://bugs.koha-community.org/show_bug.cgi?id=14252
Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The OPAC language switcher takes up a lot of space at the bottom of the
browser. It also has issues of being not always visible.
This patch adds the switcher to the masthead navbar and removes from the
opac-bottom.inc navbar.
Test plan
=========
1/ Apply patch
2/ Set opaclanguagesdisplay syspref to 'show'.
3/ Add a few languages i.e. es-ES, fr-FR and de-DE
$ cd misc/translator
$ perl translate <langcode>
4/ Enable installed languages for OPAC use by checking on 'opaclanguages'
under I18N/L10N sysprefs
5/ Go to the OPAC, you should have a "Languages" dropdown on the masthead
navbar, the opac-bottom.inc navbar should no longer be there.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works, no koha-qa errors.
Followup fix language chooser for sublanguages
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan:
Same as previous patch for opacuserjs
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
NOTE: Worked before and after updatedatabase.pl, though after
is less confusing to the programmer unaware of case-insensitivity.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This proposed followup adds a 'Coce' syspref so it is consistent with
the rest of the enhanced content providers sysprefs (also, there's no
point making the user delete its configuration if disabling his Coce
integration for testing purposes, for example).
It also changes the CoceProviders syspref so it is a 'multiple' type
syspref. It puts some sensible descriptions to the options too.
Feel free to discuss this followup, it is just an idea!
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
- OK for the 'Coce' syspref: it's sensible to distinct configuration
from enabling/disbaling the service.
- OK also for the multichoices systempreference. If a new service
popup, it won't be difficult to amend the .pref file.
Add to Koha support for displaying Book cover requested to Coce, a
remote image URL cache:
https://github.com/fredericd/coce
With this enhancement, cover images are not fetched directly from
Amazon, Google, and so on. Their URL are requested via a web service to
Coce which manages a cache of URLs.
Three cover image providers are now available: Google Books (gb), Amazon
(aws), and Open Library (ol). Two system preferences enable this service:
- CoceHost - URL of Coce server
- CoceProviders - Ordered list of requested providers. For example
gb,aws,ol, will return the first available URL from those providers.
Several advantages to this architecture:
- If a book cover is not available from a provider, but is available
from another one, Koha will be able to display a book cover, which
isn't the case now
- Since URLs are cached, it isn't necessary for each book cover to
request, again and again, the provider, and several of them if
necessary.
- Amazon book covers are retrieved with Amazon Product Advertising
API, which means that more covers are retrieved (ISBN13).
Test plan:
- Apply this patch, and test with 'Bootstrap' themes
- You can verify that nothing has changed on OPAC result and detail
page, since new syspref haven't been filled
- Install Code: https://github.com/fredericd/coce
Or ask me directly for the URL of a Coce server
- In sysprefs, tab Enhanced content, modify:
CoceHost -- enter the URL of your Coce server
CoceProviders -- fill with: gb,aws,ol
- Do a search. On result page, and detail page, you will see cover
images originating from the 3 providers: fly over the image to see its
URL. Try to compare with a Koha with just GoogleJacket or Amazon cover
to confirm that you have more images. Verify that it's quick, and even
quicker for cached images URLs.
- Check that Browse Shelf functionnality works properly.
- The ID sent to Coce is EAN or ISBN. Try with various type of biblios. DVD
have often EAN, but no ISBN.
- You can try with those sysprefs:
CoceProviders: aws,gb
CoceHost: http://coce.tamil.fr:8080
and this EAN (or ISBN): 3333297517744
=> OPACAmazonCoverImages enabled doesn't display a cover because, it's a DVD
=> Coce find and display the DVD cover.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Amended patch: replaced 1 tab with spaces in C4/Shelfbrowser.pm
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch introduces a new class "noprint" in koha-tmpl/opac-tmpl/bootstrap/css/print.css
With this class, unwanted elements can be hidden when printing.
To test:
In OPAC, do a search with many results (> 1 Page)
Print page or do a print preview
See that footer elements are not displayed correctly (as of screenshot in comment #1) and that on top of page 2 the language selector overlays the list
Apply patch
Repeat steps above.
Verify that printed page looks much nicer now by hiding unwanted elements (including e.g. RSS icon, toolbar etc.)
This mechanism can be used on other pages as well.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The OpenLibrary JavaScript includes an untranslated string, "Preview."
This patch move the string to the template so that it can be translated.
To test, apply the patch and test that the translator picks up the
string:
1. From misc/translator run 'perl translate update [lang]' (e.g. de-DE)
2. Edit misc/translator/po/[lang]-opac-bootstrap.po and add a
translation for the updated "Preview" string
3. Remove the "#, fuzzy" marker from that entry
4. From misc/translator run 'perl translate install [lang]'
5. Enable the [lang] translation for the OPAC in system preferences
6. Enable the OpenLibraryCovers system preference.
7. In the OPAC switch to the [lang] translation.
7. View the detail page for a title for which there is an OpenLibrary
cover image. Below it you should see a preview link with the
translated string you added in step 2.
Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch makes opacuserjs compatible with tracking tools like Piwik
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Small change to enable use of opacuserjs for statistical
tools like Piwik by moving it right above </body>.
Works as described.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The external JavaScript file which powers the OPAC Cart should not be
included twice. The correct instance is the one which comes after the
definition of MSG strings.
To test you must have the opacbookbag system preference turned on. In
Bootstrap OPAC, test adding some items to the Cart and confirm that Cart
operations work correctly.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Cart is still working as expected, passes tests and QA script.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The changes made by Bug 7720 ("Ambiguity in OPAC Details location")
broke the display of OPAC branch information tooltips by making changes
to the markup which the tooltip plugin needs to function.
This patch corrects the markup to enable tooltips to work again. This
patch also makes changes to Items.pm so that branch information tooltips
can be shown for both home and holding branches (which are optionally
displayed now via the changes by Bug 7720). Before this patch the
tooltip would always display the information for the holding branch
regardless of the OpacLocationBranchToDisplay setting.
This patch also changes the footer include, adding an alias for the
jQueryUI tooltip function to prevent conflict with Bootstrap's function
of the same name.
To test, you must have at least two libraries configured with "OPAC
info" for display in the OPAC.
Modify the holdings of a title so that there is at least one item which
has different holding and home branches matching your library configured
above.
View the detail page for that record under various values of the
OpacLocationBranchToDisplay system preference:
- "holding library" : The table of holdings should show a column for
only the holding library. Hovering your cursor over the library name
should display the branch information you configured for that library
in a tooltip .
- "home and holding library" : The table of holdings should show columns
for both home and holding library. Hovering your cursor over each
should show the corresponding library information tooltips.
- "home library" : The table of holdings should show a column for
only the home library. Hovering your cursor over the library name
should display the branch information you configured for that library
in a tooltip.
Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes QA script and tests.
Works with all settings of OpacLocationBranchToDisplay.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bootstap theme opac holding tab is improperly displayed when opacbookbag
syspref is disabled, and virtualshelf is enabled. This is due to the
fact that in this situation basket.js is loaded (for virtual shelves),
but some JS variables are not defined in template since opacbookbag is
disabled.
To reproduce this bug:
- Choose bootstrap OPAC theme
- Enable virtualsheves syspref
- Disable opacbookbag syspref
- Open a biblio record in OPAC detail page
- You will observe that items holding tabs are not displayed as tabs but
as a bulleted list
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes QA script and all tests.
Confirmed display problem exists without the patch and is solved by it.
Ideally we would avoid having the cart messages in the template when
the feature is deactivated, but this is ok for now.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
There is a problem with how an active single language is styled, making
the alignment look incorrect. This patch amends the markup and the CSS
to make it look better. This patch does not address the position of the
language menu.
To test you must have at least one additional single translation
installed. Apply the patch, refresh the page, and confirm that the
display of the active language is improved.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Improved view of current language. No koha-qa errors.
1) Downloaded a couple of xx-YY-bootstrap.po from
http://translate.koha-community.org/projects/314
2) Installed sample languages
3) Enable them and opaclanguagesdisplay
4) Checked correct alignment of selected language
Signed-off-by: Ed Veal <ed.veal@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
The selected language has not a padding, contrary to others.
Not perfect but it fixes the descripted behavior.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The goal of this theme is to provide a fully-responsive OPAC which
offers a high level of functionality across multiple devices with varied
viewport sizes. Its style is based on the CCSR theme, with elements of
the Bootstrap framework providing default styling of buttons, menus,
modals, etc.
The Bootstrap grid is used everywhere, but Bootstrap's default
responsive breakpoints have been expanded to allow for better
flexibility for our needs.
All non-translation-depended files are in the root directory of this new
theme:
css, images, itemtypeimg, js, less, and lib. Languages.pm has been
modified to ignore the new directories when parsing the theme language
directories.
This theme introduces the use of LESS (http://lesscss.org/) to build
CSS. Three LESS files can be found in the "less" directory: mixins.less,
opac.less, and responsive.less. These three files are compiled into one
CSS file for production: opac.css. "Base" theme styles are found in
opac.less. A few "mixins" (http://lesscss.org/#-mixins) are found in
mixins.less. Any CSS which is conditional on specific media queries is
found in responsive.less.
At the template level some general sturctural changes have been made.
For the most part JavaScript is now at the end of each template as is
recommended for performance reasons. JavaScript formerly in
doc-head-close.inc is now in opac-bottom.inc.
In order to be able to maintain this structure and accommodate
page-specific scripts at the same time the use of BLOCK and PROCESS are
added. By default opac-bottom.inc will PROCESS a "jsinclude" block:
[% PROCESS jsinclude %]
Each page template in the theme must contain this block, even if it is
empty:
[% BLOCK jsinclude %][% END %]
Pages which require that page-specific JavaScript be inserted can add it
to the jsinclude block and it will appear correctly at the bottom of the
rendered page.
The same is true for page-specific CSS. Each page contains a cssinclude
block:
[% BLOCK cssinclude %][% END %]
...which is processed in doc-head-close.inc:
[% PROCESS cssinclude %]
Using these methods helps us maintain a strict separation of CSS links
and blocks (at the top of each page) and JavaScript (at the bottom). A
few exceptions are made for some JavaScript which must be processed
sooner: respond.js (https://github.com/scottjehl/Respond, conditionally
applied to Internet Explorer versions < 9 to allow for layout
responsiveness), the _() function required for JS translatability, and
Modernizr (http://modernizr.com/, a script which detects browser
features and allows us to conditionally load JavaScript based on
available features--or lack thereof).
Another new JavaScript dependency in this theme is enquire.js
(http://wicky.nillia.ms/enquire.js/), which lets us trigger JavaScript
events based on viewport size.
I have made an effort to re-indent the templates in a sane way,
eliminating trailing spaces and tabs. However, I have not wrapped lines
at a specific line length. In order to improve template legibility I
have also tried to insert comments indicating the origin of closing tags
like <div> or template directives like [% END %]:
</div> <!-- / .container-fluid -->
[% END # / IF ( OpacBrowseResults && busc ) %]
TESTING
Proper testing of this theme is no easy task: Every template has been
touched. Each page should work reasonable well at a variety of screen
dimensions. Pages should be tested under many conditions which are
controlled by toggling OPAC system preferences on and off. A variety of
devices, platforms, and browsers should be tested.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>