Build Your Own Omnis Components


Omnis Studio allows you to add extra functions and objects via its external component interface – many of the window and form objects, all the JavaScript components, and even the modules that provide access to remote relational databases (aka the Omnis DAMs) are built and integrated into Omnis as external components. One of the most powerful and flexible capabilities in Omnis is its external components API, which lets you create your own components and add them into Omnis Studio. To allow you to do this, we provide an External Component SDK and associated docs.

What are Omnis External components?

Omnis external components are plug-in modules that extend the range of visual and non-visual objects available in the design and runtime environments in Omnis, as well extending the Omnis programming language. There are many different external components supplied with Omnis, but you can create your own using your own software development tools and the information in the docs.

Once built and installed into Omnis, external components behave in exactly the same way as standard built-in Omnis components. You can change the properties of an external component in design mode using the Property Manager. Likewise, at runtime you can manipulate an external component using methods and the notation, and examine its runtime properties in the Notation Inspector. External components can also contain functions or methods and events, which you can call or intercept using Omnis methods. You can build all of these features into your own external components.

The type and range of external components include: Window objects (including background objects) and Report objects, Static Functions, and Omnis objects or so-called ‘non-visual’ components, which are objects that can contain methods and properties, which can be used in the Omnis language or called to perform some specific function. External objects can be sub-classed, just like normal Omnis objects, to form new objects. The SQL DAMs are examples of non-visual components.

Omnis Components SDK

Creating your own External Components

Using the libraries we provide, you can create Omnis external components that run under all platforms supported in Omnis, including Windows and macOS. Most of the samples supplied have independent source code. The Omnis resource compilers for Linux and Mac OSX (Xcode) are supplied. These compile simple Windows style .RC files, and support image types .BMP, allowing the entire component to be portable.

Worker Objects: coming soon

The next incarnation of the component SDK will include a sample worker component which you can use as a basis for creating your own asynchronous worker object. Workers are ideal when you want to run a lengthy task in the background, leaving the main thread free to continue managing your user interface. We have also added worker object support into the generic DAM supplied as part of the SDK.

Get the SDK

We have recently updated the External Component SDK docs and source, which is available from our website here:


Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>