4 days / 20 talks
Awesome and great speakers

November 3-8

Michael Monschau

Michael Monschau has been a speaker at EurOmnis conferences for over 15 years. Most of you know Michael from Brainy Data Limited, where he and his son Perry develop external components that are used by many Omnis developers. Their current focus is porting oGantt to Javascript which should be available as a preview at the conference

Prior to forming Brainy Data, Michael was a Senior Omnis Core engineer for over 14 years, responsible for designing and developing many Omnis Studio features developers use every day.

While working for Omnis Software, he built or was involved in building:
javascript web-client,
original plugin based web-client,
complex grid,
Studio report design mode,
printer devices & the printing SDK,
the SQL bridge, and
many other features.

The 4 cornerstones of Omnis programming

In depth review of data handling, programmability, performance, and flexibility in Omnis

This session explores key ‘under the cover’ benefits of Omnis’s outstanding data handling, programmability, performance, and flexibility in a way that allows developers to write code or components that excel. At the heart of Omnis’s power lies the “smart” design of Omnis calculations, notation, object orientation, and internal data management. If employed the Omnis way, these four cornerstones of Omnis programming lead to great software.

What is meant by the Omnis way?

Just like different artisan breads, Omnis has a unique flavour produced by the way it brings together the ingredients of data handling, programmability, performance and flexibility. Whether writing external components or Omnis code, understanding of and respecting these ingredients produces some great results. Following a brief introduction of the Omnis way, the session takes a behind-the-scenes look at how Brainy Data external components use Omnis’s power, unveiling techniques and considerations that are equally useful in everyday Omnis development.

Session topics

  • look behind the scenes of oWrite/jsoWrite data merging and document production, specifically
    • object orientation
    • notation and calculations
    • data handling
    • the potential of table classes in data merging (the Omnis way)
    • adhoc-reporting
    • devices and printing
    • fast RTF, HTML and PDF production
    • balancing data merging and document production on the JS Client
    • php based spell checking with server-based custom dictionaries
  • look behind the scenes of oGantt/jsoGantt and oCal/jsoCal, specifically
    • list handling in general
    • the role of smart lists and table classes
    • the problem of list manipulation on the JS client
    • possible solutions to the problem of smart lists and the JS client.
  • compare the different syncing approaches used by jsoWrite and jsoGantt
    • using local storage -and/or-
    • syncing every change

Writing Javascript Controls (Parts 1 & 2)

Putting together all the pieces to make elegant js-client controls

This hands-on workshop covers the development of custom remote form controls using the JSON control editor and making these controls accessible to desktop windows – write once and deploy everywhere.

The JSON control was introduced in Studio 8.1 with the editor arriving in Studio 8.1.1. Controls created using this editor are instantly cross-platform since the editor stores control definitions as JSON, and the controls’ functionality is coded using Javascript. No C++ required. Originally, these controls were only designed to work with remote forms for web and mobile applications. With the arrival of the JSCBridge SDK in Studio 8.1.6 however, these controls can also be used in desktop windows inside oBrowser. This opens up your desktop applications to the world of HTML and SVG based interfaces, which you can custom design around your specific needs.

The workshop is divided into two separate sessions and there is no need to attend both if you are only interested in one aspect of this workshop.

  • Session 1 will develop a javascript client control for web applications -and-
  • Session 2 uses the JSCBridge SDK to make this control available to desktop applications.

Session 1: javacript control for web

This discusses the design of a new kind of interactive grid-based control that organises data from a list based on customisable templates (the last grid control you will ever need)

  • use the JSON control editor to create custom properties, events, constants, and methods
  • look at the default Javascript that is created by the control editor
  • modify the default Javascript to add content from the list data using HTML and/or SVG
  • write Javascript to allow users to interact with the content and generate events
  • look at a simple method to check that the JSON control and javascript are in sync
  • have a question led discussion about the Omnis javascript control interface
  • discuss the problem of using Omnis icons using JSON controls in order to inform Omnis Software about a pending enhancement
  • use local storage on the client to store Omnis data including lists

Session 2: deploying JS controls in oBrowser with JSCBridge SDK

This takes a close look at the JSCBridge SDK

  • investigates what changes are required to a remote form for integration with oBrowser and JSCBridge
  • explores how to send messages between the remote form and desktop windows.
  • explores how to send messages to the desktop window without JSCBridge using URLs
  • looks at potential solutions to the JS client smart list problem



Follow Michael



About workshops


You’ll sign up for the session you want to attend on a first-come, first-served basis. Up to 6 participants may attend a session, if full, you can sign up for the same topic at a different time. During the session, the speaker will guide the audience through the main topic but you will be able to ask him/her to deviate and cover related areas. Sometimes participants offer new ideas and solutions to a problem.

Check the


Pursue any question or area not directly related to the core topic. Every speaker hosts at least 4 sessions which means there are about 11 to 12 simultaneous sessions running all the time with an average of 5 or 6 participants

Meet the Speakers

Check the


Flexible conference format means you can choose the best classes for you and at the best time. Some sessions will be repeated, so when you miss one, you can attend the same session later in the day or the week.

Check the Schedule