Skip to main content

Node Types

The primary building block of Openexus is the Node. A node is a building block (like Lego blocks) that allow users to piece them together to create interactive pages or applications. A Node can be as simple as a single function (e.g. age calculator) or as complex as an entire entity with complex visual and interactive elements (e.g. a map component).

More fundamentally though, a Node is the description of a building block, the blueprint of it. It describes the node itself (the Manifest), the means of communication with the Node (the Properties), and the logic that is performed when the node is used or changes in some way (the Logic).

Note

You do not need to specify the type when you develop a node. The types listed here just provide a sense of the types of nodes we can expect.

Visual UI Components

A Visual Node is a node which outputs some visual representation. Typically in Openexus we say that a Visual Node is one which has a ((view)). A ((view)) is a Property which produces some form of output, most likely HTML, which can be displayed as part of a larger application.

Open Node Protocol specification

An example of a Visual Node might be one which, when given the ((URL)) to an Image, visually displays that image in the ((view)) property.

Computational Functions

A Computational Node is a node which given some input, produces different output based on some computational logic. This output is not necessarily the same as a Visual Node in that it does not produce HTML or display elements. Instead the Output of a Computational Node is the result of the computation.

Open Node Protocol specification

An example of a Computational Node might be one which, when given a ((birthdate)), computes the ((age)) of a person. The computation in this case is computing the number of years between NOW and ((birthdate)) and returning the number of ((years)) that has occurred.

API Interfaces

An Interface Node is one that acts as a mediator between Openexus and some external system, usually exposed to Openexus as an API. The Interface Node takes in some amount of input, sends that input to the external system, and returns some ((result)) from that external system.

Open Node Protocol specification

An example of an Interface Node might be one which, when given a ((zipcode)), connects to the National Weather Service and returns the weather forecast for that ((zipcode)) as the ((result)).

Trigger

An Trigger Node is one that is triggered and executed when some event happens.

Examples: New Email, New Support Ticket, Cron Job, etc.

Open Node Protocol specification