By Tushar Malik
on 2021-08-08 20:17 in Summer 2021 CronJobs
- Refactor the Cronjobs Manager Interface: Cronjobs Manager (CronjobsView) was due an update for a long time. Towards the end of the last week, I started updating the manager to handle sorting and filtering jobs. This week, much of that work was picked up from where it was left. Many UI elements needed to be either fixed, replaced or implemented to match the funtionality it needed and feel at home with other Joomla components.
Among the many things that were done to update the management MVC were adding support for a trashed state, filtering out orphaned jobs (with a switch to show them) and sorting by type titles (which we don't store in the DB but load from the Plugins each time). We also finally decided on an icon for com_cronjobs, and now we use fontawesome's clock icon in place of the tags icons that were carried over.
- Add SQL for Auto-Install: The component and the test job plugin, until now had to be manually installed through com_installer's Discover view. We have now the auto-installation SQL matching other core plugins right in the core SQL scripts with the extensions enabled by default. This should make for easier testing now that we're finally getting close to that phase.
- Add a Default System Menu Entry: Cronjobs now has a System Menu entry in the Manage module by default.
- Implement JobTypeField: JobTypeField (namespaced under Cronjobs right now) provides a standard dropdown of all jobs supported by job and system plugins.
- More Changes to the Execution Rules Implementation: Earlier, I'd assumed a cron-style representation would work for both intervals and the custom ruleset. As it turned out that didn't go well, so internally we now support a distinct Interval type rule, which is the default and the only one implemented right now. The custom/cron rule options have been hidden until they can be supported by the code. This also previously factored into the limited interval options for each scale, which now have been freed and exist as clear input fields.
Links for the Repository and Relevant Pull Request(s)