Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Oomph » Trying to figure Oomph Out - how to use it(Bundle Pools, management)
Trying to figure Oomph Out - how to use it [message #1741228] Wed, 24 August 2016 02:54 Go to next message
Brett Holcomb is currently offline Brett HolcombFriend
Messages: 9
Registered: July 2016
Junior Member
I'm in the process of moving form Mars to Neon and have a test workstation setup running Fedora 24 for testing. For my production I am running Mars and used Fedora's package to install it but the Fedora Packages deviate from upstream in someway and have caused some issues on F24. All that to say I spent today working with Oomph to install Neon on my test machine. I'm installing the PHP IDE package and have lots of questions.

1. Bundle pools - I changed the install path to /.opt/eclipse/php-neon and created a directory /opt/eclipse/bundles/php. I deleted the /root bundle and added this one. I then installed using Oomph.

Neon ran and showed that my bundle was /opt/eclipse/bundles/php so I added an extension from the marketplace - YEDIT, a yaml editor. It was installed but the files were put in my user's (non-root) .eclipse/org.eclipse.platform_bignumber_linux_gtk/features directory. I thought this was supposed to install the extension in my /opt bundle directory, not in my own .eclipse directory so what went wrong. This defeats the purpose of bundles if it's doing local installs but then maybe I don't understand how this works.
Edit: I ran Eclipse as root from a terminal an installed another extension. It ended up in my non-root user home directory, too and not in the /opt/eclipse/bundles directory

2. The second question comes from the first. I can put my bundle directories anywhere but what permissions should the directory and it's files have? And also, when I install extensions such as yedit do I have to do it as root or can any user add extensions? Right now my bundles directory has 777 but that's too wide open and when I installed it as my non-root user the files end up in my own .eclipse directory.

3. I see lots of references to the ability to use Oomph after the install is done for things like creating projects?? How do I do that?

4. Finally, are there any GOOD documents that explain how Oomph works such as what permissions are needed on the bundles directories; how do these extensions get installed to the bundles directory, what directory structure does Oomph use for bundles, how should we manage extensions - do we have to have one user install or can/should all install.

Yes, I've spent the afternoon reading Eclipse docs on bundles, OOmph docs, many other web sites that basically show screenshots of the installer and are useless. Eclipse docs have unfinished sections about bundles and pools. The best site I found was https://www.bsi-software.com/en/scout-blog/article/oomph-changes-the-way-you-handle-multiple-eclipse-installations.html and he did not go into actually how to setup the directories and locations used by Oomph/p2 but that was out of the scope of the article. I even watched the video of the conference in Germany with the demo and I have to add a third reason on why people shy away from Oomph - No one can figure out how to use it. I feel like the guy on the first few slides who is trying to work with the kewl project <G> but instead I'm trying to get Oomph setup and working! I know that Oomph and bundles can be a really big asset to Eclipse but I need to know how to make it work.

Thanks for any input and help.

[Updated on: Wed, 24 August 2016 03:34]

Report message to a moderator

Re: Trying to figure Oomph Out - how to use it [message #1741244 is a reply to message #1741228] Wed, 24 August 2016 06:56 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 30996
Registered: July 2009
Senior Member
Comments below.

Brett Holcomb wrote on Tue, 23 August 2016 22:54
I'm in the process of moving form Mars to Neon and have a test workstation setup running Fedora 24 for testing. For my production I am running Mars and used Fedora's package to install it but the Fedora Packages deviate from upstream in someway and have caused some issues on F24. All that to say I spent today working with Oomph to install Neon on my test machine. I'm installing the PHP IDE package and have lots of questions.

1. Bundle pools - I changed the install path to /.opt/eclipse/php-neon and created a directory /opt/eclipse/bundles/php. I deleted the /root bundle and added this one. I then installed using Oomph.

Note that the pool will be shared across all your installations, if you have more than one...

Quote:

Neon ran and showed that my bundle was /opt/eclipse/bundles/php so I added an extension from the marketplace - YEDIT, a yaml editor. It was installed but the files were put in my user's (non-root) .eclipse/org.eclipse.platform_bignumber_linux_gtk/features directory.

If the installation and pool are read-only for the user running the installation, that's what Eclipse itself does, i.e. creates a pseudo installation that's writeable for the user.

Quote:
I thought this was supposed to install the extension in my /opt bundle directory, not in my own .eclipse directory so what went wrong. This defeats the purpose of bundles if it's doing local installs but then maybe I don't understand how this works.

It's expected behavior. If you installed the additional things as an admin user with write access to the installation and pool, it would have used the pool and updated the installation itself. But with only read access, that's not possible.

Quote:

Edit: I ran Eclipse as root from a terminal an installed another extension. It ended up in my non-root user home directory, too and not in the /opt/eclipse/bundles directory

Did you look closely at the value of the pool? When you did this? It's in Window -> Preferences -> Oomph -> Bundle Pools. The pool does normally default to a folder in the user's home account, though above you said you changed it.

Quote:


2. The second question comes from the first. I can put my bundle directories anywhere but what permissions should the directory and it's files have?

That depends on the behavior you want, if you are the only user and want to be able to install additional things directly in the original installation, they should be writeable to you. If it will be shared by many people each potentially wanting to install different extension, they should both be read only for the users.

Quote:
And also, when I install extensions such as yedit do I have to do it as root or can any user add extensions? Right now my bundles directory has 777 but that's too wide open and when I installed it as my non-root user the files end up in my own .eclipse directory.


Well, Eclipse itself detects read only for the pool and the installation folders, so if you say it's creating stuff in .eclipse/... it must be detecting the installation as read-only.

Quote:


3. I see lots of references to the ability to use Oomph after the install is done for things like creating projects?? How do I do that?

See the authoring guide

Quote:

4. Finally, are there any GOOD documents that explain how Oomph works such as what permissions are needed on the bundles directories; how do these extensions get installed to the bundles directory, what directory structure does Oomph use for bundles, how should we manage extensions - do we have to have one user install or can/should all install.

There are a bundle tutorials, articles, and recorded presentations in the wiki.

Quote:

Yes, I've spent the afternoon reading Eclipse docs on bundles, OOmph docs, many other web sites that basically show screenshots of the installer and are useless. Eclipse docs have unfinished sections about bundles and pools. The best site I found was https://www.bsi-software.com/en/scout-blog/article/oomph-changes-the-way-you-handle-multiple-eclipse-installations.html and he did not go into actually how to setup the directories and locations used by Oomph/p2 but that was out of the scope of the article. I even watched the video of the conference in Germany with the demo and I have to add a third reason on why people shy away from Oomph - No one can figure out how to use it. I feel like the guy on the first few slides who is trying to work with the kewl project <G> but instead I'm trying to get Oomph setup and working! I know that Oomph and bundles can be a really big asset to Eclipse but I need to know how to make it work.

Well, it wasn't until just before the June release this year that shared bundle-pool based installations even worked, but the presentations do show the general layout used by Oomph. Also, creating shared installations isn't what most people do, so this isn't a problem for most people. Moreover, I'm not sure where one would even find all the details of how Eclipse itself structures an installation. Documentation is generally in short supply and hard to find.

The BSI article certainly has the details you're asking about. You do have control over where the agent, the pools, and the installations are located, and control the permissions of all the folders. If you want a shared installation that's based on pools (you know you can turn pools off, right?) you of course have to run the installer with admin permissions, and be wary to look at all the default locations because they're focused on single-user installations. The agent/pool, and installations should be read-only for the actual end users.

Note again that this feature is new to the Neon release, so it's possible there are problems, that I would be happy to know about and fix.

Quote:

Thanks for any input and help.

Re: Trying to figure Oomph Out - how to use it [message #1741405 is a reply to message #1741244] Wed, 24 August 2016 19:39 Go to previous messageGo to next message
Brett Holcomb is currently offline Brett HolcombFriend
Messages: 9
Registered: July 2016
Junior Member
Thank you for the detailed answer. I continued working with an Oomph installed Eclipse and doing more research. Maybe the light is starting to dawn.

As I understand it the traditional install is eclipse executable and associated files are installed somewhere such as /opt/eclipse. From there everyone who uses the workstation can run it but if they add any plugins they end up in the users .eclipse folder so we have one executable location and plugins for each user which duplicates plugins and takes up disk space. To solve that issue bundles and pools were introduced and now instead of having extensions installed in every users home the extensions are installed (or are supposed to be installed) to the central plugin directory, say /usr/share/bundles or whatever. This location must be readable by everyone at least and if users are allowed to add extensions then it must also be writable by them and if there is a "admin" user who can add extensions it can be read only for all and writable for him only. Is that still correct?

I don't want to turn bundles off because I really see the benefit of them. What is the recommend or intended way to use Eclipse with pools. I see where I can control the installation and pool directory but not where I can change the agent install although I assume that should reside with the user or is it not user specific? Should I be installing the executables in a common area like /opt/eclipse or should every user get his own install. What is the recommended practice and why? It seems to me a central install of the various IDEs saves disk space for the installation parts and using pools saves space for extensions and each user has his .p2 and .eclipse directory so that makes sense but maybe I'm missing something.

So if a person uses both PHP IDE and needs the Javascript IDE also does he install both IDEs or just add plugins for Javascript to the PHP IDE. As I understand it the real difference in IDEs is what's packaged with them so you can take any IDE and add enough extensions to make it another IDE.

So far this pertains to Eclipse without Oomph. So what does Oomph introduce. As I understand it one of the big things Oomph gives us is an installer that lets us pick not only IDEs but also control bundles to be used and pick a project type to install and basically clone a project. After the install then Oomph lets us clone projects to our installed IDE. One neat thing I found was that if I use the Oomph project setup I can set up preferences,etc. and then (I think) I can use that to create new projects. Say I setup my PHP IDE I can get all the settings where I want them and If I understand it correctly I can use that to create new projects with settings already setup - correct?

I believe my issue with where the extensions where installed stemmed from the fact that I removed the Eclipse install from /opt and the two home directories and then reinstalled but didn't set the bundles directory and it's sub-directory permissions to 777. I'll try again with the correct permissions. I did check preferences and made sure it was pointed at the /opt pool.

I understand about documentation. It's tough to write when trying to get a release out and nobody likes documenting (well, almost nobody - I like it<G>). The German presentation would have been helpful but on the YouTube video the slides are unreadable once it hit demo time so I'm only getting the audio and not seeing what's on the screen which is a blur.

Yeah, I looked at the Wiki and the links but most of them were how to run the installer very basic. I'll look at the authoring guide but I skipped it because I was looking for user how to and didn't want to get into writing things for Oomph but through a series of other articles and following the links I ended up there from a link about setting preferences so I see it's not just for creating Oomph addons. The BSI article I referenced was the best on giving an overview of what can be done and I found another by him about the concept of using Oomph for projects. Then again, the bundles and pools and recommended installation practices are really Eclipse and not Oomph responsibility and the Eclipse help is not good on bundles unless you are writing a plugin. They have very little about actually using it as a user or Eclipse admin and some linked help pages are blank.

Thank you again for the information. As I get further into Oomph it appears to be a fantastic solution to a problem plaguing everyone. While Eclipse is a great tool it can get cumbersome to manage projects but Oomph appears to provide a solution. I'll keep working with it.
Re: Trying to figure Oomph Out - how to use it [message #1741423 is a reply to message #1741405] Thu, 25 August 2016 00:32 Go to previous messageGo to next message
Brett Holcomb is currently offline Brett HolcombFriend
Messages: 9
Registered: July 2016
Junior Member
I have the common bundles working. I just had to set the bundles directory to 755 so the user can read it but not write to it. The administrator (root right now) can read and write and add plugins. the users can use them. Right now the bundles are installed in /opt/eclipse/bundles but I'll move them to a place more suitable to the Linux FileSystem specs.

Basically I've done a master install for the PHP IDE that everyone can use and am using pools to share the extensions with the admin/root being the only one who can add extensions at this point. What is standard/recommended/actual practice for this? To me the master install and pools saves disk space and controls what gets installed so it makes the most sense.

Right now I'm doing mainly PHP work and if I understand it right I can install the JScript Web/Dev items into the PHP IDE when I need to do JScript - is that correct? Supposedly the IDEs just differ in what's bundled in them and everything is an extension so it can be added? Wwhat about those who do JScript. Do I install the JScript/Web IDE separately and create bundles for it and let them use that? What do people in the real world do?

Re: Trying to figure Oomph Out - how to use it [message #1741432 is a reply to message #1741423] Thu, 25 August 2016 06:14 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 30996
Registered: July 2009
Senior Member
Brett Holcomb wrote on Wed, 24 August 2016 15:39
Thank you for the detailed answer. I continued working with an Oomph installed Eclipse and doing more research. Maybe the light is starting to dawn.

As I understand it the traditional install is eclipse executable and associated files are installed somewhere such as /opt/eclipse. From there everyone who uses the workstation can run it but if they add any plugins they end up in the users .eclipse folder so we have one executable location and plugins for each user which duplicates plugins and takes up disk space.

Yes, generally everything about the shared installation is read-only and anything that would need to modify it ends up in the user's folders in what's essentially an extension to the read-only shared base installation.

Quote:
To solve that issue bundles and pools were introduced and now instead of having extensions installed in every users home the extensions are installed (or are supposed to be installed) to the central plugin directory, say /usr/share/bundles or whatever. This location must be readable by everyone at least and if users are allowed to add extensions then it must also be writable by them and if there is a "admin" user who can add extensions it can be read only for all and writable for him only. Is that still correct?

No, the bundle pool in this scenario is only useful for the administrator who can create potentially dozens of variant installations (like the different packages you can download from Eclipse) and end up with only one version of each bundle/feature shared across all these installations.

Quote:

I don't want to turn bundles off because I really see the benefit of them. What is the recommend or intended way to use Eclipse with pools. I see where I can control the installation and pool directory but not where I can change the agent install although I assume that should reside with the user or is it not user specific?

In this scenario, the agent and the pool are used by the admin and should be read-only for the user.

Quote:
Should I be installing the executables in a common area like /opt/eclipse or should every user get his own install. What is the recommended practice and why?

Sorry, I'm not sure the best practices for where to place things on Linux.

Quote:
It seems to me a central install of the various IDEs saves disk space for the installation parts and using pools saves space for extensions and each user has his .p2 and .eclipse directory so that makes sense but maybe I'm missing something.

The admin only saves space if there is more than one installation.

Quote:

So if a person uses both PHP IDE and needs the Javascript IDE also does he install both IDEs or just add plugins for Javascript to the PHP IDE. As I understand it the real difference in IDEs is what's packaged with them so you can take any IDE and add enough extensions to make it another IDE.

Different people take different approaches. Having a single IDE that can do everything is useful. Having separate IDEs dedicated to a specific type of task is also useful. Given I'm using Oomph, I generally have on IDE per project that I'm working on, because each project generally needs specialized things installed to work with the artifacts of that project. So what I need in my installation when I work on the EMF project verses what I need when I work on the Oomph project are different. I can and do create dozens (and for tests hundreds) of different installations.

But as an admin, you probably don't want so many because the user won't know which to use, and if what they need isn't in the base, they'll install it and if you have many users, that will wasted duplicated space.

Quote:

So far this pertains to Eclipse without Oomph. So what does Oomph introduce. As I understand it one of the big things Oomph gives us is an installer that lets us pick not only IDEs but also control bundles to be used and pick a project type to install and basically clone a project. After the install then Oomph lets us clone projects to our installed IDE. One neat thing I found was that if I use the Oomph project setup I can set up preferences,etc. and then (I think) I can use that to create new projects. Say I setup my PHP IDE I can get all the settings where I want them and If I understand it correctly I can use that to create new projects with settings already setup - correct?

Yes, Oomph is designed not only to create installations, but to provision workspaces. The intent is that everything a developer needs to do manually starting with a blank new workspace to end up with a fully configured workspace containing the workspace projects they're developing can be automated as Oomph tasks. This way, any new developer coming to the project or contributor want to contribute to the open source project spends no time on setup and configuration but rather expects to be presented with a complete setup ready to develop.

Quote:

I believe my issue with where the extensions where installed stemmed from the fact that I removed the Eclipse install from /opt and the two home directories and then reinstalled but didn't set the bundles directory and it's sub-directory permissions to 777. I'll try again with the correct permissions. I did check preferences and made sure it was pointed at the /opt pool.

Yes, if you don't know the purpose of the structures that are created it's pretty easy to make a complete mess by deleting important things or moving things that can't be moved.

Quote:

I understand about documentation. It's tough to write when trying to get a release out and nobody likes documenting (well, almost nobody - I like it<G>). The German presentation would have been helpful but on the YouTube video the slides are unreadable once it hit demo time so I'm only getting the audio and not seeing what's on the screen which is a blur.

That's unfortunately. You'll have to come to EclipseCon!

Quote:

Yeah, I looked at the Wiki and the links but most of them were how to run the installer very basic. I'll look at the authoring guide but I skipped it because I was looking for user how to and didn't want to get into writing things for Oomph but through a series of other articles and following the links I ended up there from a link about setting preferences so I see it's not just for creating Oomph addons. The BSI article I referenced was the best on giving an overview of what can be done and I found another by him about the concept of using Oomph for projects. Then again, the bundles and pools and recommended installation practices are really Eclipse and not Oomph responsibility and the Eclipse help is not good on bundles unless you are writing a plugin. They have very little about actually using it as a user or Eclipse admin and some linked help pages are blank.

Thank you again for the information. As I get further into Oomph it appears to be a fantastic solution to a problem plaguing everyone. While Eclipse is a great tool it can get cumbersome to manage projects but Oomph appears to provide a solution. I'll keep working with it.


Brett Holcomb wrote on Wed, 24 August 2016 20:32
I have the common bundles working. I just had to set the bundles directory to 755 so the user can read it but not write to it. The administrator (root right now) can read and write and add plugins. the users can use them. Right now the bundles are installed in /opt/eclipse/bundles but I'll move them to a place more suitable to the Linux FileSystem specs.

Basically I've done a master install for the PHP IDE that everyone can use and am using pools to share the extensions with the admin/root being the only one who can add extensions at this point. What is standard/recommended/actual practice for this? To me the master install and pools saves disk space and controls what gets installed so it makes the most sense.

What you describe is the design intent and it's hard for me to comment about best practices for where to put this on Linux...

Quote:

Right now I'm doing mainly PHP work and if I understand it right I can install the JScript Web/Dev items into the PHP IDE when I need to do JScript - is that correct? Supposedly the IDEs just differ in what's bundled in them and everything is an extension so it can be added? Wwhat about those who do JScript. Do I install the JScript/Web IDE separately and create bundles for it and let them use that? What do people in the real world do?


As I said above, different people do different things. Yes, Eclipse lets you easily create your own specialized installations. The different packages you can download are mostly just a bit of product wrapper around the common bundles and features that can be installed into any IDE so any package can be morphed to include whatever additional things you require.
Re: Trying to figure Oomph Out - how to use it [message #1741533 is a reply to message #1741432] Thu, 25 August 2016 16:30 Go to previous messageGo to next message
Brett Holcomb is currently offline Brett HolcombFriend
Messages: 9
Registered: July 2016
Junior Member
Thanks again for responding. With this and what I found - mainly the BSI articles - I think I've got a much better understanding of the system. The BSI article mentioned the concept of projects as the organizational unit and that's interesting. Have a template created by Oomph say for PHP web projects for the CMS and simply clone it when I need to use it is very intriguing. I can base it on a PHP IDE with Javascript enabled in the project and clone it. Then for JScript I can have another install.

I messed things up because I deleted everything simply to give me a clean slate with no Eclipse in /opt or in the two users I'm working with. For testing I'd install, test, delete, repeat. Then I'd reinstall using Oomph and test. I forgot to set the bundles directory to 755 so it put it in the user's directory. Slip of the mind there.

The more I work with Oomph (I've been reading the authoring guide - by the way that implies to me I'll be writing plugins or extensions, not a guide for using) and it really makes Eclipse much more useful.
Re: Trying to figure Oomph Out - how to use it [message #1741535 is a reply to message #1741533] Thu, 25 August 2016 16:48 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6487
Registered: July 2009
Senior Member
Brett Holcomb wrote on Thu, 25 August 2016 18:30

I've been reading the authoring guide - by the way that implies to me I'll be writing plugins or extensions, not a guide for using.


We use the following terms for the involved roles:

  • User installs setups
  • Author writes setups
  • Extender develops custom setup tasks




Re: Trying to figure Oomph Out - how to use it [message #1741565 is a reply to message #1741535] Thu, 25 August 2016 20:40 Go to previous message
Brett Holcomb is currently offline Brett HolcombFriend
Messages: 9
Registered: July 2016
Junior Member
Eike Stepper wrote on Thu, 25 August 2016 12:48
Brett Holcomb wrote on Thu, 25 August 2016 18:30

I've been reading the authoring guide - by the way that implies to me I'll be writing plugins or extensions, not a guide for using.


We use the following terms for the involved roles:

  • User installs setups
  • Author writes setups
  • Extender develops custom setup tasks




Thanks for the clarification.

I'm going to use a shared install of various IDEs with the bundles for plugins administered by an admin model.

And thanks for Oomph. The more I look at it the more it makes Eclipse much easier to use and much more powerful. I not only administer it I use it.

[Updated on: Thu, 25 August 2016 20:41]

Report message to a moderator

Previous Topic:API Baseline Activation fails
Next Topic:Use a Sonatype nexus p2 proxy to download with eclipse installer
Goto Forum:
  


Current Time: Mon Mar 30 14:39:10 GMT 2020

Powered by FUDForum. Page generated in 0.01964 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top