.releng

automation, application, assembly, and angst

Equinox p2: First Impressions

As Dave suggests, sometimes it’s better to show rather than tell people how to do software configuration. So, last night I downloaded Wink and played with p2 for the first time.

First of all, let me just say Wink 2.0 for Windows is pretty cool. Wink 1.5 for Linux is almost as cool, but certainly lacks some features. Took a while to figure out the best workflow for capturing a p2 setup, but once I settled on a 1400×1000 frame (most of my screen), it was pretty straightforward to do screen captures and timed captures, but there seems to be a bit of a display/refresh problem as some slides were caught in a half-drawn state as a dialog was opening or being moved.

So, enough meta. What do I think of p2? Well, as it stands today, I see a lot of potential for it to be useful at the enterprise level, but it’s a little obscure for Joe Average “I just want to install Eclipse” User.

Granted, the idea of a software repository is not that foreign a concept for most linux users, and installing from an update site is a known process in Eclipse — but now we introduce the idea of adding the same repository twice, and of Profiles. I’m sure there’s a good reason for this, as I said, but without reading deeply into the p2 bible, it seems — on the surface — a bit overkill.

So, what would make this easier? Well, for one, assuming that the Metadata Repository and Artifact Repository were the same URL unless otherwise stated. For another, a wizard to add this/these URL(s) and a Profile all in one go. Because I can see the power of having these split into three entities, but again, for the first-time user, it should be simpler. And finally, once I’ve installed the ‘userui’ bundle, it ought to include the URL from which I installed it, so that I can reuse that site without having to add it (a third time).

Don’t take my word for it. Try it yourself. Don’t be too annoyed with the fact that you can’t (yet?) use the Ganymede M3 staging update site to install using p2 (I’m assuming this is because the site lacks the the Metadata Repository and Artifact Repository files p2 needs, but it could be something else too). To really prove the value of p2, the Ganymede update site needs to permit us to install more than just the platform, but I’ve no idea how much work that’ll entail for the Ganymatic. Time will tell, I’m sure.

Oh, and about that whole Wink thing? Well, here’s my first-ever attempt to capture the p2 experience on Linux: Install Eclipse3.4M3+ with Equinox p2 M3+. I know, it’s squished to 66% of original size, it’s a 2.6M download, and the nav buttons are ugly… but you get the idea. And it’s certainly more friendly than a wiki walkthrough.

Suggestions welcome.

Posted December 1st, 2007 by in category: ganymede, p2, usability, wink
You can skip to the end and leave a response. Pinging is currently not allowed.

4 Responses to “Equinox p2: First Impressions”


  1. Pascal Rapicault Says:

    Thanks for the review. I wish the experience had been a bit more pleasant, but one thing to remember: “what you see is *not* what you will get” !

    Indeed, what we now refer to as the “Admin UI” or the agent is definitely not something we want “Joe Average” to use. It is a power-user tool that the p2 team has been using to see the guts of the system and explore with reusable building blocks of UI. But it is absolutely not a reflection of what we hope the end user experience to be.
    The same goes for the concept of profile and the separation of repositories. In fact as you may have noticed while using the “end user UI”, which is intended to be our real UI (see Help > Software update (incubation)), profiles are not revealed and you only have to add one repository.

    As for the intersection of Ganymede and p2, it first starts by shipping p2 in the SDK. This is planned for M5. However, before making this real we have a few key robustness and compatibility issues to address to minimize the disruption of the community. That in place, our plan of integration with Ganymede consists in adding an extra step (repository generation) to the Ganymatic, thus requiring no action from the producers of the Ganymede parts. That said I am secretely hoping that some keen teams will produce p2 repos as part of their builds.

    To conclude, M3 was a step along the way. M4 will contain several key improvements and 1.0 will rock Ganymede :-)


  2. Nick Boldt Says:

    Pascal:

    First off, apologies if the above blog didn’t seem pleasant. As always, I’m never trying to piss in your (or anyone’s) proverbial cornflakes, only to take a usability-critical look from my particular geek-pretending-to-be-a-newb slant.

    As to “keen teams”, allow me to put my money where my blog is: sign me up for producing p2 xml files so that our update sites will double as p2 repos. Other than reverse-engineering what’s in the /testUpdates/ site, is there a document (or schema?) explaining what needs to be in these files, so that I can start installing the Modeling Project stack via p2 instead of Update Manager?

    Once I have a tool to generate content.xml and artifacts.xml from site.xml + the site jars, I’ll of course contribute that to the Ganymatic, unless they plan to do things some other Buckminster’y way than what I’d propose. Incidentally, what’s the recommended approach for generating this content? How do you generate it, and where can I find the source so I can start reusing that?

    Finally, as to the couple minor bugs I found and documented in the Wink presentation, are those known issues or would you like me to open some bugs on p2 and/or the Ganymatic to track those issues?


  3. Kim Moir Says:

    Nick, you don’t have to write a tool to generate the p2 metadata and associated files, this is already done in the Equinox build today. See org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox.prov/run.xml.

    Of course, this script generates the p2 zips too in addition to generating the metadata so you don’t need all the steps in your build.

    There is also a bug open for Ganymede integration.

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=208648


  4. Pascal Rapicault Says:

    Your post did not bother me nor pissed me. You did your analysis based on the information that was available to you. It is therefore our fault for not communicating things clearly. Thanks for the wake up call and thanks for accepting to be an early adopter (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=211800).

Leave a Reply

You must be logged in using your Eclipse Bugzilla account to post a comment.

Recent Posts

Archives

Categories

Meta