Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Rich Client Platform (RCP) » Ensuring a clean bundle cache on multi-user systems
Ensuring a clean bundle cache on multi-user systems [message #714715] Thu, 11 August 2011 05:55 Go to next message
Eclipse User
Originally posted by:

I would be interested to know how people solve the problem of
invalidating the current bundle cache in systems where the default
configuration area cannot be used (usually because of non-existing
rights to write into the installation directory of an RCP application,
e.g. from Windows Vista on) and where multiple users can start the same
RCP instance. I definitively don't want to start the RCP app with -clean
each time, but on the other hand starting the RCP with the -install
-clean parameters for a single time after the installation of a given
user (typically an administrator), this would only clean the cache of
the aforementioned administrator.

A possible solution would be to specify the osgi.configuration.area
property in the launcher ini file, but how can we ensure that there is a
directory where all users have read and write rights for? Further this
would have the effec that the RCP installation program modifies this
file and this has the effect that the programmer has difficulties to
test this setting during development time when the RCP app is usually
started by the Eclipse IDE.

This problem seems to be rarely discussed but I don't believe that any
serious nowadays RCP application could exist without solving this problem.

I would appreciate any hints how to solve this problem properly.

Thanks in advance && Greetings from Bremen,

- Daniel Krügler
Re: Ensuring a clean bundle cache on multi-user systems [message #717212 is a reply to message #714715] Fri, 19 August 2011 11:26 Go to previous messageGo to next message
Eclipse User
Originally posted by:

On 2011-08-11 11:55, Daniel Krügler wrote:
> I would be interested to know how people solve the problem of
> invalidating the current bundle cache in systems where the default
> configuration area cannot be used (usually because of non-existing
> rights to write into the installation directory of an RCP application,
> e.g. from Windows Vista on) and where multiple users can start the same
> RCP instance. I definitively don't want to start the RCP app with -clean
> each time, but on the other hand starting the RCP with the -install
> -clean parameters for a single time after the installation of a given
> user (typically an administrator), this would only clean the cache of
> the aforementioned administrator.
>
> A possible solution would be to specify the osgi.configuration.area
> property in the launcher ini file, but how can we ensure that there is a
> directory where all users have read and write rights for? Further this
> would have the effec that the RCP installation program modifies this
> file and this has the effect that the programmer has difficulties to
> test this setting during development time when the RCP app is usually
> started by the Eclipse IDE.
>
> This problem seems to be rarely discussed but I don't believe that any
> serious nowadays RCP application could exist without solving this problem.
>
> I would appreciate any hints how to solve this problem properly.

After one week lack of response I must assume that other RCP users must
have defined their own procedures to fix this issue. I cannot believe
that they either use -clean all the time or that they simply have not
noticed this problem yet.

We noticed that defining the configuration area has suddenly unexpected
side effects on the p2 behaviour. E.g. performing a feature install does
no longer add the new plugins to the previous plugin folder. This makes
sense to some extend, and so this is no real cause for a complaint
(except that service people have to be informed about this).

On the other hand it was astonishing to observe that the generated p2
directory is created *parallel* to the provided configuration area
instead of within. Does there exist an additional parameter for an
install invocation that allows the definition of the location of the p2
directory?

Thanks in advance,

- Daniel Krügler
Re: Ensuring a clean bundle cache on multi-user systems [message #717723 is a reply to message #717212] Mon, 22 August 2011 03:37 Go to previous messageGo to next message
Hagen
Messages: 90
Registered: April 2010
Member
> After one week lack of response I must assume that other RCP users must have defined their own procedures to fix this issue.

Or nobody took the time to read, understand and comment on your original
message.
Re: Ensuring a clean bundle cache on multi-user systems [message #717732 is a reply to message #714715] Mon, 22 August 2011 03:42 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5262
Registered: July 2009
Senior Member
Is your problem that someone might update the RCP application?

Tom

Am 11.08.11 11:55, schrieb Daniel Krügler:
> I would be interested to know how people solve the problem of
> invalidating the current bundle cache in systems where the default
> configuration area cannot be used (usually because of non-existing
> rights to write into the installation directory of an RCP application,
> e.g. from Windows Vista on) and where multiple users can start the same
> RCP instance. I definitively don't want to start the RCP app with -clean
> each time, but on the other hand starting the RCP with the -install
> -clean parameters for a single time after the installation of a given
> user (typically an administrator), this would only clean the cache of
> the aforementioned administrator.
>
> A possible solution would be to specify the osgi.configuration.area
> property in the launcher ini file, but how can we ensure that there is a
> directory where all users have read and write rights for? Further this
> would have the effec that the RCP installation program modifies this
> file and this has the effect that the programmer has difficulties to
> test this setting during development time when the RCP app is usually
> started by the Eclipse IDE.
>
> This problem seems to be rarely discussed but I don't believe that any
> serious nowadays RCP application could exist without solving this problem.
>
> I would appreciate any hints how to solve this problem properly.
>
> Thanks in advance && Greetings from Bremen,
>
> - Daniel Krügler
Re: Ensuring a clean bundle cache on multi-user systems [message #717733 is a reply to message #714715] Mon, 22 August 2011 03:42 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5262
Registered: July 2009
Senior Member
Is your problem that someone might update the RCP application?

Tom

Am 11.08.11 11:55, schrieb Daniel Krügler:
> I would be interested to know how people solve the problem of
> invalidating the current bundle cache in systems where the default
> configuration area cannot be used (usually because of non-existing
> rights to write into the installation directory of an RCP application,
> e.g. from Windows Vista on) and where multiple users can start the same
> RCP instance. I definitively don't want to start the RCP app with -clean
> each time, but on the other hand starting the RCP with the -install
> -clean parameters for a single time after the installation of a given
> user (typically an administrator), this would only clean the cache of
> the aforementioned administrator.
>
> A possible solution would be to specify the osgi.configuration.area
> property in the launcher ini file, but how can we ensure that there is a
> directory where all users have read and write rights for? Further this
> would have the effec that the RCP installation program modifies this
> file and this has the effect that the programmer has difficulties to
> test this setting during development time when the RCP app is usually
> started by the Eclipse IDE.
>
> This problem seems to be rarely discussed but I don't believe that any
> serious nowadays RCP application could exist without solving this problem.
>
> I would appreciate any hints how to solve this problem properly.
>
> Thanks in advance && Greetings from Bremen,
>
> - Daniel Krügler
Re: Ensuring a clean bundle cache on multi-user systems [message #717746 is a reply to message #717732] Mon, 22 August 2011 04:35 Go to previous message
Eclipse User
Originally posted by:

On 2011-08-22 09:42, Tom Schindl wrote:
> Is your problem that someone might update the RCP application?

We don't expose RCP update mechanisms to the customer, but we provide
the classic install mechanism on Windows systems. If a customer updates
a version of the RCP program, the old one is uninstalled and a new one
is installed. This means, we are sure, that all plugins are fresh.
Problem is, that the plugin cache is a problem for us, because after a
new installation the old cache still exist and will be used by the new
program version, if not cleared. For the user the behaviour is, as if
the new version has not been installed (normally this affects only
particular plugins, so the actual observation is that the program
behaves as if the installation were incomplete). The problem occurs on
all new systems (from Vista on), because the OS prevents that after
installation any file changes can occur on the Programs folder and thus
uses a different location for the configuration area from the default.
This is well documented but this still causes problems, because you have
to manage somehow a specific location where the uninstaller can clear
the contents to clear the bundle cache. My question is, how others
specify the configuration area such that an uninstaller can clear this
cache or whether they have different strategies to solve the problems
produced by that cache. Preferably the program should be able to be
installed by users with non-administrator rights, but a single
configuration area would require that every user has write access. Let's
assume we would specify the configuration area to be depending on the
current user (which is possible due to some accepted variables), the
uninstaller would still still require administrative rights to clear the
configuration area for *every* user and it would require to iterate over
all users of a system.

- Daniel
Previous Topic:Can't get rootfiles specification to work in plug-in based product
Next Topic:Customize MarkerSupportView ?
Goto Forum:
  


Current Time: Fri Aug 01 20:45:44 EDT 2014

Powered by FUDForum. Page generated in 0.02310 seconds