Feature Wiki

Information about planned and released features

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:

  1. Every plugin slot must provide delete methods to remove his data files/directories, tables and database entries.
  2. Every plugin must provide delete methods to remove his data files/directories, tables and database entries.
  3. 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.
Examples:
  1. A condition handler plugin slot will provide a delete method for the all plugin related entries in table condition_handler.
  2. A repository plugin will provide a delete methods for all plugin related data and webdata directories.
  3. 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]