[FEATURE] Cron: Use "Component" mechanisms to gather and register jobs#11392
[FEATURE] Cron: Use "Component" mechanisms to gather and register jobs#11392mjansenDatabay wants to merge 1 commit intoILIAS-eLearning:trunkfrom
Conversation
260b8ce to
3301862
Compare
2279cef to
0d8bf94
Compare
The mocks are necessary as long as the "Logging" component is not fully migrated to the "Component Revision End Game". |
|
Jour Fixe, 13 APR 2026: We highly appreciate this suggestion and accept the PR for trunk / ILIAS 12. Nevertheless, we need to address the language handling problem of plugins / external components to load their language variables in the future. We should have a common workshop on this topic in the very near future. |
kergomard
left a comment
There was a problem hiding this comment.
Thank you very much for this improvement!
I would have a small request: Could you please stick to using array-access to the $DIC in User?
Other than this I really like the change and changes in Test and User are perfectly fine.
Thank you very much and best,
@kergomard
Co-authored-by: Nils Haagen <nhaagen@concepts-and-training.de>
0d8bf94 to
8705ed2
Compare
This pull request continues the initiative started by @nhaagen in pull request #8731 to gather and register cron jobs based on the mechanisms of the "Component Revision".
With this PR, following the deprecation announcement in ILIAS 11 (#11395), cron job implementations will (there are exceptions) no longer have a
__construct. Dependencies are initialized in aninitmethod, where class members can be populated by pulling services from the$DIC.initwill then be called whenever the cron component decides that it needs fully initialized cron jobs. This procedure will be necessary as long as our code base is not fully migrated to the "Component" mechanisms.Instead of individual reviews for each modification in the components contributing cron jobs, the changes will be announced at the next JF meeting. This provides all "Authorities to Sign off on Code Changes" with a designated period, spanning "several weeks", to submit comments, remarks, or change requests. This approach accommodates the expectation that formal approval from every authority may not be feasible.
What this PR also does / Breaking Changes:
\ILIAS\Cron\Job\JobProviderpublic interface, which helped ILIAS plugins (of any kind) to contribute cron jobs.\ILIAS\Cron\CronHookPluginplugin slot