Main Koha release repository https://koha-community.org
Find a file
Jonathan Druart 89ade834d6 Bug 24387: Rename "News" with "Additional contents"
One big patch for one big move.

The "News" feature (opac_news) has been hijacked to handle some system
preferences (bug 26050). The goal was to take profit of the UI (editor)
and the ability to translate the value.

Disclaimer: This patch is NOT offering the best implementation but, as
we still don't have bug 24975, it cannot be done now. And no, we don't
want to wait for it to move forward here. This patch is going into the
right direction anyway.

This enhancement is going to rename the "News" with a more genertic
"Additional contents". We have two different "categories" of content:
"news" and "html customizations".

What does it bring?
- A split on the UI for disambigate the two types of content (news and
syspref/html customizations)
- A simplification of the edit form: all languages will be translatable
on the same view (like the "notice templates")
- Ground will be prepared for different types of content (if needed later)
- Staff news can be translated

How was the "News" area working before this patch?
The opac_news DB table contained a (very inconsistent) 'lang' column.
The different values were:
- '' => news to display at the OPAC and staff interfaces
- 'koha' => news for staff only
- 'slip' => news for slip notices
- $lang => news for OPAC only, translated in $lang ('en', 'es-ES', etc.)
- "$location_$lang" => A syspref moved to this "news" area. The syspref
is $location, and is translated in $lang. Eg. OpacLoginInstructions_en,
OpacLoginInstructions_fr-FR, opacheader_es-ES

This patch is improving the DB structure with the following changes:
- renaming 'opac_news' with 'additional_contents'
- new 'category' column
 => 'news' or 'html_customizations'
- new 'location' column
 => For 'news': 'staff_and_opac', 'staff_only', 'slip'
 => For 'html_customizations': the old syspref name (eg. 'OpacLoginInstructions').
- new 'code' column (see later for more info)
- the 'lang' column will only contain the language code ('en', 'es-ES',
etc.). BUT a 'default' entry will ALWAYS exist for fallback behaviour.

We are getting closer to the 'notice template' table structure because
we want to match its UI. The 'code' column will bring us the ability to
group the different 'additional_contents' rows. The code for a given
news will be the same, but the (lang, title, content) will differ.
Examples:
  News 1 will have, for each of the translated versions
  (category, code,    location, branchcode)
  ('news',   'News1', $location, $branchcode||undef)
  And the 3 following columns will differ:
  (title,              content,               lang)
  ('title for news 1', 'content for news 1', 'default')
  ('titulo para 1',    'contenido para 1',   'es-ES')

Note that the "category" is not strictely necessary, but it seems better
to have the ability to split the different content by category/type
easily.

Additional changes:
- Syspref 'NewsToolEditor' is renamed 'AdditionalContentsEditor'
- Koha::NewItem => Koha::AdditionalContent
- Koha::News => Koha::AdditionalContents
- Script and template renamed from koha-news to additional-contents
- Foreign keys have been renamed
- Subpermission edit_news has been renamed edit_additional_contents
- The UI can now be accessed via a "News" or "HTML customizations" link
from the tools module. The related contents will then be displayed (both
categories are now split)

Changes not done here:
- Primary key 'idnew' could be renamed 'id'

Limitations of the upgrade:
News cannot be grouped by a unique code for existing translations.
=> A given news will be now displayed several times on the translated
interface
Any ideas to improve the upgrade behaviour?
We will have to add a warning in the release notes to tell libraries to
review their news.

Test plan:
0. Don't apply the patches
1. Translate the interfaces in some languages
. Create some news for staff and OPAC
. Create some content for different entry of HTML customizations
Note that you are forced to define a 'default'.
Also note that you are only forced to fill the title (not the content).
This is certainly problematic (see FIXME in the code) as sometime only
the content is displayed.
. Play with the interface (edit, delete, filter)
. Go to the different places the news are displayed, and confirm they
are displayed correctly (staff home, opac home, opac rss)
. Create 1+ news for 'slip', check an item out and 'print slip' (from
the circulation page). You must see the news.
. Go to the different places you are expecting the HTML customizations
to be present and confirm that you see them.
. Switch the lang of the interface and confirm that you now see the
content in the translated version
. Generate the templates in another language, don't translate the
content
. Use this language for the interface and confirm that the 'default'
version is displauyed.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-08-16 11:55:55 +02:00
acqui Bug 28640: Expose EDI Status on basket details page 2021-07-26 12:46:32 +02:00
admin Bug 28393: Elasticsearch - Add 050a to lc-call-number index mapping (MARC21) 2021-08-16 09:56:47 +02:00
api Bug 28842: A summary to the /items/:item_id/pickup_locations route 2021-08-16 09:56:35 +02:00
authorities Bug 17600: Add missing imports in authorities/ 2021-08-03 14:55:26 +02:00
basket Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
bin Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
C4 Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
catalogue Bug 12561: Change prototype of XSLTParse4Display 2021-08-16 09:57:05 +02:00
cataloguing Bug 28533: Set subfields to 'undef' if whole field request in itemcallnumebr system preference 2021-08-04 09:14:46 +02:00
circ Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
clubs Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
course_reserves Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
debian Bug 28749: Restore the database name to Koha dumps 2021-07-30 15:54:05 +02:00
docs Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
errors Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
etc Bug 25464: Add ability to specify client IP and SIP account used in SIP2 logging 2021-07-26 12:46:32 +02:00
ill Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
installer Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
Koha Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
koha-tmpl Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
labels Bug 17600: Fix POSIX imports 2021-07-29 14:37:26 +02:00
lib/CGI/Session/Serialize Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
members Bug 22435: Update accountline-details page to show all history 2021-08-04 14:06:43 +02:00
misc Bug 22435: Update for bug 27049 2021-08-04 14:06:43 +02:00
offline_circ Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
opac Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
patron_lists Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
patroncards Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
plugins Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
pos Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
reports Bug 28804: (bug 25026 follow-up) Handle SQL errors in reports 2021-08-11 12:00:10 +02:00
reserve Bug 28779: (QA follow-up) More specific message and soem cleanup 2021-08-11 13:27:52 +02:00
reviews Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
rotating_collections Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
serials Bug 28624: Remove Smart::Comments 2021-07-26 12:46:32 +02:00
services Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
skel Bug 11078: Add locking to rebuild_zebra 2014-02-28 22:21:41 +00:00
suggestion Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
svc Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
t Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
tags Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
tmp/modified_authorities
tools Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
virtualshelves Bug 12561: Change prototype of XSLTParse4Display 2021-08-16 09:57:05 +02:00
xt Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
.editorconfig Bug 24774: Set JSON indentation of 2 spaces in .editorconfig 2020-03-19 09:24:52 +00:00
.eslintrc.json Bug 23834: Add default ESLint configuration 2019-11-03 08:02:39 +00:00
.gitignore Bug 20427: Convert OPAC LESS to SCSS 2018-08-09 15:17:07 +00:00
.htaccess Fix file permissions: if it is not a script, it should not be executable. 2010-04-16 00:40:34 -04:00
.mailmap Bug 28386: Disambiguate Tomas and Blou 2021-05-26 12:30:59 +02:00
.perlcriticrc Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
.scss-lint.yml Bug 21237: Clean up staff client SCSS 2018-08-24 16:23:25 +00:00
about.pl Bug 12561: Add warning on about page 2021-08-16 09:57:05 +02:00
app.psgi Bug 20582: Fix PSGI file when behind a reverse proxy 2020-10-06 12:00:04 +02:00
changelanguage.pl Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
cpanfile Bug 28317: Use the default CGI::Session serializer 2021-05-19 14:45:32 +02:00
fix-perl-path.PL Bug 28606: Remove $DEBUG and $ENV{DEBUG} 2021-06-24 11:53:44 +02:00
gulpfile.js Bug 27072: Don't process staff interface CSS with rtlcss 2020-11-24 21:27:59 +01:00
help.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
INSTALL Bug 26617: Update INSTALL file to include koha-testing-docker and Gitlab links 2020-10-15 12:56:30 +02:00
Koha.pm Bug 12561: DBRev 21.06.00.015 2021-08-16 11:55:55 +02:00
koha_perl_deps.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
kohaversion.pl Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
LICENSE Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
mainpage.pl Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
Makefile.PL Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-17 10:07:36 +02:00
MANIFEST.SKIP Bug 9546 : Updating make manifest tardist 2013-02-06 23:54:46 -05:00
package.json Bug 27939: Update yarn.lock file 2021-03-16 12:04:06 +01:00
README Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
README.md Bug 27092: Remove note about "synced repo" from README.md 2020-11-25 16:31:58 +01:00
README.robots Bug 6411 add another example to README.robots 2011-07-05 14:48:05 +12:00
rewrite-config.PL Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-17 10:07:36 +02:00
yarn.lock Bug 27939: Update yarn.lock file 2021-03-16 12:04:06 +01:00

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo