You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Laszlo Kishalmi <la...@gmail.com> on 2018/06/05 19:40:55 UTC

NetBeans user dir per release

Dear all,

I just would like to start some discussion on the default user directory.

So far each and every NetBeans release had its distinct user directory 
like $HOME/.netbeans/8.0, $HOME/.netbeans/8.2rc1, etc. Do we want to 
follow this with Apache NetBeans (we are using dev at these moment) or 
just make a difference between dev and release, or if we plan to do more 
frequent releases in the future, shall we do something else?

This is just came across my mind and thought it might worth to share it.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
For additional commands, e-mail: dev-help@netbeans.incubator.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: NetBeans user dir per release

Posted by Emilian Bold <em...@protonmail.ch>.
I don't believe we have to change anything. Just use 9.0.

--emi

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On 5 June 2018 10:40 PM, Laszlo Kishalmi <la...@gmail.com> wrote:

> Dear all,
> 
> I just would like to start some discussion on the default user directory.
> 
> So far each and every NetBeans release had its distinct user directory
> 
> like $HOME/.netbeans/8.0, $HOME/.netbeans/8.2rc1, etc. Do we want to
> 
> follow this with Apache NetBeans (we are using dev at these moment) or
> 
> just make a difference between dev and release, or if we plan to do more
> 
> frequent releases in the future, shall we do something else?
> 
> This is just came across my mind and thought it might worth to share it.
> 
> 
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
> 
> For additional commands, e-mail: dev-help@netbeans.incubator.apache.org
> 
> For further information about the NetBeans mailing lists, visit:
> 
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
For additional commands, e-mail: dev-help@netbeans.incubator.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: NetBeans user dir per release

Posted by Gary Bello <ga...@gmail.com>.
I keep multiple NB versions on each machine I use NB on. I even still have
nb4.1 on 1 machine and yes it requires an old JDK to run.
I keep separate user dirs. And edit each etc/netbean.conf file to insure no
compflict.
I also at times run multiple versions of NB at same time.

What ever you decide to do please don't break my ability to have old
versions and run different versions at same time.

The current nb9rc1 is still using "dev" as the userdir - it has not yet
been updated to something unique.
It should be changed before the final release.

Thanks
-Gary



On Wed, Jun 6, 2018 at 9:24 AM, Laszlo Kishalmi <la...@gmail.com>
wrote:

> Thank you Jarda for the summary!
>
> Just checked the Upgrader code it is going to check for 8.2 installation.
>
>
>
> On 06/05/2018 08:49 PM, Jaroslav Tulach wrote:
>
>> Dne úterý 5. června 2018 21:40:55 CEST, Laszlo Kishalmi napsal(a):
>>
>>> Dear all,
>>>
>>> I just would like to start some discussion on the default user directory.
>>>
>> As usually I can point to https://platform.netbeans.org/
>> articles/installation.html where this
>> topic has been analyzed. To quote:
>>
>> "It is not reasonable to share this directory between different
>> /Products/ - the cache would
>> be useless, the logs would get confusing and also the user modifications
>> to the *config*
>> would could be ambiguous. That is why each /Product/ shall define its own
>> directory prefix
>> (based on its name)"
>>
>> Historically each NetBeans release has been treated as a separate
>> Product. The caches
>> would obviously be useless when switching between 8.1 and 8.2 and sharing
>> the same
>> directory.
>>
>> In addition to that modules do not guarantee forward compatiblity of
>> settings (e.g. 8.1
>> being able to read 8.2 settings). They could, but the module writers
>> usually have tons of
>> problems to be at least backward compatible (e.g. make sure 8.2 reads 8.1
>> settings).
>>
>> Originaly we always copied the whole 8.1 directory to 8.2 and used it,
>> but it turned out the
>> compatibility issues pop up everywhere. As such there is now the
>> "settings import" utility
>> which allows each module to explictly say which options/files to copy.
>>
>> The current state is a relatively stable balance between user experience
>> and module
>> developer capabilities. I wouldn't change it much.
>> -jt
>>
>> Btw. has anyone updated the import tool to detect 8.2 settings and copy
>> them?
>>
>> So far each and every NetBeans release had its distinct user directory
>>> like $HOME/.netbeans/8.0, $HOME/.netbeans/8.2rc1, etc. Do we want to
>>> follow this with Apache NetBeans (we are using dev at these moment) or
>>> just make a difference between dev and release, or if we plan to do more
>>> frequent releases in the future, shall we do something else?
>>>
>>> This is just came across my mind and thought it might worth to share it.
>>>
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
> For additional commands, e-mail: dev-help@netbeans.incubator.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>
>

Re: NetBeans user dir per release

Posted by Laszlo Kishalmi <la...@gmail.com>.
Thank you Jarda for the summary!

Just checked the Upgrader code it is going to check for 8.2 installation.


On 06/05/2018 08:49 PM, Jaroslav Tulach wrote:
> Dne úterý 5. června 2018 21:40:55 CEST, Laszlo Kishalmi napsal(a):
>> Dear all,
>>
>> I just would like to start some discussion on the default user directory.
> As usually I can point to https://platform.netbeans.org/articles/installation.html where this
> topic has been analyzed. To quote:
>
> "It is not reasonable to share this directory between different /Products/ - the cache would
> be useless, the logs would get confusing and also the user modifications to the *config*
> would could be ambiguous. That is why each /Product/ shall define its own directory prefix
> (based on its name)"
>
> Historically each NetBeans release has been treated as a separate Product. The caches
> would obviously be useless when switching between 8.1 and 8.2 and sharing the same
> directory.
>
> In addition to that modules do not guarantee forward compatiblity of settings (e.g. 8.1
> being able to read 8.2 settings). They could, but the module writers usually have tons of
> problems to be at least backward compatible (e.g. make sure 8.2 reads 8.1 settings).
>
> Originaly we always copied the whole 8.1 directory to 8.2 and used it, but it turned out the
> compatibility issues pop up everywhere. As such there is now the "settings import" utility
> which allows each module to explictly say which options/files to copy.
>
> The current state is a relatively stable balance between user experience and module
> developer capabilities. I wouldn't change it much.
> -jt
>
> Btw. has anyone updated the import tool to detect 8.2 settings and copy them?
>
>> So far each and every NetBeans release had its distinct user directory
>> like $HOME/.netbeans/8.0, $HOME/.netbeans/8.2rc1, etc. Do we want to
>> follow this with Apache NetBeans (we are using dev at these moment) or
>> just make a difference between dev and release, or if we plan to do more
>> frequent releases in the future, shall we do something else?
>>
>> This is just came across my mind and thought it might worth to share it.
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
For additional commands, e-mail: dev-help@netbeans.incubator.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: NetBeans user dir per release

Posted by Tim Boudreau <ni...@gmail.com>.
FWIW, I have run against the same ~/.netbeans/dev since 2015.  I think
there have been a few releases in that time.  That said, there are a lot of
NetBeans modules I do not use.

The directory per release thing has always seemed a bit draconian.

It might be preferable to do this instead:
 - On startup, the IDE looks for, say,
$USERDIR/releases/$MY_RELEASE_VERSION - a 0 byte file
 - If it does not exist, it creates it
 - If it does exist, if listing $USERDIR/releases/$MY_RELEASE_VERSION does
not show a file whose name sorts to > $MY_RELEASE_VERSION, continue startup
 - If the userdir *has* been used with a newer release of NetBeans, either
abort startup with a message (not nice) offering to delete the userdir, or
something more respecting of the common case (everything works) that says,
say


*A newer version of NetBeans has been used with your saved settings, and
may have modified them incompatibly.  If you continue, some functionality
may be broken.*

*                              [Continue Startup] [Delete Settings and
Start] [Exit]*


To my mind, anyway, the convenience for the user of keeping their settings
outweighs the value of "developer has to fix a forward compatibility bug" -
we develop software to make life easier for our users, not ourselves.


If you wanted to solve the forward compatibility problem *fully*, the
system filesystem could contain all older userdirs as read only layers up
to its own version, and writes go to the current version, while historical
settings are preserved and used but not written to - that would let someone
downgrade safely, since the IDE simply wouldn't include userdir layers for
versions newer than itself.  But I suspect the performance effects of
adding N disk filesystem layers to the system filesystem might be greater
than the value.

-Tim

-- 
http://timboudreau.com

Re: NetBeans user dir per release

Posted by Jaroslav Tulach <ja...@gmail.com>.
Dne úterý 5. června 2018 21:40:55 CEST, Laszlo Kishalmi napsal(a):
> Dear all,
> 
> I just would like to start some discussion on the default user directory.

As usually I can point to https://platform.netbeans.org/articles/installation.html where this 
topic has been analyzed. To quote:

"It is not reasonable to share this directory between different /Products/ - the cache would 
be useless, the logs would get confusing and also the user modifications to the *config* 
would could be ambiguous. That is why each /Product/ shall define its own directory prefix 
(based on its name)"

Historically each NetBeans release has been treated as a separate Product. The caches 
would obviously be useless when switching between 8.1 and 8.2 and sharing the same 
directory.

In addition to that modules do not guarantee forward compatiblity of settings (e.g. 8.1 
being able to read 8.2 settings). They could, but the module writers usually have tons of 
problems to be at least backward compatible (e.g. make sure 8.2 reads 8.1 settings).

Originaly we always copied the whole 8.1 directory to 8.2 and used it, but it turned out the 
compatibility issues pop up everywhere. As such there is now the "settings import" utility 
which allows each module to explictly say which options/files to copy.

The current state is a relatively stable balance between user experience and module 
developer capabilities. I wouldn't change it much.
-jt

Btw. has anyone updated the import tool to detect 8.2 settings and copy them?

> So far each and every NetBeans release had its distinct user directory
> like $HOME/.netbeans/8.0, $HOME/.netbeans/8.2rc1, etc. Do we want to
> follow this with Apache NetBeans (we are using dev at these moment) or
> just make a difference between dev and release, or if we plan to do more
> frequent releases in the future, shall we do something else?
> 
> This is just came across my mind and thought it might worth to share it.