Attributes are user-defined key-value pairs that extend any entity type with custom properties. Keys are shared across all entities of the same type within a module, while each entity maintains its own individual values.
Example: If you create an attribute key "Pressure" on Steps, every Step in the module will have a "Pressure" property — but each Step stores its own value independently.
🎯 Supported Entity Types
Attributes can be attached to the following entity types, each with its own independent key scope:
|
Target |
Friendly Name |
Description |
|---|---|---|
|
Processes |
Custom properties on Process definitions |
|
|
Phases (steps) |
Custom properties on Step definitions |
|
|
Conditions |
Custom properties on Condition definitions |
|
|
States |
Custom properties on Valve State definitions (see special behavior below) |
|
|
Fluid flow states |
Custom properties on Flow State definitions |
|
|
Parameters |
Custom properties on Parameter definitions |
|
|
Variables |
Custom properties on Variable definitions |
Key scoping: Each entity type maintains its own key scope. For example, the keys defined for Processes are completely independent from the keys defined for Steps. All Processes in a module share the same set of keys, and all Steps share a different set of keys.
🔧 State Attributes — Special Behavior
States have a unique attribute model. Unlike other entity types where keys are shared across all instances, State attributes support instance-level keys — each State definition can have its own unique set of keys.
The attribute values belong to the assignment of a State to a Valve in a specific Step:
Example: A State "Pulsing" has a key "Interval" with options 3s / 5s / 7s.
Valve VP-101 has State "Pulsing" in Step 2 with Interval = 3s
Valve VP-101 has State "Pulsing" in Step 3 with Interval = 5s
The key "Interval" is defined once on the "Pulsing" State, but each Valve-in-Step assignment has its own value.
📝 Attribute Types
Every attribute key has a data type that constrains its values. The type is set at creation and cannot be changed afterward (only the name can be renamed).
|
Type |
Friendly Name |
Description |
Example Values |
|---|---|---|---|
|
Integer Number |
Whole number |
Whole numbers only |
|
|
Floating Point Number |
Decimal number |
Numbers with decimal places |
|
|
True or False |
Yes/No (boolean) |
A simple on/off toggle |
|
|
Text |
Free text |
Any text value |
|
|
Selection List |
Selection list (dropdown) |
Pick from predefined options |
Defined by a List Type (see below) |
🔑 Keys Management
Creating a Key
-
Fill in the Name, Type, and optionally a Default Value in the key creation section
-
Press Create
The new key is immediately available on all entities of that type. If a default value was specified, all existing entities receive it automatically.
Default Values
When creating a key, you can optionally set a default value:
-
With default: All existing entities and all newly created entities automatically receive this value
-
Without default: Existing entities get an empty value; new entities also start empty
The default value can be changed or removed at any time after creation.
✏️ Renaming a Key
Right-click the key and select Rename. The rename propagates to all entities using that key.
🗑️ Deleting a Key
Right-click the key and select Delete. This removes the key definition and all attribute values associated with it across all entities.
Warning: Deleting a key is irreversible — all values stored under that key are permanently removed.
📋 Selection Lists (List Types)
The Selection List type constrains an attribute to a predefined set of text options — similar to a dropdown/enum.
Creating a List Type
-
When creating a key, select Selection List as the type
-
Press Choose List to open the List Types window
-
Press Create to define a new list
-
Enter a name for the list (e.g., "GMP Classification", "Priority Levels")
-
Add options using the Add Option button (e.g., "Grade A", "Grade B", "Grade C", "Grade D")
-
Press Create to save
Editing a List Type
Right-click any List Type and select Edit:
-
Add options: Press Add Option and enter the new value
-
Remove options: Right-click an option and select Delete
-
Rename options: Right-click an option and select Edit — all attributes using the old option value are updated to the new name
Note: List Types are shared within their key scope. Multiple Selection List keys can reference the same List Type, and editing the List Type affects all keys that use it.
✏️ Editing Attribute Values
Click on any attribute value in the attributes panel to edit it. The editor adapts to the key type:
|
Type |
Editor |
|---|---|
|
Whole number |
Numeric input (whole numbers only) |
|
Decimal number |
Numeric input (decimals allowed) |
|
Yes/No (boolean) |
Checkbox toggle |
|
Free text |
Text input field |
|
Selection list (dropdown) |
Dropdown with the List Type's options |
👥 Multi-Entity Editing
When multiple entities are selected, the attributes panel supports two display modes:
Intersection Mode
Shows only attributes that exist in all selected entities with matching name and type. Editing a value in this mode updates it across all selected entities simultaneously.
Union Mode
Shows all attributes from all selected entities, grouped by name and type:
|
Scenario |
Displayed Value |
|---|---|
|
All entities have the same value |
The shared value |
|
Entities have different values |
*Varies* |
|
Boolean attributes with mixed values |
null |
Editing a *Varies* attribute sets the new value on all selected entities.
Tip: For bulk editing attributes across many entities at once, consider using the Tabular Attributes view.
💊 Pharma Example: GMP Classification Attribute
In a pharmaceutical facility, you might add a "GMP Classification" attribute to phases (steps) to track cleanroom classifications:
|
Step |
GMP Classification |
Temperature |
Duration |
|---|---|---|---|
|
Pre-Rinse |
Grade C |
25 C |
120s |
|
NaOH Wash |
Grade B |
75 C |
1800s |
|
WFI Rinse |
Grade A |
25 C |
300s |
|
Sterilization |
Grade A |
121 C |
1200s |
To set this up:
-
Open the Attributes panel for Steps
-
Create a new key: Name = "GMP Classification", Type = Selection list (dropdown)
-
Create a List Type called "GMP Grades" with options: "Grade A", "Grade B", "Grade C", "Grade D"
-
Assign the appropriate grade to each step
You can also add attributes like "Hold Time Requirement", "Conductivity Limit", or "Validation Protocol" to capture regulatory requirements directly alongside your process design.
Use the Tabular Attributes view to review and edit these values across all steps at once in a spreadsheet-like format.
🔗 Related Pages
-
Tabular Attributes — Grid view for editing attributes across multiple entities
-
Processes and Steps — Entities that support Process and Step attributes
-
Conditions — Entities that support Condition attributes
-
State — Entities with instance-level attribute keys
-
Export / Import — Attributes are included in export/import operations
-
AseptSoft Project Workflow — Where attributes fit in the overall workflow