jqa-core-framework icon indicating copy to clipboard operation
jqa-core-framework copied to clipboard

Introduce a mechanism to enable and disable plugins explicitly

Open obfischer opened this issue 5 years ago • 0 comments

Userstory

As a user of jQA, I would like to have a mechanism to enable and disable plugins of jQA explicitly, so that I have a better control of the plugins jQA runs during a invocation.

Rationale

jQA offers a wide range of plugins for scanning, running concepts and constraints and for various reports. Currently we run all of them during a single invocation of jQA. Each plugin we run prolongs the execution time and the might increase the size of the used Neo4j database, even if the result of a plugin is not needed by the user. Allowing the user to enable of disable plugins gives him more control over these aspects and can result in a faster scan or a smaller database. The advantage of a smaller database is also that it might become easier to query the database as it might contain fewer labels or nodes.

Acceptance Criteria

  • [ ] Each core plugin has a unique id and for the user easy to remember identifier
  • [ ] Each plugin can by explicitly disabled
  • [ ] Each plugin can by explicitly activated
  • [ ] Having an id is optional for a plugin to avoid problems with third party plugins should issue a warning
  • [ ] If jQA finds an plugin without an id jQA
  • [ ] Without any given configuration jQA will run all plugins
  • [ ] It is possible to disable all plugins and to enabler some plugins afterwards explicitly
  • [ ] The meachnism is well documented

obfischer avatar Mar 22 '20 09:03 obfischer