Bug 37495

Summary: Add ability to use metadata to filter plugins to run for plugins_nightly.pl
Product: Koha Reporter: Kyle M Hall (khall) <kyle>
Component: Plugin architectureAssignee: Kyle M Hall (khall) <kyle>
Status: Needs documenting --- QA Contact: Martin Renvoize (ashimema) <martin.renvoize>
Severity: enhancement    
Priority: P5 - low CC: lucas, martin.renvoize
Version: unspecified   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
This enhancement allows the plugins_nightly.pl cronjob to execute the nightly cronjob plugin hook for one or more specific plugins. This allows greater flexibility in scheduling the nightly cronjobs for various plugins and allows a single plugins cronjob hook to be run without trigger other plugins cronjob hooks.
Version(s) released in:
24.11.00
Circulation function:
Attachments: Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl

Description Kyle M Hall (khall) 2024-07-26 14:24:56 UTC
It would be nice to have the ability to specify a single pluign for plugins_nightly.pl to run for a few reasons:
1) It would be very useful for development and testing
2) It gives the ability to run different nightly triggers at different times
3) Some other third thing
Comment 1 Kyle M Hall (khall) 2024-07-26 14:54:26 UTC
Created attachment 169741 [details] [review]
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl

It would be nice to be able to filter the plugins run by plugins
nightly for development and testing, and for added flexibility
as to when to run cronjob_nightly for different plugins if need be.

Test Plan:
1) Apply this patch
2) Check the metadata for an installed plugin, copy the name or another
   metadata value.
3) Run plugins_nightly.pl with a filter that does not match
   e.g. plugins_nightly.pl -m name="No plugin has this name"
4) Note no plugins cronjob methods are run
5) Run plugins_nightly.pl with a filter that *does* match
   e.g. plugins_nightly.pl -m name="Example Kitchen-Sink Plugin"
6) Not only the matching plugin runs!
7) Run plugins_nightly with no filter
   e.g. plugins_nightly.pl
8) Note all plugins with nightly cronjobs are run!
Comment 2 Kyle M Hall (khall) 2024-07-29 12:16:03 UTC
Created attachment 169826 [details] [review]
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl

It would be nice to be able to filter the plugins run by plugins
nightly for development and testing, and for added flexibility
as to when to run cronjob_nightly for different plugins if need be.

Test Plan:
1) Apply this patch
2) Check the metadata for an installed plugin, copy the name or another
   metadata value.
3) Run plugins_nightly.pl with a filter that does not match
   e.g. plugins_nightly.pl -m name="No plugin has this name"
4) Note no plugins cronjob methods are run
5) Run plugins_nightly.pl with a filter that *does* match
   e.g. plugins_nightly.pl -m name="Example Kitchen-Sink Plugin"
6) Not only the matching plugin runs!
7) Run plugins_nightly with no filter
   e.g. plugins_nightly.pl
8) Note all plugins with nightly cronjobs are run!
Comment 3 David Nind 2024-09-29 20:44:51 UTC
Created attachment 172200 [details] [review]
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl

It would be nice to be able to filter the plugins run by plugins
nightly for development and testing, and for added flexibility
as to when to run cronjob_nightly for different plugins if need be.

Test Plan:
1) Apply this patch
2) Check the metadata for an installed plugin, copy the name or another
   metadata value.
3) Run plugins_nightly.pl with a filter that does not match
   e.g. plugins_nightly.pl -m name="No plugin has this name"
4) Note no plugins cronjob methods are run
5) Run plugins_nightly.pl with a filter that *does* match
   e.g. plugins_nightly.pl -m name="Example Kitchen-Sink Plugin"
6) Not only the matching plugin runs!
7) Run plugins_nightly with no filter
   e.g. plugins_nightly.pl
8) Note all plugins with nightly cronjobs are run!

Signed-off-by: David Nind <david@davidnind.com>
Comment 4 Martin Renvoize (ashimema) 2024-10-28 15:25:47 UTC
Created attachment 173557 [details] [review]
Bug 37495: Add ability to use metadata to filter plugins to run for plugins_nightly.pl

It would be nice to be able to filter the plugins run by plugins
nightly for development and testing, and for added flexibility
as to when to run cronjob_nightly for different plugins if need be.

Test Plan:
1) Apply this patch
2) Check the metadata for an installed plugin, copy the name or another
   metadata value.
3) Run plugins_nightly.pl with a filter that does not match
   e.g. plugins_nightly.pl -m name="No plugin has this name"
4) Note no plugins cronjob methods are run
5) Run plugins_nightly.pl with a filter that *does* match
   e.g. plugins_nightly.pl -m name="Example Kitchen-Sink Plugin"
6) Not only the matching plugin runs!
7) Run plugins_nightly with no filter
   e.g. plugins_nightly.pl
8) Note all plugins with nightly cronjobs are run!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 5 Katrin Fischer 2024-10-30 13:45:52 UTC
Pushed for 24.11!

Well done everyone, thank you!
Comment 6 Lucas Gass (lukeg) 2024-11-22 21:44:36 UTC
Enhancement, no 24.05.x backport.