Participant/ assets dynamic profile setup
Last updated
Last updated
A dynamic client profile is a flexible data model that includes calculated values, parameters, and characteristics of a participant. The system uses this model to assess the possibility or impossibility of a participant progressing through the process.
The flexibility of the profile is ensured by the fact that this data model is based on a key: value structure in the form of a Map interface.
Map -
Saving data to the profile is easy. To do this, you need to call just one node function "Save to Profile" in the decision process execution/ workflow and pass the keys:
name - name of the node function in the workflow
expression - variable from the workflow context that should be saved into the profile
field name - name of the parameter that is about to be saved
Example:
To display a profile tab for a Participant (or any other entity implementing ProcessEntity
) in the client interface, you don’t need to configure routes or UI manually — it's enough to create a special marker class.
What You Need to Do:
Make sure your entity (e.g., Participant
) implements the ProcessEntity
interface.
Example:
Create a controller class extending the abstract class AbstractProfileTab<T>
, where T
is your entity type.
Add localization for the tab title
Define a key in your localization properties file to set the tab label in the UI.
Example (in messages.properties
or equivalent):
How It Works:
timveroOS automatically detects that the Participant
entity should have a "Profile" tab.
Thanks to inheritance from AbstractProfileTab
, the system will automatically load the required components and data, link the tab to the proper card, and render the result without additional configuration.
You can control the tab’s position using the @Order
annotation.
Why Use an Empty Class:
This approach avoids boilerplate code and allows you to manage tabs declaratively: if the class exists — the tab appears. It’s clean, transparent, and aligned with the extensibility principles of TimveroOS.