Introduction
Attribute Configuration
Define How Business Information Is Captured, Validated, and Presented
Protrak Attribute Configuration enables administrators to define the information fields used by configured business types. Attributes determine what information users can enter, the form in which it is captured, how available values are resolved, and how the resulting value is presented in the application. Attributes are configured independently and then associated with the applicable type. Once associated, they can be placed in configured forms and made available according to the permissions applied to the record and its current lifecycle state. The attribute options demonstrated in the product illustrates representative configurations. They can be combined with type, form, lifecycle, and rule configurations to support different business requirements.
Define the information. Control the input. Present it in the required form.
Build Configurable Business Information Fields
Attribute-Based Data Capture
Attributes act as the configurable fields through which users provide and view business information. Each attribute is created with a defined value type and can carry additional settings that control its behavior. This allows the same platform to capture simple values, controlled selections, users, files, formatted content, and other forms of information without hard-coding every field into the application.
Associate Attributes with Business Types
A configured attribute becomes usable when it is associated with the relevant type. The ‘type’ groups the attributes required for that business record. For example, a project, task, or another configured type can be assigned to the specific set of attributes needed for its purpose. The association keeps the data model aligned with the information expected for that type.
Place Attributes in Configured Forms
After association, attributes can be added to create, edit, or view layouts through the configured design experience. Their placement can be arranged within the required containers and sections. This separates the data definition from the form layout, allowing administrators to control both what is captured and where it is presented.
Capture Different Forms of Business Data
Text and Extended Text
Text attributes support general information capture and can be configured for single-line, multi-line, or longer text requirements. Default values can be supplied where a standard starting value is required. Prefix and suffix settings can provide additional context around the value displayed to users.
Date, Date-Time, Numeric, and Currency Values
Specialized attribute configurations allow the platform to capture date-only values, date and time values, numeric information, and currency-related values. Numeric behavior can be configured according to the expected value format, including whole-number or decimal-oriented input requirements.
Boolean Values
Boolean attributes capture a true-or-false decision. They can be used where the required business input represents a flag, confirmation, applicability setting, or another two-state choice.
Controlled Pick Lists
Pick-list attributes allow users to select from configured values rather than enter unrestricted text. Option values can be defined as a static list or resolved from information already configured in the platform, such as roles, types, or templates. A default option can be preselected, and the attribute can be configured for single or multiple selection according to the requirement.
User Selection
User attributes present active platform users as selectable values. The available users can be filtered by role so that the field displays only users relevant to the intended assignment or process context. This allows a record to capture a specific user while controlling the selection of the population through configuration.
Attachment Capture
Attachment attributes allow files to be captured as part of a business record. File acceptance can be controlled through configured patterns, and validation messages can guide users when an uploaded file does not meet the expected requirement.
Rich Text Content
Rich-text attributes allow users to create formatted content rather than plain text alone. The demonstrated capability includes formatting such as bold, italic, underline, hyperlinks, font sizing, images, and ordered or unordered lists. This supports business information that requires structure and visual formatting within the record.
Control Attribute Behavior and Presentation
Single and Multiple Values
Attributes that present selectable options can be configured to accept one value or multiple values. This allows the same value source to support a single assignment, a collection of selected roles, or another multi-value business requirement.
Default Values
A default value can be configured so that a field is populated when it is presented to the user. The user can retain or change the value where editing is permitted. Defaults reduce repeated entry while preserving user control over the final information.
Renderers and Editors
Renderers determine how stored values are displayed, while editors influence how users enter or change them. Examples include masked values, color selection, hyperlinks, and email-oriented presentation and validation. These configurations allow the same underlying value to be presented in a form appropriate to its intended use.
Validation and Input Guidance
Attribute-specific settings can restrict values to the expected format. Examples include email validation, numeric restrictions, and file-type validation. Configured messages can explain why an entered value is not accepted, helping users correct the input at the point of entry.
Control Attribute Availability Through Connected Configuration
Form-Level Visibility
An attribute can be added to the layouts where it is required and omitted from layouts where it is not applicable. This allows Create, Edit, and View experiences to present the information relevant to each interaction.
Lifecycle-Based Edit Access
Whether an attribute can be edited can depend on the permissions configured for the record lifecycle state. An attribute may be visible but read-only in one state and editable in another. This connects the information model with the operational stage of the record.
Rule-Driven Use of Attribute Values
Values collected through attributes can be used by configured logic. A selected role, user, option, date, number, or other captured value can become an input for rules and process behavior defined elsewhere in the platform.
Representative Configuration Scenarios
Select One or More Roles
A pick-list attribute can use configured platform roles as its available values. It can begin as a single-select field and later be changed to permit multiple selected roles when the business requirement calls for a collection of role values.
Limit User Selection by Role
A user attribute can be filtered so that only users assigned to a selected role are available. This helps ensure that the field presents an appropriate group of users for the record or process.
Restrict Uploaded File Types
An attachment attribute can apply a configured pattern to accepted files and display an explanatory message when an unsupported file is selected.
Present Text as a Business-Specific Input
A text value can be displayed as masked content, a color selector, a hyperlink, or an email value. The configuration changes the user interaction without requiring a separate hard-coded field for each presentation.
Business Benefits
-
Model Information for Each Business Type Associate the required attributes with each configured type so that records capture the information relevant to their purpose.
-
Standardize Data Entry Use value types, controlled lists, defaults, and validation to guide users toward consistent information.
-
Adapt the User Experience Configure editors, renderers, layouts, and lifecycle permissions to control how a field appears and behaves.
-
Use Platform Information as Selectable Values Resolve selections from configured roles, users, types, templates, and other supported platform information.
-
Capture Structured and Formatted Content Support both controlled business values and richer content such as files and formatted text.
-
Connect Data with Process Logic Use captured attribute values with forms, lifecycle permissions, and rules to address operational requirements.
Configure Information Around the Business Record
Protrak Attribute Configuration provides a flexible foundation for defining the fields associated with configured business types. Through value-type selection, option sources, defaults, validation, presentation settings, type association, form placement, and lifecycle access, administrators can control how information is collected and used without limiting the model to the examples demonstrated.
Configure the attribute. Associate it with the type. Use it wherever the business process requires it.
Standard Attributes
The following standard attributes are available:
- Name
- Description
- TrackingId (when Tracking Required is enabled on the Type)
- TrackingInfo (when Tracking Required is enabled on the Type)
- Geolocation (when Geolocation Required is enabled on the Type)
- State (the lifecycle state)
- Creator (the user who created the instance)
- Modifier (the user who last modified the instance)
- Created (timestamp of instance creation)
- Modified (timestamp of last modification)
- VersionNumber (when versioning is enabled for the instance)
- QRCode
Working with Different Attribute Types
Protrak supports various data types for custom attributes. This guide explains how to work with attribute values in your code.
The Prorigo.Protrak.API.Contracts.Attribute class is used to represent attribute values in the Protrak API.
Attribute Contract
| Property | Data Type | Description |
|---|---|---|
Name | string | The attribute name defined in the schema. Unique for each attribute. May differ from the display name. |
Type | Prorigo.Protrak.API.Contracts.Enum.AttributeType | Enum: Text, Numeric, Date, Currency, Picklist, DateTime, RichText, Expression, Boolean, Attachment, User, Reference, Lifecycle |
CanUpdate | bool | Indicates if the attribute value can be updated for the given instance, based on permissions and lifecycle state. |
TextValue | string | Value for Text attributes. |
DateValue | DateTime? | Value for Date attributes. |
NumericValue | double? | Value for Numeric and Currency attributes. |
BooleanValue | bool? | Value for Boolean attributes. |
ArrayValue | string[] | Value for Picklist attributes. |
FileValue | Prorigo.Protrak.API.Contracts.FileValue | Value for Attachment attributes. Contains FileId and FileName. |
UserValues | Prorigo.Protrak.API.Contracts.UserValue[] | Value for User attributes. Array of UserId, UserName, UserEmail, UserThumbnailUrl, Phone. |
ReferenceValues | ReferenceValue[] | Value for Reference attributes. Array of related instance Id and Name. |
OptionValues | Prorigo.Protrak.API.Contracts.Enum.OptionValues | Enum indicating if the option value is StaticList, Roles, Types or Templates. |
TemplateTarget | string | If OptionValues is set to Templates, then TemplateTarget is used to filter available templates based on the specified template target. |
Attribute Type Capabilities
| Attribute Type | Sortable | Default Sort Order | Filterable | Conditions |
|---|---|---|---|---|
| Text | yes | Ascending | yes | Contains, Not Contains, Equals, Not Equals, In, Is Empty, Is Not Empty, Starts With, Ends With |
| Numeric | yes | Ascending | yes | Equals, Greater Than, Greater Than Or Equal, Less Than, Less Than Or Equal, Between, Is Empty, Is Not Empty, In |
| Date | yes | Descending | yes | Equals, Greater Than, Greater Than Or Equal, Less Than, Less Than Or Equal, Between, Is Empty, Is Not Empty |
| Currency | yes | Ascending | yes | Equals, Greater Than, Greater Than Or Equal, Less Than, Less Than Or Equal, Between, Is Empty, Is Not Empty |
| Picklist | yes | Ascending | yes | Contains, Not Contains, Equals, Not Equals, Is Empty, Is Not Empty |
| Picklist - Multiselect | no | yes | Contains, Not Contains, Equals, Not Equals, Is Empty, Is Not Empty | |
| DateTime | yes | Descending | yes | Equals, Greater Than, Greater Than Or Equal, Less Than, Less Than Or Equal, Between, Is Empty, Is Not Empty |
| RichText | yes | Ascending | yes | Contains, Is Empty, Is Not Empty |
| Expression | no | no | ||
| Boolean | yes | Ascending | yes | Equals |
| Attachment | no | no | ||
| User | yes | Ascending | yes | ContextUser, Contains, Not Contains, Equals, Not Equals, Is Empty, Is Not Empty |
| User - Multiselect | no | yes | ContextUser, Contains, Not Contains, Equals, Not Equals, Is Empty, Is Not Empty | |
| Reference | no | yes | Contains, Not Contains, Equals, Not Equals, In, Is Empty, Is Not Empty, Starts With, Ends With | |
| Name | yes | Ascending | yes | Contains, Not Contains, Equals, Not Equals, In, Is Empty, Is Not Empty, Starts With, Ends With |
| TrackingId | yes | Ascending | yes | Contains, Not Contains, Equals, Not Equals, In, Is Empty, Is Not Empty, Starts With, Ends With |
| TrackingInfo | yes | Ascending | yes | Contains, Not Contains, Equals, Not Equals, In, Is Empty, Is Not Empty, Starts With, Ends With |
| Geolocation | no | no | ||
| Description | yes | Ascending | yes | Contains, Not Contains, Equals, Not Equals, In, Is Empty, Is Not Empty |
| State | yes | Ascending | yes | |
| Actions | no | no | ||
| Creator | yes | Ascending | yes | ContextUser, Contains, Not Contains, Equals, Not Equals, Is Empty, Is Not Empty |
| Modifier | yes | Ascending | yes | ContextUser, Contains, Not Contains, Equals, Not Equals, Is Empty, Is Not Empty |
| Created | yes | Descending | yes | Equals, Greater Than, Greater Than Or Equal, Less Than, Less Than Or Equal, Between, Is Empty, Is Not Empty |
| Modified | yes | Descending | yes | Equals, Greater Than, Greater Than Or Equal, Less Than, Less Than Or Equal, Between, Is Empty, Is Not Empty |
| TypeName | no | no | ||
| VersionNumber | no | no | ||
| QRCode | no | no |