www.bsi-software.com
 

Democamp Double Feature: Munich and Zurich

With close to 100 participants each, Munich and Zurich are among the largest Eclipse democamps. Last week, participants in the two towns north of the Alps had the opportunity to meet old and new friends and learn about a wide variety of topics in the Eclipse ecosystem.

04_eclipse_dc_muc_break

Democamp Munich, June 23rd

The democamp in Munich was hosted for the second time in the building of Capgemini (many thanks to the friendly staff) and organized by BSI Business Systems Integration, EclipseSource Munich and Angelika Wittek.

The official sessions started with a demo by Tom Schindl presenting his e(fx)clipse Compensator project.  Compensator, a set of loosely coupled components, can be used to build light weight IDE.  With its Java FX front end the developer may take advantage of the available CSS styling. In the impressive second part of the demo the participants watched Tom assembling a small Dart IDE in less than 10 minutes that included syntax highlighting, error marks and code completion.

In the following session, Jörg Hohwiller demonstrated OASP4J-IDE that helps to quickly share and update complete Eclipse IDE setups for Java projects. As individual project installations do not interfere with each other developers are free to work with as many concurrent project setups as they need.

Next was Jens Reimann and Jürgen Rose with the Package Drone project that was accepted very recently as an Eclipse Foundation Project. With a Package Drone repository Maven Tycho can now also be used to upload software artifacts to a Package Drone repository. Once in this repository Package Drone can provide the artifacts in different forms such as P2 update site or a OSGi R5 repository. For future versions of Package Drone support for additional formats like APT and YUM are planned.

With Profiles for Eclipse (based on Oomph) Frederic Ebelshäuser was addressing the pains of reliably setting up your Eclipse IDE. Profiles for Eclipse is currently available via a proprietary Eclipse HUB portal that also includes some social features. Using this portal it is possible to share profiles between participants, following profiles and getting notified when subscribed profiles are updated.

In the last session before the break, Matthias Zimmermann demonstrated how to build modularized enterprise applications with Eclipse Scout. For modularization, the Scout framework supports both technical layers and business slices. Matthias also announced that with the Neon release train, Scout is removing its dependency on the Eclipse runtime and become a pure Java framework. At the same time, Scout will also get a HTML5 new renderer.

01_eclipse_dc_muc_jubula 02_P1080908_small

After the break, Alexandra Schladebeck presented the new Jubula Client API in an entertaining talk. With the new Jubula client API that is shipped with the Mars release UI tests can now also be written in the form of JUnit test cases. After the audience had to promise to use these new possibilities only with great responsibility, Tom Zierer performed a hands-on COBOL programming session for mainframe development creating a “Legacy in Action“ feeling. After demonstrating the pain of working with too many character based screens, an Eclipse based IDE was presented that covered syntax highlighting, compiling on the back-end, collecting the result and displaying error markers in the source code.

In his talk about EMF Forms Jonas Helming presented the state of version 1.6 that is shipped with the Eclipse Mars release. The session demonstrated the available tooling to create the view model that maps elements of an entity model to UI controls. After demonstrating the tooling to create a form to manage persons, the created UI was shown in preview mode and in the form of a standalone RCP application. Jonas also mentioned current work on JSONForms a new web renderer that is based on AngularJS.

The democamp in Munich concluded with the Eclipse Smarthome session by Jochen Hiller. This talk concentrated on demonstrating the new features such as the auto-dicovery for attached devices. In the extensive demo, a variety of devices such as light bulbs, smart sockets, audio devices and even a hair dryer were included. For the demo itself Jochen showed the new slick Paper UI of openHAB 2,  that is based on the Smarthome project.

The democamp concluded with prolonged networking, buffet and beer that was greatly enjoyed by the participants.

Democamp Zurich, June 24th

Taking place for the 4th time, the democamp Zurich was very well attended and attracted around 90 participants. As in previous years, the Swiss Federal Institute of Technology (ETHZ) was hosting the democamp in one of the centrally located lecture halls and the event was organized by itemis Schweiz and BSI Business Systems Integration and with the Java User Group Switzerland as a partner organisation.

05_eclipse_dc_zrh_spring_tooling 06_eclipse_dc_zrh_dom_compensator

The first session in Zurich by Martin Lippert was all about the Spring and Cloud Foundry Tooling for Eclipse. The demonstration covered various aspects of setting up Spring projects with Spring Boot and included Spring development with advanced code completion, for example when working with YAML configuration files. As an experimental feature Martin also demonstrated the capability to debug a Spring application that is running on a server node in the cloud.

In the following three sessions before the break the audience was listening to contributions that have been presented the day before in Munich. Tom Schindl introduced the e(fx)clipse Compensator, Jonas Helming talked about the latest features of EMF Forms and Matthias Zimmermann demonstrated how to build highly modular enterprise applications with Eclipse Scout.

07_P1080924_small

After a short break, Dierk Koenig presented Grails in a live-coding session to the audience (no slides). In this way Dierk demonstrated how simple data-centric applications can be built with Grails by creating a simple application to manage participants.

In the next talk Axel Terfloth introduced the audience into the Yakindu Statechart Tools, an Eclipse based open source project to specify, validate and implement event-driven systems based on state charts. After creating a first simple state chart, the demo included running simulations, adding parallel execution paths to the example and generating Java sources from the model.

Following the agenda in Munich Jochen Hillers Eclipse Smarthome session also concluded the democamp in Zurich.

08_P1080943_small

In the networking session with food and beer many stimulated discussions took place. As the university was closing down earlier than the more commercial location in Munich, individual groups were simply taking the ongoing discussions to nearby beer places.

Democamps are about the participating People

From repeatedly attending and organizing Eclipse demcoamps it becomes obvious that these events are not only about learning new things and staying up to date with the projects presenting the latest features. Having developers and project leads on-site in an informal setting also allows for interesting discussions about work, personal views and potential collaborations. In addition, the local character of the democamps helps to build and maintain relationships across organisations over many years. It seems that this last point lets attendants come back to these events and makes them look forward to meet their colleagues. 

If you have attended one of the democamps and would like to share your thoughts please use this forum post.

Project HomeForumWikiTwitter

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 »