Skip to main content

Frame Intro

Irys Frame is the data context layer for the Irys platform. The main entities in Frame are called nodes, and each node will have tags and fields associated with it. For users, nodes look like an ordered bullet point list in Irys Frame, tags will be associated with the nodes just to the right of nodes with a # symbol, and fields will be listed in the table below the nodes.

Nodes and Tags

Nodes

Nodes are the fundamental entities of Frame that represent an entity or an instance of an object. In the figure above, Overview, Projects, Directory, etc. are all nodes. Nodes are used to model assets, the view configuration of Irys, and to create tag definitions.

Tags

A tag is a type of node that defines a group of fields. When a node is tagged, the fields from the tag are copied to tagged node and a relationship between the node tagged and the tag is created. Tags have a flexible relationship with nodes, the fields in a node that are copied from a tag can be edited or deleted without impacting the tag at all. If a field from a tag is deleted, this does not effect any of the existing nodes that have a relationship with the tag. If a new field is added to a tag, this will add the field to every node with a relationship to the tag.

Fields

Fields are the primary way to provide context to nodes. Any field can be added to any node, and if a node is tagged the fields associated with the tag will be copied to the node tagged. Fields contain configurations, logical mapping, static metadata, and real-time data mapping.

Asset Modeling

Composition-based Approach

Frame adopts a composition-based approach to asset modeling. Instances of an asset (which we call nodes) are constructed by combining groups of attributes from templates (which we call tags). When a node is tagged, the attributes from the tag are copied into the node and a relationship to the tag is created. A node can have multiple tags in order to compose the right set of attributes for the asset.

Loose Coupling

Frame's composition-based approach has loose coupling of tags from the nodes. After a node has been tagged, users can freely modify the attributes without affecting the tag, allowing for greater flexibility for unique assets or one-off scenarios.

Propagating Changes

Users can decide how modifications to a tag are propagated (or not) to related nodes. When an update is made to a tag, users can either propagate the changes or not propagate the changes.