Wednesday, May 19, 2010

What exactly is inside that p2 repository?

Wasn't it nice when we were able to point our web browser to an Eclipse update site and instantly see what's in it? Like with this one.

Has it ever bugged you since that this is not possible anymore with p2 repositories? Like with this one.

I've spent some time (with the help of Dave) to add the generation of a similar HTML outline to the new CDO build system. See our resulting p2 repository:

I'd like to encourage you to provide something similar for your public p2 repository. I just added this Ant markup after the site.p2 generation:

The P2Content.xsl file can be found here. If you apply a nicer HTML rendering than I was able to I'd appreciate some hints or snippets.

Tuesday, April 6, 2010

Honor, Slides, Webinar, ...

First I'd like to thank you, the community, for electing me as this year's top committer. This is a tremendous honor for me and a real motivation to keep my effort at the same level as the last six years that I have been working with and for the community. Thank you!

During Jeff Norris' keynote at the EclipseCon it was also nice to see CDO being used for the distributed mission planning and control application of the NASA. In general it was an awesome presentation, almost impossible to top.

Taken from previous year's slides.

My own talk about CDO was not nearly as cool but the room was full and I got some nice compliments. Some asked for the download location of the slides I used. They are available here.

Who is who?

As my slides do not provide much explanation by themselves we will offer an online webinar again. If you're interested, come and learn about the CDO Model Repository and its new 3.0 features on

Thursday April, 29th, 16:00 CET.

The above picture from the Enterprise bridge shows you the moderators of the webinar. Whoever is able to tell who they are can take part in a raffle and win an Eclipse polo shirt (sizes small and medium available)!

Friday, March 19, 2010

CDO goes Offline

If you followed the catchy title because you were fearing that the CDO Model Repository project could be discontinued, well, then I've chosen the right title. Let me elaborate by starting with a little anecdote:

During a previous conference I talked about how CDO can transparently turn your file based, isolated EMF applications into a distributed cloud of nodes, all collaborating on a central shared model, immediately seeing all the changes that are committed to the repository by other clients.

I was asked what would happen when, due to network failure, a client gets disconnected from the server. Would it be able to continue working in a disconnected mode? At that time I answered that the C in CDO is for Connected (Data Objects) and that we, for this reason, do not offer an offline mode.

Well, while that caused a grin here and there it was kind of polemical and I must say that I've always understood the industrial relevance of being able to work offline. The real reason for not having this mode in CDO has always been the tremendous cost to develop it properly. As an individual full-time committer I just couldn't afford this investment on my own.

But exactly this has changed since and my new main sponsor has given me the opportunity to develop the cool new offline mode for CDO. In fact it is not only a mode, optionally provided on the client side. More exactly it's a new type of a cloned repository. This clone is continously being synchronized with a master repository and can almost be used like a normal repository. Clients are almost not impacted, normally they do not even realize whether the clone is online or offline.

The major challenge wasn't so much the background synchronization of the clone or write-through commits of clients while the clone is online. It turned out that committing to the clone during offline periods and pushing these changes to the master later is even more complex. I'm tempted to slip into the details of the technical solution that I implemented, but the whole purpose of this article is to allure you to my exciting EclipseCon talk:

The talk is on Wednesday, starting at 14:30 and I'm going to augment the beginners' overview of the technology with a preview of all the new and the cool stuff that we'll be delivering with the upcoming CDO 3.0 in Helios. And I'm also going to explain why the new offline mode has coincidentally lead to the introduction of branching and merging support in CDO, as well.

I'm looking forward to meet you all (again) in Santa Clara!