Tuscany, Italy

4 days / 20 talks
Awesome and great speakers

October 16-21

Mischa Klement

Omnis developer since 1987 starting with Omnis Quartz, the first Omnis version for Windows. Grew then up
with Omnis 7 and, as every boy, started to dissect his favorite toy to see what else could be done with
all those bolts and nuts and bones. Eventually discovered a technique called after his favorite car
driving style, that lets you … ok. Join his presentation and you’ll see.

1999 honored as Omnis fellow by David Seaman at the Geek Week in Denver, verbatim for his life-time
contributions to the Omnis community. Well, we all know that his fancy wizardry actually came from
playing, not from real hard work. Anyway. Mischa loved it and still has the deed exhibited over his

Since 1998 speaker at various Omnis conferences starting at the very first EuroGeek, the antecedent of
EurOmnis, to AmerOmnis (formerly GeekWeek) and OzOmnis downunder. Holder of an ancient website called
The OMNIS L/B, probably the only Omnis related site on the web that stayed untouched since 1999, but finally began to envolve in 2014.

Due to his demanding secondary occupation as radiologist, Mischa has become rare in the community since
the last years. He, however is still around. God bless us.

Subwindow widgets

Subwindows are very powerful objects. They are even more powerful than Tiger Logic would tell you in the manuals. With some inside knowledge, you can turn them into fully working widgets.
This means the handling simplicity of an entry field, combined with unlimited encapsulated complexity and functionality.

Subwindows are very powerful objects. And you might have used subwindows already for years without being aware of their hidden strengths. Ever wondered what the $dataname property is good for? This is what the manual says: ‘normally you should leave the $dataname property empty‘. And in fact, you can do useful things without the $dataname property. However, imagine you could assign a variable to a subwindow’s $dataname, as you do with entry fields. Imagine, the subwindow could not only read this variable, but also change it and hand it back to your main window variable, and this all ‘out of the box’ – without further coding in your main window.

We will investigate the utilization of the $dataname property in this lecture, and look behind the scenes how subwindows really work. We will learn how to transmit data into the subwindow just by assigning a variable to $dataname, reading and modifying its contents in the subwindow, and send it back to the main window variable, step by step and with useful examples. In the end, you will be able to create your own widgets in Studio – your own fully portable and reusable window elements, designed for your very own needs in your applications. Did you ever miss a specific window element in Studio? Now go and create it on your own.

This session is for beginners and advanced Studio developers, and hopefully will leave you with tons of new ideas.

The DataUniverse

With just a few basic and easy-to-implement concepts we can leave the traditional file- or table based data organization behind, and enter the fantastic world of the DataUniverse. Symmetric links on record base will give us a point-of-view data representation, while inheritance of file/schema definitions allow us to organize the data itself hierarchically with inheritable data attributes.

In 2002 at OzOmnis, I introduced a – at that time totally different – concept for organizing data. It was no more than just an idea, and only intended as a small side step in my lecture about the Omnis datafiles. Amazingly, the audience was very keen about the introduction and a lot of questions were asked. Now, after more than one decade, the DataUniverse has developed from a concept to a fully working SQL-based implementation, that is used in my application.

In this lecture, we first will go through the requisites, that allow us to literally organize the world. The DataUniverse in fact is a cosmos of data, with individual links between its elements, that are not relational but symmetric. The implications are huge: You now can navigate and interpret your data set from any individual element’s perspective, giving you a dynamic point of view representation of your whole database. We will find out that it does not take much to implement a DataUniverse into existing frameworks with only a few generic elements.

In a second step, we learn how to technically implement inheritance of schema classes, so that for example a person table is inherited in a client table at one place, and a patient table at another place, without the need of duplicating the person data. In principle, we can nest data definitions

to every level we want, allowing us to implement data hierarchies within our database, and – most important – simply by using Studio’s own inheritance features and some code lines in the superclass of the table definitions.

A running gag in the Omnis community says, that every developer has his own framework. This lecture wants to enable you to partially or fully implement the DataUniverse into your own individual framework without the need of reinventing the wheel, but also without breaking your own development. All features can be expressed in your own terms and SQL implementations other than demonstrated. The session introduces a terrific way of organizing data, and how I implemented it; it is by default open for brainstorming, additional features and different implementation strategies and hopefully will give you a brand new view to data organization.

This session needs a little experience in SQL and in the object oriented paradigm of Omnis Studio.



Follow Mischa




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