Skip to content

Attribute constructors

Ryan Newington edited this page Sep 4, 2025 · 7 revisions

Attribute Constructors

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.

Execution Conditions

Each constructor can have one or more Rules that determine if it should execute or not.

Conditional Logic

  • 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

Important Considerations

  • 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

Constructor Types

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

Constructor Groups

Attribute constructors can be organized into Constructor groups for better management and conditional execution.

Group Benefits

  • 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

Best Practices

  • 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

Clone this wiki locally