Attributes

Attributes let you attach custom metadata to your components in Revision, making it easier to describe, filter, and organize your models.

With them, you can describe things such as:
  • Who owns a component,
  • Which version it’s running,
  • Where to find further details (URL), or
  • How critical it is

Attribute Types

Each attribute has a data type, which controls the kind of values it can hold and how it’s displayed throughout Revision. The available types are as follows:

Type Details Example
Text Any plain text value Codename: 你好 やっほー、世界! Hi!
Number Positive or negative fractional number Minimum temperature: -12.345
Checkbox True/false, Yes/no flag Deprecated:
Link Has to conform to a URL, but is not limited to HTTP(S). Repository: https://gitlab.example.com
User A Revision team member Owner: Jane Doe
List Predefined set of allowed values Priority: HighMediumLow

Use attribute types to ensure that data is formatted as expected, keeping your models clean.

Filtering by Attributes

The dependency view lets you filter components using any combination of attributes.

Given that attributes are typed, filters are precise—you can, for example, quickly get an overview of all components where Priority = High, Deprecated = false, .NET Version >= 4.1, and Owner != Jane.

Beyond the Basics

Limiting Attributes to Certain Component Types

Every attribute does not belong on every component. Under the "Advanced" dropdown when creating or editing an attribute, you can choose from any bundled or custom types to limit the places where they can go. For example, if you are creating an attribute to track .NET versions of applications, you might quickly realize that these do not belong on, say, your databases.

You are able to select more than one type.

ℹ️ Attributes will not be automatically removed from components if the types are changed and no longer match. However, if you decide to remove them, you will be unable to add them back unless the component is of one of the permitted types.

Required Attributes

An attribute which is required will automatically show up on components, bypassing the need to manually add it to each component. Required attributes can as such not be removed from their components. (To those familiar with it, this is similar to how the previous attribute system worked.)

ℹ️ Changing the required status of an attribute will not affect any set values. If an attribute is no longer marked as required, it can be removed from the component's attribute list.

Any required attributes which were never given a value will automatically be removed, though.

Invalid Components

Components with required attributes, but without valid values for them, will automatically be marked as invalid to help you identify these missing fields. This marker shows up as a warning icon (⚠️) on the components' icons.

Combined Use

When an attribute is limited to specific types and also made required, it will only show up for components with those types, as expected.