+1. I agree with everything Markus has said here.
It is a major restriction that you can’t update individual features, especially in light of security and other bug fixes that may come down the pipe. The Package can’t be responsive enough to rebuild every time something like that is needed. As an example,
the Egit/Jgit update that we just released. That should have been as simple as Check for Updates the minute Egit published the update.
And yes, I don’t think users understand much about what we do on a daily basis, nor should they. We should be carefully managing the experience they have with that in mind.
Doug.
Thanks for your thoughts and your feedback about the update/upgrade/removal of features. I hope that's only the beginning of a longer discussion about the best way to move forward with this.
I share many of your concerns which is why I didn't push on this last summer only a few weeks before the Luna release, but now I feel it's the right time to bring it up for Mars.
Let me try to answer your questions:
- Would “updating a feature individually” break the “simrel testing”? I don't think so, because it is already possible to update an individual feature in a manual way (add p2 repository, select the feature for "installation", p2 will change the install operation
into an update operation). The proposed changed wouldn't change the status quo, it would just make it easier and probably more understandable for users. We never defined exact versions in the EPP product definitions (a fact that some may call broken, while
others are welcoming this kind of freedom).
- Would users understand that? Based on the feedback users don't understand the current behaviour. My hope is that allowing to update features individually feels more natural to most people.
- What if updates would be pulled in automatically? Yep, that's a risk. On the other hand the user still needs to confirm any updates. If we think that is not enough we need to define exact versions for everything in EPP... it's not really what I'd like to
do but it could be a soliution.
- How to chose which feature(s) might get pulled out as root features? Honestly, I don't know. In my initial mail I wrote "all/some" knowing that this is probably the hardest part. Personally I would rule out "all", but if we think a bit further about "some"...
then.. who is deciding this? The package maintainer? Should/must it be the same for all packages? I hope to get more feedback and ideas on this, too.
- Roll-back of update operations in p2? Possible. Whenever I tried it (which was not very often) it worked as expected.
I still believe that this would be a major step forward. It's just a question of doing it "right".
(Maybe we should move the discussion to bug 332989.)
Thanks again,
Markus