Eclipse OMG symposium 2010

Eclipse OMG Symposium Speaker Tag
I was lucky to present at the Eclipse OMG symposium this year.

The agenda of the symposium comprised of several sections: Assets and Models, Specification And Authoring, UML and Specification Conformance.

As part of the Specification Conformance session, I spoke about BPMN 2.0 and our plans for the Eclipse project.

We have major contributions piling up, in particular from SAP. Reiner worked on the final metamodel from the specification and provided the project with an ecore model.

I am also seeing interest from both sides, Eclipse and OMG, to work on a test suite for BPMN 2.0. That’s maybe the most exciting part of the new Revision Task Force !

My slides are posted on Slideshare:

Thanks again for the OMG to organize this event ! I was happy to meet in person with other members of the FTF. Looking forward to our next call.

New BPMN2 project lead

I was voted new BPMN2 project lead after earning Kenn’s trust.

Here is what we want to do:

  • Implement the reference metamodel for BPMN2
  • Create a basic editor with enough graphics that we become mainstream (I mean, we’d like to see the same icons reused all over the world)
  • Create a validation framework: rules applied to tasks, with warnings, errors, etc

Here is what we don’t want to do:

  • Create a diagram editor with BPMN2. That would happen in the SOA BPMN modeler.

If you’re interested, we are looking for contributors:

  • Your tasks as a committer: reply on bugs, reply on newsgroups, eventually do some marketing.
  • Implement stuff as part of your commitment to the project to the extent that your groups is interested. Ie if you have no stake into doing a validation framework, that’s ok.
  • And help with doing the website.
  • All over more fun than paperwork, and a lot of community building. As lead I’ll handle CQs, release reviews, move reviews, etc.

BPMN modeler mirrored on github

Remember last week, when I was telling you that the BPMN modeler had moved to git ?

Ketan and I maintain the eclipse account on github. We opened a support request and here we go:

http://github.com/eclipse/bpmnmodeler

The BPMN modeler is now mirrored on github! If you need another Eclipse project to be mirrored, open a support request on github and ask us to open an empty repository with the name of the project.

Kudos to the github team for their reactivity and their outstanding service!

The BPMN modeler has moved to git

As announced on the infamous git bug, the BPMN modeler moved to git.

I have changed the source code page of the project to reflect the move. As soon as we have the new build machine, we will port a new build for it.

Bug 308732: Gauge interest over a Languages TLP

After our discussion during the Arch council meeting last week, I opened bug 308732:

This bug aims at gauging interest over a languages TLP. The Architecture
Council debated of the current state and layout of the eclipse projects. I
personally would find interesting - and would be ready to help and support -
the idea that we should gather all projects that deal with languages, as in
programmation languages together.

I recently heard how the JSDT project was reusing JDT. I also see more projects
maturing or coming in, like ScalaModules or IMP. I see synergies in those
cases.
I also see a better marketing for those projects by being associated under the
same banner. Right now I would qualify it is hard to find a project if you
don’t know its name already, just by looking at the TLPs Eclipse advertises.

This bug is opened for community input. If you have any facts that go or
against this initiative, the council would like to hear them out.

Your opinion is important. Please let us know what you think.

Vote for Buildr tagline

We are seriously thinking of updating the Buildr tagline.
We exchanged proposals over the mailing list in this thread.
If you’d like to vote on the tagline, the Doodle poll is here.
You can vote for more than one proposal.
My favorites are “lean builds”, “Ready, Set, Build!” and “Build Like You Code”.

Results soon!

Countdown to Buildr 1.4

I was elected committer for Buildr about a month ago. Since then, I spent several hours a week helping the team getting the code ready for release.

We have a good set of fixes and a few nice features stacking up for the release. Daniel added continuous compilation, a way to run Buildr in a loop to check that your code compiles while you play with it. Alex provided a nice build script so that it’s easy to package Buildr on top of JRuby, and distribute it like you would get Apache Ant (we don’t know yet how we’ll distribute it, as JRuby is not exactly under the same license). If that’s of interest for you, here is the list of fixes in Jira and our CHANGELOG as of RC1.

RC1 ? Yup, we released a first RC for 1.4 last week (here is the distro). If you have 5 minutes, please help us proofread the doc and discuss the site.

We have 9 bugs remaining for 1.4. You can expect them to be squashed in the next 2 weeks!

Use the EMF Content Parser extension point to resolve content types

I am currently working on the BPMN 2.0 metamodel, using EMF to generate a Java model and a basic editor to edit .bpmn files.

At the same time, I maintain the BPMN modeler.

Everything was running smoothly until I tried to self host with both projects in my workspace. I saw my BPMN modeler trying to open BPMN2 files, and vice-versa.

It simply was because both registered the .bpmn file extension.

By looking at the possibilities Eclipse gave me, I noticed this cool extension:

Awesome! So it’s possible to set a content type according to the namespace of the XML document.

Now how do I use this with EMF ? The solution is quite simple:

Problem solved!

PS: While playing with content types, I noticed the schema folder for the plugin org.eclipse.core.contenttype is missing! I opened 308126 to follow up.

How to create a plugin for Buildr

Prerequisites:

  • Install git.
  • Install ruby, rubygems, and the braid gem.

The steps:

The basics:

  • Create a new folder and cd to it.
  • run git init
  • run braid add git://github.com/apache/buildr.git --branch trunk buildr
  • run ln -s buildr/rakelib rakelib
  • Create your .gemspec file.
  • Then copy buildr/Rakefile to Rakefile, and replace the reference to buildr.gemspec to your .gemspec.
  • Create your structure: a lib, a spec folder.
  • run echo "_reports" >> .gitignore

The spec setup

  • Create spec/spec_helpers.rb
  • Paste this code in it:

unless defined?(SpecHelpers)
  module SandboxHook

    def SandboxHook.included(spec_helpers)
      # For testing we use the gem requirements specified on the buildr4osgi.gemspec
      spec = Gem::Specification.load(File.expand_path('../my.gemspec', File.dirname(__FILE__)))
      spec.dependencies.each { |dep| gem dep.name, dep.version_requirements.to_s }
      # Make sure to load from these paths first, we don't want to load any
      # code from Gem library.
      $LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__))
      require 'mymodule'
    end
  end
  require File.join(File.dirname(__FILE__), "/../buildr/spec/spec_helpers.rb")

end

You’re done.

Try rake -T to see the buildr tasks available, use rake coverage to run tests and rake failed when you need to insist.

Galileo is out! Get the bits from Intalio now.

Maybe you heard some humming out there, or your favorite place ran out of beer suddenly. That’s a sure sign a new Eclipse release came out.

As an Eclipse member, Intalio provides a page to download the latest Eclipse Classic SDK. Enjoy!