Bug 17047: SQL reports management with Mana-KB
authorBaptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Wed, 8 Mar 2017 15:46:24 +0000 (15:46 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Wed, 23 Jan 2019 14:39:26 +0000 (14:39 +0000)
commitcb01b253308060bad942723413feef1fd70825fd
tree41379904db48a6acb38bb22bf52fa25a678317f3
parentcffb47ac5d4634c45cdf12f7d2c5972fc7867c26
Bug 17047: SQL reports management with Mana-KB

Includes:

* code factorization
Some code from subscription & Mana-KB has been factorized in order to speed-up next developments

* SytemPreferences:
Mana Activation:
    - add a value "no, let me think about it", that is the default value.
    - as long as this value is selected, messages ask if user want to activate it ( in Administration and Add-subscription(page 2) )
AutoShareWithMana
    - Add the syspref AutoShareWithMana: user can automatically share infos with Mana-KB (not set by default)

* Interface :
    - On mana-search, rows are now sorted by date of last import, then by number of users
    - Windows redesigned to improve the user experience

* New Feature : report a mistake.
    - people can now report an invalid data (wrong, obsolete,...)
    - if a data is reported as invalid many time, it will appear differently
    - Added few tooltip (to explain the fields last import, nb of users, to explain the new feature)
    - When reporting a data as invalid, a comment can also be added. Koha will then display comments related to data in result lists

* API (svc/mana)
    - add svc/mana/addvaluetofield: allows to ask mana incrementing a field of a resource
    - no hardcoding for resources in the code of api (api needs to be called with a ressourcename)

* New feature : SQL report sharing
    - Create Koha::Report.pm and Koha::Reports.pm, objects class for Reports
    - New feature: share reports with Mana-KB
    - New feature: search report in Mana-KB with keywords
    - New feature: load reports from Mana-KB

Test plan:
    1 - Apply Patch + update database
    2 - Copy the three lines about mana config in etc/koha-conf.xml in ../etc/koha-conf.xml (after <backupdir> for example)
        <!-- URL of the mana KB server -->
        <!-- alternative value http://mana-test.koha-community.org to query the test server -->
        <mana_config>https://mana-kb.koha-community.org</mana_config>
    3 - Check Mana syspref and AutoShareWithMana syspref are not activated
    4 - Search the syspref ManaToken and follow the instructions
    5 - subscriptions
      - Try create a new subscription for a first serial  => Mana-KB shouldn't show you anything (except if the base hase been filled)
      - Share this serial with Mana-KB (on the serial individual's page there must be a Share button)
      - Try to create a new subscription for serial nr1 => a message should appear when you click on "next", click on "use", the fields should automaticaly appear
      - Activate AutoShareWithMana => Subscriptions
      - Create a new subscription for a second serial
      - There shouldn't be any Share button
      - Create a second subscription => the message should appear, click again on use

    6 - SQL Report
      - Create a new SQL report, without notes.
      - On the table with all report (reports > use saved), there should be the action "Share"
      - If you click on share, you have an error message
      - Create a new report, with a title and notes longer than 20 characters
      - You  can share it with mana => you will have a success message
      - On (report > use saved), there must be a message inviting you to search on Mana-KB for more results, enter a few word from title, notes, type of  the report you shared, it should appear. You can use it, it will load it into your report list.

    7 - Report mistakes.
      - On any table containing Mana-KB search results, you can report a mistake and add a comment.

    8 - For each previous test, try to send wrong data, to delete the security token, to send nothing: it should show a correct warning message.

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Rebased-by: Alex Arnaud <alex.arnaud@biblibre.com> (2018-07-04)
Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
53 files changed:
C4/Reports/Guided.pm
C4/Serials.pm
Koha/Report.pm
Koha/Reports.pm
Koha/SharedContent.pm
Koha/Subscription.pm
Koha/Subscription/Numberpatterns.pm
debian/templates/koha-conf-site.xml.in
etc/koha-conf.xml
installer/data/mysql/atomicupdate/mana_01-add_mana_id.perl [new file with mode: 0644]
installer/data/mysql/atomicupdate/mana_01-add_mana_id_in_subscription.sql [deleted file]
installer/data/mysql/atomicupdate/mana_02-add_Mana_syspref.sql
installer/data/mysql/atomicupdate/mana_03-add_mana_autoshare.sql [new file with mode: 0644]
installer/data/mysql/atomicupdate/mana_04-add_mana_token.sql [new file with mode: 0644]
installer/data/mysql/atomicupdate/skeleton.perl
installer/data/mysql/kohastructure.sql
installer/data/mysql/sysprefs.sql
koha-tmpl/intranet-tmpl/lib/jquery/activatemana.js [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss
koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/mana-subscription-search-result.inc [deleted file]
koha-tmpl/intranet-tmpl/prog/en/includes/mana.inc [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/includes/mana/mana-report-search-result.inc [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/includes/mana/mana-subscription-search-result.inc [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/includes/reports-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/serials-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/web_services.pref
koha-tmpl/intranet-tmpl/prog/en/modules/mana/mana-report-search-result.tt [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/mana/mana-subscription-search-result.tt [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/mana-subscription-search-result.tt [deleted file]
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt
koha-tmpl/intranet-tmpl/prog/js/serials-toolbar.js
koha-tmpl/intranet-tmpl/prog/js/subscription-add.js
reports/guided_reports.pl
serials/serials-collection.pl
serials/serials-search.pl
serials/subscription-add.pl
serials/subscription-detail.pl
svc/mana/increment [new file with mode: 0755]
svc/mana/search
svc/mana/share [new file with mode: 0755]
svc/mana/token [new file with mode: 0755]
svc/mana/use
t/db_dependent/Koha/SharedContent.t
t/db_dependent/Koha/Subscription.t
t/db_dependent/Koha/Subscription/Numberpatterns.t [new file with mode: 0644]
t/db_dependent/Serials.t
t/db_dependent/Serials/GetFictiveIssueNumber.t