-
Notifications
You must be signed in to change notification settings - Fork 4
Attribute constructors
Ryan Newington edited this page Sep 4, 2025
·
7 revisions
Attribute constructors are used within ACMA to create, update, and delete attribute values during the export process from MIM. They are essential components of Class constructors that execute in sequential order.
Each constructor can have one or more Rules that determine if it should execute or not.
- Met conditions: Constructor executes when all conditions are satisfied
- Unmet conditions: Constructor is skipped when conditions fail
- Unconditional execution: Constructors without rules execute every time
- Careful planning required: Unconditional constructors may modify attribute values unintentionally
- Group-level protection: Execution conditions on Constructor groups may provide sufficient control
- Testing essential: Thorough testing of constructors, groups, and execution conditions is critical
ACMA provides 5 types of attribute constructors:
| Constructor Type | Purpose | Use Cases |
|---|---|---|
| Declarative value constructor | Builds values using declarative syntax | Display names, email addresses, concatenated values |
| Unique value constructor | Generates unique values with conflict resolution | Unique usernames, email addresses, account names |
| Attribute delete constructor | Removes attributes from objects | Cleanup operations, conditional attribute removal |
| Reference lookup constructor | Retrieves values from referenced objects | Manager info, department details, hierarchical data |
| Sequence allocator constructor | Allocates sequential values | Employee numbers, incremental IDs, unique identifiers |
Attribute constructors can be organized into Constructor groups for better management and conditional execution.
- Shared execution conditions: Apply conditions to multiple constructors at once
- Logical organization: Group related constructors together
- Simplified management: Easier to enable/disable sets of constructors
- Hierarchical control: Group conditions must pass before individual constructor conditions are evaluated
- Group constructors by functional area (e.g., "Email Configuration", "Security Attributes")
- Use group conditions for broad business rules
- Use individual constructor conditions for specific logic
- Test group and constructor interactions thoroughly