constellation
constellation copied to clipboard
Required `PluginParameters` do not disable users from executing plugins.
Prerequisites
-
[ ] Put an X between the brackets on this line if you have done all of the following:
-
Running the latest version of Constellation
-
Attached the Support Package via
Help
>Support Package
-
Checked the FAQs: https://github.com/constellation-app/constellation/wiki/FAQ
-
Checked that your issue isn’t already filed: https://github.com/constellation-app/constellation/issues
-
Checked that there is not already a module that provides the described functionality: https://github.com/constellation-app/constellation/wiki/Catalogue-of-Repositories
-
Description
When a plugin has a required field users are able run the plugin with missing information from the required field. This makes the required attribute of plugin parameters redundant. Instead, users should be prevented from executing plugins if required parameters are missing.
This issue is stemming from the use of an DefaultPluginInteraction
prompt which generates a DialogDescriptor
for uses to enter parameters and execute the plugin. This issue may be worth reviewing for PluginParameters
in the DataAccessView
as the component responsibilities for managing the executability of plugins based on the completeness of their parameters looks like it could use a facelift.
Steps to Reproduce
-
Execute the
ExportToSVGPlugin
-
Remove information from a required field such as the file location or the graph title.
-
Note that you can still execute the plugin and the responsibility for catching these missing parameters lies with tin the plugin itself. This means users have to run through the entire execution process again to correct their mistake.
Expected behaviour: Users should be prevented from executing plugins if required information is missing. This could be achieved by deactivating the execute button.
Actual behaviour: Execute buttons are always active and plugins can execute with empty required fields.
Reproduces how often: 100%
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.