Dynamic Plugin System and Simplified Backup Redesign#18
Conversation
- Implement dynamic plugin discovery and registration in `app/core/plugins.py`. - Refactor Job Board, Weekly Reports, and Software Management into standalone plugins. - Move Job Board out of core features to allow deactivation via settings. - Implement ZIP-based plugin installation and uninstallation UI in Admin. - Redesign backup system into a streamlined `SimpleBackup` utility. - Remove old unified backup manager, auto-backup scheduler, and complex logic. - Update all application call sites to use the new simplified backup system. - Ensure application stability when plugin folders are missing or removed. - Address security (Zip Slip) and usability feedback from code review. Co-authored-by: Woschj <81321922+Woschj@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
…packages - Implement dynamic plugin discovery and registration in `app/core/plugins.py`. - Refactor Job Board, Weekly Reports, and Software Management into standalone plugins. - Move Job Board out of core features to allow deactivation via settings. - Implement ZIP-based plugin installation and uninstallation UI in Admin. - Redesign backup system into a streamlined `SimpleBackup` utility. - Remove old unified backup manager, auto-backup scheduler, and complex logic. - Update all application call sites to use the new simplified backup system. - Ensure application stability when plugin folders are missing or removed. - Address security (Zip Slip) and usability feedback from code review. - Create ZIP packages for refactored plugins in `plugin_packages/` for easy installation. Co-authored-by: Woschj <81321922+Woschj@users.noreply.github.com>
This comprehensive refactoring modularizes the application by moving non-core features into a dynamic plugin system. Key features like the Job Board, Weekly Reports, and Software Management are now independent modules that can be toggled per department. A new administrative interface allows for installing plugins via ZIP uploads, following a pattern similar to WordPress.
Additionally, the backup system has been completely redesigned. The previous complex and monolithic managers have been replaced with a streamlined
SimpleBackuputility that handles JSON-based database exports and media archives in a single ZIP file. Automated scheduling has been removed in favor of a cleaner, manual-first approach requested by the user.All dependencies and cross-references have been updated to ensure application stability across all modules.
PR created automatically by Jules for task 6821962107158958724 started by @Woschj