www.bsi-software.com
 

Eclipse DemoCamp Zurich: June 24

800px-Democamp_zrh_banner

We are looking forward to next week’s DemoCamp Zurich hosted at the ETH. Next to Eclipse SmartHome (Jochen Hiller), EMF Forms (Jonas Helming), e(fx)clipse Compensator (Tom Schindl), Eclipse Scout (Matthias Zimmermann) and the Yakindu Statechart Tool (Axel Terfloth), we also have two guest sessions with Martin Lippert presenting the Spring and Cloud Foundry Tooling for Eclipse and Dierk Koening giving a Grails live-coding demo.

If you’d like to join us for this DemoCamp and haven’t already registered, please do so now (or soon).

And, as always: Good location, great talks, free food and beer and a friendly crowd :-) see the impressions of last year’s DemoCamp Zurich below.

democamp14zurich

We would be happy to get feedback the corresponding forum thread.

Project HomeForumWikiTwitter

Documentation Platform for Eclipse Scout

Developers often see the documentation as a non-urgent task. As a result, documentation always ends up at the end of the task list. For an open-source project this is a dangerous approach as having no documentation at all, and even bad/outdated documentation represents a serious obstacle for growing a community successfully.

Currently, the Eclipse Scout project has a historically grown documentation. In the past, several approaches have been tried (wiki with and without the version in the page name, a book, html files, conversion of the eclipse wiki to the eclipse help format…). Although this approach can be considered to be a valuable learning experience, the project is now faced with the challenge of having various documents with overlapping content and different formats. This also increases the necessary efforts to keep the documentation in sync with the current release.

For our tooling stack we have this vision:

  • Automation of everything that is possible
  • Single source: produce the different outputs reusing different modules (website, tutorials, books, eclipse-help…)
  • Extract the code listings from existing real applications in order to be sure that the development is up-to-date.
  • Use a git repository instead of a wiki to ease the maintenance on different branches.

Here is how our big picture looks like:

Eclipse Scout documentation workflow

Bug 465960 is an umbrella bug, where we track our activity in this domain.

With RC1 we will deliver an initial version of an “Eclipse Scout User Guide” (Eclipse Help format). This allows us to experiment with our toolchain based on Asciidoctor and some additional post processing steps.

Eclipse Scout User Guide

A first version of the same content is already live on our homepage.

scout_helloworld_homepage

The content of the “example pictured is realized in two adoc files, the HelloWorldFrontend.adoc and the HelloWorldBackend.adoc.

We would be happy to get feedback and questions in the corresponding forum thread.

Project Home, Forum, Wiki, Twitter

Font Icons for Eclipse Scout

Today, web pages and web applications start to rely more and more on font icons. As clean and modern icons can help an application to get a professional look and feel we went through the little exercise to demonstrate how to use font icons in Eclipse Scout applications.

One of the most prominently used icon font on many web pages is Font Awesome. As the font contains hundreds of icons that are free to use even in commercial applications, it is ideally suited for demonstration purposes as well as productive use.

font_awesome_homepage

The reminder of the article describes the usage of such fonts for icons with Eclipse Scout.

Read the rest of this entry »

Scout Team at Javaland: meeting with the Asciidoctor Guys

I really enjoy conferences, because it is a great opportunity for me to meet new people. Before going to a conference, I usually have a look at who will be there (looking at the program or at twitter). And often, some of the participants are experts in domains that matter for a current project I am working on and I can prepare a set of questions that I would like to discuss.

Javaland 2015 - Logo Javaland 2015 - Jérémie Bresson and Oliver Boehm

At last week’s JavaLand Conference I was able to take advantage of this habit regarding our efforts to refactor the documentation setup of the Eclipse Scout framework with Asciidoctor. If you don’t know Asciidoctor, I recommend you to watch any of Dan Allen‘s talks available online (for example Discover The Zen Of Writing (Ascii)Docs at Devoxx 2013).

Attending Dan’s Talk Effective AsciiDoc: Best Practices for Writing Docs (slides) and being able to discuss with him the day after helped me to find solutions to most of my Asciidoctor issues. From this and past experience I can only say that discussing with experts is always a great experience and helpful. And in case you haven’t done this in the past, give it a try at your next conference.

In the reminder of this blog post I will talk about the motivation behind the refactoring of the Eclipse Scout documentation setup and write about the Asciidoctor Live Preview plugin that I got to know at JavaLand.

Read the rest of this entry »

Eclipse.exe and windows processes

One of our clients mentioned that his users sometimes wish to kill the process associated with its Scout client application in the Windows Task Manager. Scout applications use the Eclipse Launcher exe like any Eclipse RCP application or the Eclipse IDE itself. I will use “eclipse.exe” as application name in this blog post.

The problem was that in order to completely terminate the client application, they need to be aware of the fact that their application was actually running in two processes, the eclipse.exe and the javaw.exe process. By just using “End Process” (button or context menu) on the eclipse.exe process in the Task Manager, only the smaller process is killed and the much larger javaw.exe process continues to run. Only by selecting “End Process Tree” in the task manager the complete application is terminated. Only few users were aware of this setup that is not really user-friendly.

End process in Windows Task Manager

After some investigation we could propose a solution to address the client’s issue. The Scout client application now appears as a single process in the Task Manager and it no longer matters if users click on context menu “End Process” or “End Process Tree”.

In the reminder of this article we summarize our findings that should directly apply to any Eclipse RCP application or the Eclipse IDE itself.
Read the rest of this entry »

Eclipse Scout Roadmap 2016

For the 2016 release of the Scout framework we will introduce two significant changes. These changes address major pain points we have suffered from in the past. As the scope of the two changes is substantially larger than in previous releases, we would like to start talking about them well ahead of time. So remember in the text below that this is a blog about the future of Eclipse Scout scheduled for 2016, not about the upcoming Mars release.

The first change is driven by our vision of the future of UI technologies for business applications. The second change addresses the need of our customers and BSI that Scout applications should be easy to integrate in a Java EE or Spring based environment. In the text below we will discuss these two changes individually. Read the rest of this entry »

Scout Adopters we didn’t know about.

At BSI (the company behind the Scout Framework) we have recently discussed our knowledge about the community of Eclipse Scout users and found that it is too limited. This was one of the lessons we learned from our first Scout User Group Meeting. For this meeting we have invited our Scout customers and colleagues. By customer we mean individuals from companies that have paid for services in relation to Scout (consulting, trainings, change requests, project bootstrap, …). And by colleague we mean people we already met (at conferences or democamps) that where doing something with Scout. This get together was important, informative and supported the networking between customers/contacts. However, we found that the real challenge is to contact and learn from Scout adopters that we do not know (yet). Read the rest of this entry »

A new Scout Widget Application

Since quite some time we had our old Scout widget application to demonstrate most of the Scout widgets that are available out of the box in the Eclipse Scout package available on the Eclipse download site.

This old widget application has historically grown over time and includes many special that have been added to demonstrate and fix bugs or features. While starting to document the individual Scout widgets we found that a renewal would help to better showcase the typical usage patters for the different widgets and also highlight the most frequently used configuration options. As a result, the old widget application has been rewritten accordingly.

The client only application is organized into separate outlines for thematic groups of widgets. Each of the application’s outline then presents a list of widgets in a navigation tree. This is shown below for the Simple Widgets outline that contains examples for simple UI widgets such as label fields or string fields.

For each UI widget a corresponding example form presents a number of typical use cases and configuration options. The example forms are designed to be independent from each other. It should therefore be possible to read and understand the source code of each example form with minimal effort. Via the Open in Dialog … context menu the content of the view is displayed in a modal scout form. As shown below, the complete source code for the selected form can be accessed via the View Source on GitHub context menu.

widgetapp_github_menu

Read the rest of this entry »

HTML & Diff & normalization with JSoup

We are working on an Eclipse help document for the Eclipse Scout project. Our vision is to re-use content from the existing Scout book where possible. For this, we want to be able to share text modules between the two documents. In order to do so, I am currently working on the setup of each document and I am extracting some existing text into independent modules.

The difficulty of this task is that you should not break anything in the existing documents. Manual review of hundreds of pages was out of question, so I came up with the idea of doing a diff on the HTML between 2 versions (before and after the refactoring).
Read the rest of this entry »

Generating Eclipse Help from existing HTML Documentation

Creating a Eclipse Help bundle for the Eclipse IDE is simple. You only need three things:

  • Some HTML content (one or several pages)
  • A specific XML file describing the “Table of content” (a toc file)
  • An entry to contribute to the org.eclipse.help.toc extension point.

If you do not know how to start, you can use the “Plug-in with sample help content” template when you create you new plug-in Project.

New Plugin Project Wizard - Template: Plug-in with sample help content

The painful aspect of the work is manually keeping the XML toc file in sync with your existing HTML documents (i.e. the output of your documentation tool). Luckily, there are tools that help to reduce substantially this pain.

Read the rest of this entry »