SeleniumBuilder / se-builder

Legacy Selenium Builder Project
Other
215 stars 104 forks source link

Disable manually installed plugin uninstallation. #277

Closed NozomiIto closed 9 years ago

NozomiIto commented 9 years ago

Since this article says 'Plugins can be installed simply by dropping them into the /SeBuilder/plugins directory', I use my in-house selenium builder plugin by manually adding it to the SeBuilder plugin directory.

But when plugin user uninstall this plugin from 'Management plugins' page and then install it again by manually adding it to the SeBuilder plugin directory, 'Management plugins' page is not correctly shown because of javascript error.

This problem is caused as below:

I considered the following 3 different ideas and adopted the 1st one.

  1. Uninstallation from 'Management plugins' page is enabled only for the plugin installed from the central repository. Plugins installed by manually adding them into the plugin directory must be uninstalled by manually removing them from the plugin direcotry. This approach works well.
  2. Deleteing plugins.sqlite record when uninstalling a plugin which does not have the repositoryInfo. To implement this, builder.plugins.performInstall method must have access to info.repositoryInfo, but this is a little difficult..
  3. Call builder.plugins.isUpdateable before each builder.plugins.isPluginTooNew and builder.plugins.isPluginTooOld call. Even after adding this check, the plugin re-installation process still does not work well..
Zarkonnen commented 9 years ago

I agree, this is the best way to fix this problem.