Feature Wiki
Tabs
Uninstall Plugins
1 Requirements
We need an uninstallment procedure for plugins. Plugins should have the possibility to clean up their persistent data (db and files).
Suggestions for a guideline for the deletion of plugins:
- Every plugin slot must provide delete methods to remove his data files/directories, tables and database entries.
- Every plugin must provide delete methods to remove his data files/directories, tables and database entries.
- Plugin slots which cannot delete files and/or database entries of plugins, must provide a proxy plugin, which ensures that the system can be used without errors about missing plugins.
- A condition handler plugin slot will provide a delete method for the all plugin related entries in table condition_handler.
- A repository plugin will provide a delete methods for all plugin related data and webdata directories.
- A test question plugin slot will provide a proxy plugin, since the deletion of test question with existing passes is not possible.
A first implementation will provide a uninstall functionality for repository plugins. The code should resusable for an Object Terminator
2 Additional Information
- Idea / concept: Stefan Meyer, Leifos
- Funding: FH Aachen
- Maintainer: Alexander Killing
- Implementation of the feature is done by leifos
- Test cases by: (name, e-mail)
3 Discussion
JF 13 Oct 2014: We support the idea and schedule it for 5.1.
, 12 Nov 2015: While testing the feature a problem was found: currently there is no way to find out in ILIAS (on the technical side) if a plugin is installed at all. It might be inactive because of a ILIAS version mismatch or a new plugin version and so on.
So it is near impossible to decide when to display the uninstall action. Displaying it always might be confusing, too.
@JF
Should "Uninstall" be always available?
JourFixe, ILIAS [jourfixe], Nov 23, 2015: Uninstall should be offered always. But a full 'uninstall' can only be done when activation of plugin is possible. Jörg (and Matthias) will add an appropriate info message for uninstalling outdated plugins.
4 Implementation
, 12 Aug 2015: Uninstalling will "reset" any plugin to a clean state. Language entries (and object-/RBAC-entries for Repository plugins) are deleted. Repository plugins have to implement an additional method to delete custom (database) data on uninstall.
Test Cases
Test cases completed at 2015-08-17 by Alexandra Tödt
- http://testrail.ilias.de/index.php?/cases/view/6202: C6202 Plugin deinstallieren
Approval
Approved at 2015-08-24 by Jochen Erkens.
A full test awaits the availability of Plugins for 5.1.
Last edited: 23. Nov 2015, 13:39, Kunkel, Matthias [mkunkel]