This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 101092 - 'Uninstall' in module manager removed the modules completely and cannot be obtained from UC.
Summary: 'Uninstall' in module manager removed the modules completely and cannot be ob...
Status: CLOSED DUPLICATE of bug 60368
Alias: None
Product: platform
Classification: Unclassified
Component: Plugin Manager (show other bugs)
Version: 5.x
Hardware: All All
: P3 blocker (vote)
Assignee: Jiri Rechtacek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-16 02:52 UTC by Karthikeyan Rajeswaran
Modified: 2009-01-11 20:47 UTC (History)
3 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Karthikeyan Rajeswaran 2007-04-16 02:52:16 UTC
Steps to reproduce:
   - I went to the module manager and selected 'NetBeans Modules Projects' and
'Sun Java System Application Server' modules and clicked 'Uninstall'.
    - The two modules were removed from the module list.
    - I went to 'File | New Project...' and do not see the 'NetBeans Module'
anymore. Also, sjsas was not available under 'servers' node in runtime tab.
    - I even tried with a fresh userdir but still could not see the options.
    So, it looks like the module is actually removed from the installation
directory itself and not just from the userdir.
(Not sure what will be the behaviour in a shared-install where the current user
may not have write permissions and therefore module cannot be removed).

The only way now to get back the modules seems to be to re-install the ide.

Possible solutions:
- Post all bundled modules on stable UC upon product release. This may be too
heavyweight a solution.
- Inform the users that once uninstalled, the module is removed forever and
cannot be updated later (possibly via a dialog with a 'do not show this message
in future' checkbox). For 5.5 and 5.5.1, possibly a FAQ (or even this issue
entry) can serve to document this behavior.

This is clearly a low use-case scenario.
Comment 1 Jiri Rechtacek 2007-04-24 16:23:35 UTC
It's really request for content of Update Center rather a problem of Uninstall
feature. Uninstall should be capable to remove chosen modules w/o substitutes.
Some of default Update Centers would contain a mirror of all IDE distribution to
allow to install removed module back to IDE. Reassigned to auc component.
Comment 2 Karthikeyan Rajeswaran 2007-04-24 17:21:36 UTC
Even if the modules are posted on the update center, there may be some core
modules that cannot be updated via AU and therefore should not be uninstalled. 
So, we may need to consider the following:
- Uninstall should be able to disable itself if a module says it should not be
uninstalled. 
- Uninstall may still display a message saying 'The module is removed and may or
may not be available for update from uc and may need to be reinstalled via NBI'
with a 'do not show this message in future' checkbox. (Unless absence of a
module on uc is considered a uc bug which should be followed up by a issue entry
for au content component...)
Comment 3 Jesse Glick 2007-04-24 18:19:59 UTC
FWIW, the deadlock.netbeans.org javadoc-nbms update center contains all dev
modules, including the entire IDE plus several packs.
Comment 4 Jiri Kovalsky 2007-04-25 14:48:47 UTC
We are certainly not going to publish all standard distro modules to Stable and
Development Update Centers both English and L10n ones. It would be a very
expensive solution for this corner case.

I fully agree with Karthik that it must be fixed on IDE's side by enhancing
functionality of the module manager. Some modules should have an 'uninstallable'
flag that would disable "Uninstall" feature. Or this could be sensitive to
module's location: <install_dir> vs. <userdir> or maybe package? As the very
minimum we should implement at least a warning dialog informing users about
potential problems if some of the 'core' modules is to be removed.

Reassigning back to 'autoupdate' component and changing to ENHANCEMENT.
Comment 5 Jesse Glick 2007-04-25 17:34:19 UTC
I don't agree with this assessment.

1. AFAIK the Development UC already *does* contain all stable modules:

http://www.netbeans.org/updates/dev_1.18_.xml

Should not be hard to add I18N variants too. How is this "expensive"? I have all
modules in NB + most packs + contrib modules published on deadlock, too, and it
is fine. The UC XML file is cca. 200-300 Kb compressed, which is reasonable even
on slower connections. In fact, IIRC this very question was already discussed at
least a year ago and it was agreed that the devel UC should list all modules.

2. How would you decide which modules should have an "uninstallable" flag,
exactly? I certainly don't think NetBeans Module Projects, for example, is a
"core" component. If you don't want it, you can get rid of it.

3. Preventing modules from the install dir (as opposed to user dir) from being
uninstalled is not going to work because as of 6.0 NBMs can specify a preferred
cluster. If defined, and permissions allowing, a new cluster in the install area
will be automatically created for them. So consider someone with the base IDE
downloading the Ruby support modules, which would normally create a ruby1
cluster in their install area. If we treated install-dir modules specially, then
they would not be able to uninstall these modules if they changed their mind
about them!
Comment 6 Karthikeyan Rajeswaran 2007-04-26 06:14:14 UTC
2. By 'core' i meant the modules (org.netbeans.core , org.netbeans.openide etc)
without which the ide will certainly not run properly. Perhaps some (if not all)
 modules in 'platform' cluster fall in this category. (NetBeans Module Projects
and Ruby, are of course clearly addons that a user should be able to remove if
they don't need that particular feature). My question was: Are there some
modules (ex:openide) which are necessary for the ide to run? If so, if they are
displayed in the module manager or plugin manager, uninstall should be disabled.
(Again, this is a low use-case and we can expect users to normally exclude
these). Still, should there be a concept of 'absolutely needed for running the
ide' modules and 'everything else (i.e addons you can remove if you don't want
the feature' modules ?

3. It raises some interesting scenarios though:
- User installs the ide. Module X is installed.
- User obtains an updated module X and installs locally in userdir. (Updated
modules are not really differentials and usually contain the entire module).
- If the user now uninstalls the module, will it be removed from both global and
userdirs? If only global is removed, will the module in userdir be loaded next
time ide is run?
Please ignore this question, if it is too hypothetical and doesn't make much
sense; strictly speaking, i myself should try the scenario and file a separate
bug if i feel the behaviour i see is not right..

1. If the expectation is that modules should be downloadable from UC or that
removed modules should be reinstalled via NBI, i think such a requirement can be
documented and no change made in au client. 
(Hopefully, devUC, deadlock, nbextras, contrib, plugin-portal, ucs on
netbeans.org will all seemlessly merge someday...)
Comment 7 Jesse Glick 2007-04-26 19:20:31 UTC
Regarding critical platform modules: certainly some modules in the platform
could not be uninstalled safely - for example, Auto Update itself! I'm not sure
how to distinguish these. Perhaps just disable Uninstall for all platform*
cluster modules, but this could be undesirable for applications built on the NB
platform for which many modules in this cluster are truly optional. Certainly
lib/*.jar and core/*.jar cannot be removed, nor can o.n.m.autoupdate nor
o.n.m.c.windows.

Regarding upgrading a standard module: this is a quite serious question, far
from hypothetical; last I remember, this scenario was badly broken in the old
autoupdate. (Would download a newer version to userdir, without warning that it
overrode the installed version, and not delete the userdir version even when the
installed version became newer due to unpacking a new dev build.) I have not
tried yet with the new autoupdate. Please file a separate issue in this area if
you notice something wrong.
Comment 8 Karthikeyan Rajeswaran 2007-05-14 00:27:37 UTC
Also reported at: http://www.netbeans.org/issues/show_bug.cgi?id=97826
> I just deinstalled CVS support in the module manager in NB 5.5.1beta. But i
was not able to intall
> this feature again through the update center. I don't know why, I thought
maybe certain basic 
> modules will not be supported by the update center.  So my request is to have
the update 
> center support all those 'basic' modules which can be unistalled through the
Module Manager.
Comment 9 Jiri Rechtacek 2007-05-21 10:47:06 UTC
The problem is valid in both managers: either old one Module Manager or new one
Plugin Manager.
Comment 10 Jiri Rechtacek 2008-04-10 09:14:46 UTC

*** This issue has been marked as a duplicate of 60368 ***