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 197661 - "Force install into shared directories" option is obsolete
Summary: "Force install into shared directories" option is obsolete
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Plugin Manager (show other bugs)
Version: 7.0
Hardware: PC Other
: P3 normal (vote)
Assignee: Jiri Rechtacek
URL:
Keywords: UI
Depends on: 211777
Blocks:
  Show dependency tree
 
Reported: 2011-04-12 12:26 UTC by Jaromir Uhrik
Modified: 2012-05-18 08:17 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
proposed install location combo (62.94 KB, image/png)
2012-05-14 09:30 UTC, Petr Somol
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaromir Uhrik 2011-04-12 12:26:42 UTC
Product Version: NetBeans IDE 7.0 (Build 201104080000)
Java: 1.6.0_25; Java HotSpot(TM) Client VM 20.0-b11
System: Windows 7 version 6.1 running on x86; Cp1250; cs_CZ (nb)

In the Plugin Manager's Settings tab there is option named "Force install into shared directories". The semantic of this switch seems to be invalid now. As I understand the IDE tries to install plugins to shared directories by default now. In the past plugins were installed to userdir by default and the option to force install to shared dirs made sense. IMHO this setting should be removed now.
Comment 1 Jaroslav Tulach 2011-04-13 07:13:35 UTC
Jirko, can you confirm?
Comment 2 Jiri Rechtacek 2011-04-13 10:10:31 UTC
Technically - No change of place where new plugins go after NB 6.0. New plugin which declares own target cluster goes to install dir to declared cluster, new plugin w/o target cluster goes to userdir. There are some exceptions - if a plugin declares nbm.is.global=true goes to install dir (in 'extra' cluster) in any case and vice versa. And, if the install dir is in read-only mode, then userdir is the fallback. In addition, all updates replace original installation if writable.
From UI point of view, this switch seems worthless, IDE users cannot understand its meaning IMHO. It might help in any edge case only.
Comment 3 Jiri Rechtacek 2011-10-13 14:10:18 UTC
Jano, what is your opinion for such option? Thanks
Comment 4 athompson 2011-10-13 16:10:17 UTC
Sorry to keep beating this horse, but as I've mentioned in another issue this policy of installing into the shared directory by default addresses a virtually nonexistent use-case at the expense of a much larger group of people.  Please hear me out; it does (ultimately) relate to this issue:

First, what is the reason for installing plugins into the shared directory?  It's so that everyone using that installation of Netbeans can have access to the same set of plugins.  Tell me, has anyone here in their entire history as a developer ever shared a development computer with another developer?  It doesn't happen, because almost by definition you're working at the same time.  Even if you weren't working at the same time you wouldn't want someone messing with your computer.  The other reason this policy came about was the perceived advantage Eclipse had over Netbeans at the time, which was that with Eclipse, you could just zip up your install and give it to a new developer and they have the same setup you do.  You can't do this anyway because a lot of info in NB is in your home folder.

Second, with this policy you're hurting the very people who are trying to help you--those people who take the time to submit bug reports and enhancement requests, and track the progress of these issues by using the daily builds.  With this policy, we have to download all of our plugins again every time we upgrade our build, which is often daily.  This is especially counterproductive because we usually download the minimal build and get everything as a plugin to save bandwidth, but now we have to download all the plugins every time.  Not all of us have unlimited time and bandwidth, so please don't make us download the same 80 megabytes every single day.  It's now so inconvenient upgrading daily builds that makes many people don't even bother anymore.

If you really want to install plugins into the shared folders by default, simply check the "force install into shared directories" option by default and that allows the user to uncheck it if they need to.  Otherwise, please consider this much simpler policy which is the best of both worlds:
1. if an earlier version of the plugin being installed is already in the shared folder/target cluster (those that come with NB will be), then the plugin is installed into the shared folder by default if possible.
2. all other plugins go into the user folder by default, unless for some inexplicable reason the user wants to force install into shared directories.

This has several advantages.  For regular users who just use the release, upgrades still go smoothly (the upgrade wizard can copy any plugins it needs to from the old user folder if the user put them there--or not) and the user can still put their plugins into the shared folders if they want to.  For those who use the daily builds all of the plugins that we've installed are remembered between installations and those that came with NB are tossed out in favor of those in the new build.  The plugins that require major plumbing changes are almost always in the base install anyway.

I know installing into shared folders has technically been the policy for years, but it has never been followed by anyone until very recently because it caused too much of a hassle.  I would argue that after years of installing into the user folder this has become the de facto standard, and if you want to change it now further consideration of the impact is needed.  This years-old decision doesn't make sense anymore, and it really never did.

I've been a user of and contributor to Netbeans since the 2.x versions (I think I had a 1.8 version at some point too).  Please bring this up for discussion with whoever makes these decisions, because this policy is really doing more harm than good.
Comment 5 Jiri Rechtacek 2012-05-14 07:50:28 UTC
I propose replace the checkbox "Force install into shared directories" with a (collapsed) combobox with three options:

- Advanced ---------------------------------------------------------
|
| Where to install? |^| Plugin's default (recommended)
|                       Force install into shared directories
|                       Force install into user's directory
|
|===================================================================

Just a draft, all suggestions are welcome.
Comment 6 Petr Somol 2012-05-14 09:30:15 UTC
Created attachment 119411 [details]
proposed install location combo

I have added a mockup of how the combo could look like. The help page would explain what is meant by Default, because a meaningful description of that would probably be too long to fit in one combo line.
Comment 7 Jiri Rechtacek 2012-05-14 13:57:08 UTC
core-main/rev/ffbd03a4f7bf on autoupdate_211777 branch
Comment 8 Quality Engineering 2012-05-17 15:41:13 UTC
Integrated into 'main-golden', will be available in build *201205170950* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/ffbd03a4f7bf
User: Jiri Rechtacek <jrechtacek@netbeans.org>
Log: #197661: "Force install into shared directories" option is obsolete