-
Sub-task
-
Resolution: Fixed
-
Highest
-
None
-
None
-
None
com.atlassian.plugin.metadata.DefaultPluginMetadataManager.isUserInstalled(Plugin) is used by the UPM to decide whether to show a plugin in the "User-installed Plugins" or "System Plugins" container.
return !plugin.isBundledPlugin() && !metadata.applicationProvided(plugin);
The property file override logic resides in the metadata object, which is a com.atlassian.plugin.metadata.ClasspathFilePluginMetadata. Since the plugins are bundled, e.g. Balsamiq (com.balsamiq.confluence.plugins.mockups), the plugin object will be a com.atlassian.plugin.loaders.BundledPluginLoader.BundledPluginDelegate which returns true for isBundledPlugin().
Thus we have to implement our own version of com.atlassian.plugin.metadata.PluginMetadataManager which overrides the behaviour of DefaultPluginMetadataManager.isUserInstalled(Plugin) and delegates for the rest.