Glossary

App

An app (application) is the Boomla equivalent of classes in object oriented programming. A user space app is implemented on top of Boomla. Each user space app is stored in a file.

App instance

An app instance is a file that's type points to an app. Similar to a class instance in object oriented programming.

Built-in type

A built-in type is a file type that is recognized by the Boomla Platform. It may identify a built-in application, an engine, or have some special behavior attached.

Component

Components are the no-code equivalents of apps. It is used to create reusable elements or element structures, typically via drag-and-drop. A component wraps one or more app or component instances and optionally declares some input files to be defined at component instances.

For example, a page component may define a page layout to have a certain menu and footer, but the contents should not be the same on all pages (instances of that page component), rather defined individually.

Component app

Components are mostly implemented in kernel space but they require certain functionality to be defined in user space. These are defined in the component app.

The file type of components points to this component app.

Component instance

A component instance is similar to an app instance but for components. 

Component instances encapsulate the inner structure of the referenced components and present them as single objects. Only the input parameters of the component (input files) can be defined at the component instance level.

Drop guide

The drop guide is shown during file placement operations (drag-and-drop, paste) to provide feedback about the placement. In particular, it highlights the target file and provides 3 possible placement directions: before, append, after. The color of the drop guide indicates whether the operation is allowed (typesafe) or not.

Engine

An engine is a program that executes code written in a programming language. Used as a catch-all term for interpreters and virtual machines.
When writing code in a method file, you can select the engine by setting the method file's type property. For example, you can execute JavaScript code via the sjs-4 JavaScript engine.

File type

The file type is a file property, holding a built-in type or an internal path to a file. Relative paths not starting with . or .. are resolved relative to the /sys/packages file. For example, the type gallery.boomla.net/gallery would resolve to /sys/packages/gallery.boomla.net/gallery.

Section

A section is an input file container. Apps and components may define such sections to parameterize certain file inputs for their instances.

For example, page apps and page components will typically define at least one section for page contents. That way, users can drop contents in these sections on individual pages.

Section placeholder

A section placeholder is used to define a section within a component.

Section placeholder app

Sections are mostly implemented in kernel space but they require certain functionality to be defined in user space, particularly for section placeholders. These are defined in the section placeholder app.

The file type of section placeholders points to the section placeholder app.

Type chain

The type chain of a file is the collection of files you encounter by recursively following a file's type property. All type chains must end in a built-in type. The type chain of a file includes the file itself.