Monday, June 21, 2010

Eclipse preferences

As you may remember from my earlier postings, on of conditions on which you can get your degree at Poznan University of Technology is taking part in so call Software Development Studio course. Participating students learn how it is like to write a software in real project, where are deadlines, quite a big team, changing requirements, real communication problems, etc. It is the first real experience of students with business world.

Google has recently created their workspace mechanic, which addresses the most common problem that big adopters of Eclipse has - preferences management in corporate environments. I am very happy that someone has finally noticed this problem.

However, I am not happy with installing 3rd party software to manage all the preferences. More, I do not believe it is a correct way. Eclipse, as a great platform, should offer such a functionality without the need of installing non-Eclipse plugins.

That's why I am supervising the project called 'Extended Preferences'. It is at very early stage, we are not sure if it will be welcome by Eclipse Foundation, but if you have some specific requirement which you think we should implement, just let us know.

For now, we would like to satisfy following requirements:
  • ability to define during the development, which preferences can be exported
  • ability to define import strategy (override, merge or reset)
  • ability to create a set of preferences to distribute them amongst developers
  • ability to promote project preferences to workspace preferences
  • support preferences which can be shared across workspaces
  • help developers to use preferences correctly (implement change listeners!)
  • create migration tool

We are not sure if we will succeed, the project is at very early stage, but we are going to try hard.

I will keep you informed :)

Tuesday, January 26, 2010

Dropins diagnosis

This post is P2 related but I could not find the appropriate words to start it. Actually I would not know what to say about P2 even if I could write this in my native language. P2 was definitely a pain at some point, but I still have no clue about the real root cause - was it P2 or just the change of general approach to plugin management.

While there are certainly areas for improvement, the P2 team does a great job in fixing bugs. They are preparing API, which in my opinion will speed up P2 adoption because you all will be able to wrap existing functionality into your UI, so there will be much more testing and much more bug reports :-).

I wanted to let you know that one, in my opinion very important, bug has been fixed:
Bug 264924 - [reconciler] No diagnosis of dropin problems.

If you add right now to your .options file following lines
org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true
P2 will inform you what bundles were found in dropins/ folder, what request was generated, and what is the plan of installation. Maybe it is not detailed explanation of what actually happened, and what went wrong, but it should give you strong information about where to start - was your bundle in the plan? Was it installation problem (P2 fault) or maybe it is just not optimal to include your feature?

This is not a lot and a lot at the same time ;-).

Thursday, December 17, 2009

Xtext - how to start

Sometimes is better to have screwdriver than swiss knife. At least people from the are of DSL think that. Well, I have decided to follow this path. I need a screwdriver. In our world one of the options is to use Xtext. Xtext is a framework for development of textual domain specific languages (DSLs).

What does it mean?

You can build a grammar description and with the use of the framework get a:
  1. EMF model related to this grammar.
  2. Fully functional text editor.
  3. Scaffold for the generation tool

What for?

I need to record some data in structured form. I need model. Text editor is more convincing.
But this is only my motivation. There is a sea of use cases.

How to start ?

You can download Eclispe Modeling tools distribution from Eclipse downloads site. Or use update site.
Then you can follow Xtext documentation. And this is the reason for this post. Although, you don't need to spend weeks on learning Xtext principles to build usable tools, still there are some things missing from the documentation.
You have created project, you have written your grammar. Now is a generation step. Is build successful ? Not really. If you look at the console view, you can find why.
You are generating without ANTLR. It is highly recommended to download and use the plug-in 'de.itemis.xtext.antlr' using the update site http://download.itemis.com/updates/milestones
Of course solution is to download the plug-in. After that you can follow the getting started tutorial.
Code is generated and now is time for building your XPand templates to generate Java code from your model. How to do that? There is no "generate sth.." button in your target environment.
The simplest way is to import your xxx.generator plug-in project from source to target. You are almost done. The only thing left is to add required dependencies to imported project. It is also helpful to add XPand nature to this project. After that you can follow tutorial, build XPand templates, and generate Java code.
Hope this short note will help somebody to start the adventure with the screwdriver even smoother ;)
Next time I will show you how to change editor default coloring.

Thursday, November 26, 2009

Business and academic environment should go together!

You may not know this, but IBM Eclipse Support Center is a child of Poznań University of Technology and IBM. Both parties believe that science is valuable only when it is closely connected to the real business world.

This is quite difficult to achieve at quite abstract level of ogranizations. "We support universities", "We are close to business world", those statements looks great in PR, which does not implicate real usefulness. The science should be inspired by business, and the business should benefit from the science.

Poznan University of Technology managed to create quite good environment, where students can gain real experience, which is so important nowadays. Rules of cooperation are quite simple:
  • A company proposes a project, which cannot be mission-critical.

  • 6 students (4 developers, PM, Architect-Analytic) realize it as a bachelor thesis. This phase takes about 4-5 months.

  • Everybody is happy, everybody gets something valueable. Students participate in real projects, talk with real customers, while companies have their projects made for free.


We'd like to help those students, give them Eclipse know-how, which will make them really productive. Because of that reason we decided to held FREE Eclipse course for students. Check the presentation for details:



If you think that the cooperation between universities and commercial worlds is an absolute must, and you have ideas for which you do not have resources, please contact us contact us.
Even if you have ideas about Eclipse itself, if you think there is something that can be improved by those students, some new feature implemented, do not hesitate!

Friday, November 20, 2009

Eclipse Demo Camp in Poznań

This year Eclipse DemoCamp will be hosted at Poznan University of Technology.

Please refer to details .

Check out our special guest!

Tuesday, November 3, 2009

Small but usefull enhancements to StyledText

The biggest problem with line indenting in StyledText was that only the first line was indented when word wrapping was enabled.
But right now this issue has been fixed by Felipe Heidrich.
See the snippet:
Can you see the difference between first and second paragraph? I think it will address many many issues that you had with text indentation.

The most important new API method is:

StyledText#setLineWrapIndent(int, int, int)


The patch was released into Eclipse 3.6 M4 stream, so you need to checkout SWT from HEAD to utilize this awesome functionality.

Regards,
Chris

Monday, November 2, 2009

Helios Staging Repository

If you work with Eclipse 3.6 dev stream and you need to install various additional tools/frameworks (like Mylyn, EMF or WTP) and you are fed up with googling for particular update sites you can use Helios Staging Repository (http://download.eclipse.org/releases/staging).

Well, it allowed my to set up my new shiny M3 in 10 minutes.