eclipseprovisioningp2roaming-profile

Can p2 be used to manage customisable, roaming profiles for Eclipse RCP applications?


I have an Eclipse RCP application that I'd like to make available to end users using the p2 provisioning platform.

The requirements for the provisioning of the application are as follows:

  1. Users need to be able to install additional features in order to customise their individual application.
  2. Users move between workstations, so their individual installation will need to follow them like a roaming profile.
  3. Updates to the application and any additional features need to be automatically applied to users' installations when they're made available.
  4. The solution shouldn't introduce significant load times for the application.

My current solution is to have users install the application to a network share so that each user has their own copy of the app in their own directory on the share. Users' workspaces are stored separately on their home network share and are fairly small. The application could be configured to check for updates from a p2 repository on start-up and download any updated features to the individual installation on the share. This supports requirements 1, 2 and 3, but incurs a significant overhead in load time as the application is around 500Mb. It's also wasteful in terms of the disk space used to store numerous copies of the same features.

I'm hoping that p2 could allow me to develop a better solution to this problem, and I can think of a number of possibilities, but my knowledge of p2 is fairly basic, and before I undertake a long investigation into the various options, I was wondering whether anyone has any experience using p2 to provide customisable, roaming profiles or could suggest whether this ought to be possible.


Solution

  • I think you basically want a linux style shared install.

    Essentially there is a base eclipse install in a location that is read-only to the user. When the user runs, he gets his own writable location, usually under his home directory. The user can install additional features that are stored under this writable location.

    The owner of the base install (root) can install additional features that the user then inherits. I believe if the user has installed his own items that are not compatible with upgrades to the root install, then the user's additions are lost.

    This all happens automatically whenever the user does not have permission to write to the eclipse install location. Unfortunately I don't see any documentation for the specifics of this.