-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add plugins overview #194
Add plugins overview #194
Conversation
# Conflicts: # impexp-client-gui/src/main/java/org/citydb/gui/operation/common/DefaultPreferencesEntry.java # impexp-client-gui/src/main/java/org/citydb/gui/operation/database/DatabasePlugin.java # impexp-client-gui/src/main/java/org/citydb/gui/operation/exporter/CityGMLExportPlugin.java # impexp-client-gui/src/main/java/org/citydb/gui/operation/importer/CityGMLImportPlugin.java # impexp-client-gui/src/main/java/org/citydb/gui/operation/preferences/PreferencesPlugin.java # impexp-client-gui/src/main/java/org/citydb/gui/operation/preferences/view/PreferencesPanel.java # impexp-client-gui/src/main/java/org/citydb/gui/operation/visExporter/VisExportPlugin.java
…plugin class to get unique resource URLs
Thanks @clausnagel. Very cool new feature. I have two remarks after my review:
All other things work well in my tests. 👍 |
Thanks, @yaozhihang. re 1: Should re 2: In general, you cannot define dependencies for plugins (for instance, you cannot say that plugin B should only be executed after plugin A). The plugins overview simply lists the plugins in alphabetical order. I agree that it would be nice to be able to define the execution order for separate |
|
@yaozhihang, I added a
I agree to move your second proposal to another PR once we have a requirement to support the execution order of specific plugins. |
@clausnagel Looks very good. |
This PR adds a "Plugins" section to the preferences tab of the Importer/Exporter GUI, which lists all installed and available plugins. Each plugin is displayed with additional information such as its version, its vendor, a description and the implemented extensions of the Plugin API. In addition, the plugins can be enabled/disabled using this dialog.
The Plugin API has been changed in a non-backwards compatible way to make this new dialog possible. Every plugin must now provide a
plugin.xml
file that is stored in the same package as the plugin class itself and that provides the additional metadata. In addition, an optionalpluginLogo.svg
(and apluginLogo_dark.svg
for the dark theme) can be provided.The new "Plugins" section can be tested with the ADE Manager plugin and the Spreadsheet Generator plugin. Simply use the
feature-new-plugin-api
branch for both plugins.