Why Eclipse Equinox P2 Update Manager is not good enough for me yet
As you all know in Eclipse 3.4 there is a new Update Manager (more correctly - Plug-in Manager) which is intended to be better.
The update managing side of it is an improvement indeed. But the first thing raised my alertness is there is no place to point where do I want my selected plug-ins to be installed. Well, I thought it’s just a default selection and manually downloaded the plug-ins and dropped them into the famous dropins directory (of course with keeping directory structure). And then after restarting eclipse I discovered that there is no such a thing like hierarchy of plug-ins and plug-in locations at all. That’s too bad.
Now, let’s say you installed all the plug-ins. Then if you want to update them, you don’t have a overall progress bar. And this is a network connection related progress. Isn’t it stupid?
Another glitch: My wireless connection to my neighbor’s hub suddenly aborted. So what does it do? It shows me an error dialog behind the modal dialog of progress information. I’m not even mentioning that there is no retry/ignore options.
Now they say: you can replace the new p2 with the good old Update Manager. But for that you must restore several configuration files from 3.3.2. I understand, this is my stupid mistake that I first completely destroyed my previous installation (I can allow it to myself at home), but it’s still annoying.

May 16th, 2008 at 01:41:55
Be more specific with your problems… p2 is a lot more flexible now. Sure, the UI could use more improvement, but p2 is a big step forward compared to the old Update Manager.
http://wiki.eclipse.org/Equinox_p2_Migration_Guide
If you have issues, please file bugs or suggestions, this is how open-source works.
May 16th, 2008 at 01:48:17
Wow, that’s pretty rough!
As Chris said, please open a bug explaining what’s missing, post the bug URL here so people can track it down.
My personal impression is that you are actually talking about minor things and that you are not making a point. I think most of the problems you had were not addressed in the update manager either. But I didn’t try p2 extensively yet.
May 16th, 2008 at 03:41:25
>But the first thing raised my alertness is there is no place to point where do I want my selected plug-ins to be installed.
There is fundamentally two reasons why this is not done. First, p2 promotes bundle pooling, which means that potentially all the eclipse-based application of your machine could share the same bundles, thus avoiding unecessary downloads. In this sense you don’t really want to have to worry about where you put your bundles. Second, p2 is not based on an inclusion model. Instead it is a pure referencement model. Consequently the groupment on disk becomes moot.
> And then after restarting eclipse I discovered that there is no such a thing like hierarchy of plug-ins and plug-in locations at all.
What you are asking is not very clear, but you should take a look at http://wiki.eclipse.org/Equinox_p2_Getting_Started#Dropins
> And this is a network connection related progress. Isn’t it stupid?
The detailed progress is available in the progress view since this dialog can be closed to let you work while the installation is proceeding.
>It shows me an error dialog behind the modal dialog of progress information
Obviously you must write bug free code, congratulations
>I’m not even mentioning that there is no retry/ignore options.
When the installation is failing because of missing files, it is only once all the servers containing the searched file have been consulted (we pick the mirror behind the scene). Therefore you can’t go any further without adding new repositories, thus the absence of retry button. Btw if you have time to provide code to ECF to know whether or not a network connection is active you are more than welcome to contribute.
> you can replace the new p2 with the good old Update Manager.
p2 is the new story for the end users. The disablement script is not intended for every user. The targeted audience is product teams who have a such a large dependency on UM that they can’t convert to p2 immediately. Also note that p2 supports a cohabitation mode with UM.
As a conclusion, I recommend you to try the RC1 candidates but also to remember that as an eclipse committer your duty is not only to work on your project but also to improve the overall ecosystem by entering bugs (https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox) which you have failed to do so far.
May 16th, 2008 at 04:22:07
Most of these criticisms seem like bugs and I assume you have filed them as such?
While I have absolutely nothing to do with p2, I do know that the crew behind it is working very hard. I am sure they are interested in constructive criticism, but starting a blog post with “Why something sucks” is a little harsh.
Seva: Yeah, I know.
May 16th, 2008 at 11:03:38
I am not even sure whether the posted criticism are really bugs or misunderstandings on the new concept. It took me a few hours to halfway understand why p2 works the way it does. I especially found the migration guide to be improvable, because of the following: like the author of this post here, i used to have several plugin directories and configured my Eclipse installation using link files. The migration guide suggests to use the dropins directory for this approach, but this is a problem when you actually want them handled by p2 and keep them updated through the Eclipse GUI.
I think the correct way to do this (at least what i have understood so far) would be to create different profiles using the p2 agent and to use a shared bundle pool. You can’t manage all this from Eclipse itself anymore and i guess that users will have trouble to understand this as long as there is no proper article that covers the migration of all the possible configuration scenarios that existed in prior Eclipse versions. Simply assuming that separate plugin directories were always updated by hand like the current migration guide does is a little too easy.
Another side note would be that i also got stuck in my experiments with the p2 agent of mac os, because it constantly couldn’t find some packages. To my disgrace i have to admit that i didn’t submit a bugzilla report - i wanted to wait for the next milestone until i would start to complain. But while the author was maybe a little rude in his words, i can surely understand his frustrations as p2 is in fact a little different and it takes time getting used to it.
May 21st, 2008 at 06:38:41
Three thoughts here:
1) I thought my comments about p2 back at Milestone 3 (December ‘07) were a little rough, but this unfair.
2) Opening bugs with steps to reproduce is the best way to get things changed. Talking with the developers (eg., in #equinox-dev) is the best way to learn about the designs & rationales for the new world order of p2.
Seva: Maybe it was a mistake to post this impression into this blog, but I was expressing my own, personal feeling as an user - I was attempting to upgrade my personal environment at home and I was not interested to invest my personal hours or even days into investigation why and what exactly goes wrong with the project. My overall feeling is p2 is not just buggy, I hardly accept the whole software design of this thing, acknowledging that I do like some of it aspects, and this is an additional reason I don’t feel too enthusiastic digging their bugs repository etc.
3) I’ve seen a number of posts recently in the PDT newsgroup about your not being responsive to your community, yet here you are flaming others for their work. Glass houses, man. Glass houses.
Seva: Are you talking about me personally or the whole team?
June 2nd, 2008 at 04:12:57
funny how it is always welcome to use superlatives to describe how great Eclipse is, how wonderful everyone is and how smoothly everything is running… but start to express doubts are even a criticism… ohhhh capital sin!!!
My own problems with P2:
- I can’t make any changes to the workbench.ui jar
- it lost some level of information about the contents of the features
- it is hard to get rid of (the scripts posted to do that in M6/M7 did not work)
- it plain did not work when it first showed up (the ECF version snaffu forced me to delete and re-install a few times before I gave up and went back to M4). this type of failure clearly indicated a rushed first time out (all I was doing was installing some of the other ganymede plugins).
I am still hoping that someone will come to their sense and either delay Ganymede or remove P2 from the initial release and make it a subsequent opt-in upgrade.