Bug 41135

Summary: Convert about page Perl module table to DataTable
Product: Koha Reporter: Owen Leonard <oleonard>
Component: AboutAssignee: Owen Leonard <oleonard>
Status: Passed QA --- QA Contact: Paul Derscheid <me>
Severity: enhancement    
Priority: P5 - low CC: jonathan.druart, lucas, martin.renvoize, paul.derscheid
Version: MainKeywords: rel_26_05_candidate
Hardware: All   
OS: All   
GIT URL: Initiative type: ---
Sponsorship status: --- Comma delimited list of Sponsors:
Crowdfunding goal: 0 Patch complexity: Small patch
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Screenshot showing the proposed updated table
Bug 41135: Convert About page Perl module table to DataTable
Bug 41135: Convert About page Perl module table to DataTable
Bug 41135: Convert About page Perl module table to DataTable

Description Owen Leonard 2025-10-29 17:39:12 UTC
Created attachment 188581 [details]
Screenshot showing the proposed updated table

I propose that we update the way Perl modules are listed on the about page. Showing the information in a DataTable would make it easier to filter the information by required, missing, or by keyword.

The result would be less compact but I think potentially more useful. See the attached screenshot.
Comment 1 Paul Derscheid 2025-10-30 13:02:51 UTC
As I already said on Mattermost, I love the idea +1
Comment 2 Owen Leonard 2025-11-19 12:24:06 UTC
Created attachment 189703 [details] [review]
Bug 41135: Convert About page Perl module table to DataTable

This patch updates the display of Perl modules on the About page,
showing them in a regular DataTable instead of a multi-column one. This
allows for sorting, filtering by required or missing, and searching.

To test, apply the patch and restart services.

- Go to the About page and click the "Perl modules" tab.
- The Perl modules should be displayed in a DataTable.
- Required modules are still shown in bold but now there is a column of
  with check marks for required modules so that you can sort or filter
  by required.
  - Test the "Show required" link at the top of the table and confirm
    that only required modules are shown.
- To test the display of Missing modules, uninstall at least one
  required module and at least one optional one, e.g.:

  > sudo dpkg --remove --force-depends libtest-mockmodule-perl libtest-mocktime-perl

- Restart services and return to the About page Perl modules list. Use
  the table filter form to search for "mock."
  - You should see the required module, Test::MockModule, with the
    status in red, "Required module missing."
  - The optional module, Test::MockTime, should have a yellow warning
    "Optional module missing."
- Clear the search form and click the "Show missing" link. The table
  should be filtered down to only those modules you removed.

Sponsored-by: Athens County Public Libraries
Comment 3 Martin Renvoize (ashimema) 2025-11-26 17:25:22 UTC
Created attachment 189972 [details] [review]
Bug 41135: Convert About page Perl module table to DataTable

This patch updates the display of Perl modules on the About page,
showing them in a regular DataTable instead of a multi-column one. This
allows for sorting, filtering by required or missing, and searching.

To test, apply the patch and restart services.

- Go to the About page and click the "Perl modules" tab.
- The Perl modules should be displayed in a DataTable.
- Required modules are still shown in bold but now there is a column of
  with check marks for required modules so that you can sort or filter
  by required.
  - Test the "Show required" link at the top of the table and confirm
    that only required modules are shown.
- To test the display of Missing modules, uninstall at least one
  required module and at least one optional one, e.g.:

  > sudo dpkg --remove --force-depends libtest-mockmodule-perl libtest-mocktime-perl

- Restart services and return to the About page Perl modules list. Use
  the table filter form to search for "mock."
  - You should see the required module, Test::MockModule, with the
    status in red, "Required module missing."
  - The optional module, Test::MockTime, should have a yellow warning
    "Optional module missing."
- Clear the search form and click the "Show missing" link. The table
  should be filtered down to only those modules you removed.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Comment 4 Martin Renvoize (ashimema) 2025-11-26 17:27:36 UTC
Love it
Comment 5 Jonathan Druart 2025-11-27 15:13:04 UTC
Created attachment 189997 [details] [review]
Bug 41135: Convert About page Perl module table to DataTable

This patch updates the display of Perl modules on the About page,
showing them in a regular DataTable instead of a multi-column one. This
allows for sorting, filtering by required or missing, and searching.

To test, apply the patch and restart services.

- Go to the About page and click the "Perl modules" tab.
- The Perl modules should be displayed in a DataTable.
- Required modules are still shown in bold but now there is a column of
  with check marks for required modules so that you can sort or filter
  by required.
  - Test the "Show required" link at the top of the table and confirm
    that only required modules are shown.
- To test the display of Missing modules, uninstall at least one
  required module and at least one optional one, e.g.:

  > sudo dpkg --remove --force-depends libtest-mockmodule-perl libtest-mocktime-perl

- Restart services and return to the About page Perl modules list. Use
  the table filter form to search for "mock."
  - You should see the required module, Test::MockModule, with the
    status in red, "Required module missing."
  - The optional module, Test::MockTime, should have a yellow warning
    "Optional module missing."
- Clear the search form and click the "Show missing" link. The table
  should be filtered down to only those modules you removed.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>