The Big Picture

OmniOutliner is an application designed to organize and display information in logical and attractive formats. This is accomplished by creating and editing OmniOutliner documents, called “outlines.”

Omni Automation scripts interact with documents through three interfaces:

The Outline lies at the heart of everything you do in OmniOutliner. It’s where you compose and arrange content, it reflects the text formatting styles applied to the Outline’s data, and it is built on a hierarchy of rows that gives exactly the structure you want for your data.

From a scripting perspective, it is useful to organize the Omni Automation scripting support in OmniOutliner into two categories, Structural and Stylistic, with Structural concerning how outlines work, and Stylistic concerning how outlines look. Let’s focus on the structural nature of an outline first.

The Structure on an Outline

At the core of an outline is its data. This data is organized as a stack of individual rows of data. To assign significance and relevance to the data, the rows are indented to indicate their relationship to other rows of data. For example, a row may be indented to indicate that it is a “child” of the row above it, which can be thought of as its “parent.”

Nomenclature reflecting common human relationships are used in the scripting implementation to identify row data in relational terms, such as: parent, child, descendants, ancestors, and siblings, are commonly used when manipulation an outline’s data with scripts.

NOTE: the term “rows” is not used in OmniOutliner scripts. The generic term “item” is used instead. Every row of an outline is an item. More on this in the Items section of this website.

Just as rows describe how your content is oriented horizontally in the outline, Columns describe how it is grouped vertically.

By default, OmniOutliner documents have three columns:

The default column created for a new document is the Topic column, which contains content in rich text format by default. The Topic column is also the only column in the outline that can organize its rows (items) hierarchically; and when organization in the Topic column changes, content in additional columns changes accordingly to match the changes to the rows in the Topic column.

The following illustration indicates the basic scripting structure of an OmniOutliner document:


This webpage is in the process of being developed. Any content may change and may not be accurate or complete at this time.