Tuscany, Italy

4 days / 20 talks
Awesome and great speakers

October 16-21

Bastiaan Olij

Bastiaan Olij has been developing Omnis applications since 1997. Originally starting with Omnis 7 and using Studio since its initial release he has worked his way through every iteration of Omnis Studio. Before his introduction into the Omnis world his passion was around graphics programming mostly working in C++.

For many years he worked for FIQAS Software in the Netherlands working on invoicing software specific for the telecommunications market but also working on complex CRM software. During this time he became an active contributor to the Omnis List and a familiar face at many conferences.

Now working in Australia for Instinct Systems he has moved into job management and accounting, has written his own document management server, integrated Omnis with calendar services, and worked on a legion of other very cool stuff. He has continuously pushed the boundaries of what is possible with Omnis as a development tool.

Database modeling and database “reorganisation“ in SQL

When looking at native datafiles one advantage of using them was that Omnis would automatically push file class changes to the datafile. Also with the move to schema classes we’ve lost some important meta data. In this session we’ll look at an approach to do this in SQL.

This session concentrates on what I believe is one of the key missing puzzle pieces in Omnis when dealing with SQL database. While many of us piggy back on existing databases or use external applications to model data models and create scripts to apply changes to their database not being able to use your library as a leading source and pushing out

changes to your database during an upgrade.

We’ll first look at adding meta data to our schema classes to complete the missing information such as indexes, referential integrity, constraints, etc.

Then we’ll look at how to reverse engineer this information out of a database mostly focussing on how to do so in Postgres.

Finally we’ll look at how we can use this information to make a comparison with our schema classes to either pull new table changes out of your database into your application and how to push changes you’ve made in your library to your database.

We’ll also look at a few pitfalls and do’s and don’ts and have a discussion on how the added meta data can be used to speed up development of your application as well as it is now aware of how tables are joined.

If we have have time enough we’ll also have a look at views, types, stored functions and triggers.

Help management

In this session we’ll be looking at a few different ways to embed a help system to your Omnis application both within Omnis itself and interacting with external systems all hooking into the build in help handling.

system to your Omnis application.

We’ll first have a brief look at the build in but very limited help

system that is part of a default Omnis distribution.

We’ll then look into how we can replace this default help library with

our own so that we can use Omnis’ handling of the F1 key and thus use context sensitive help.

We’ll use this replacement library to look at 3 different sample implementations:

1) a help system build fully within Omnis

2) using a WIKI based help solution

3) using a Sphynx based help solution



Follow Bastiaan




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