-
Notifications
You must be signed in to change notification settings - Fork 4
Exit events
Ryan Newington edited this page Sep 4, 2025
·
7 revisions
Exit events are a powerful feature that allows you to perform actions external to the object being exported. They enable ACMA to trigger additional processing, notifications, and integrations after an object export completes.
Exit events are evaluated and executed after an export operation has completed for an individual object:
- Object export completes: All attribute constructors finish executing
- Final state evaluation: Exit events are evaluated against the exported object in its final state
- Condition checking: Event conditions are tested against the object
- Event execution: If conditions are met, the event is raised and processing begins
Internal exit events send events to other objects within the ACMA database.
Key Features:
- Target selection: Send events to referenced objects or objects found via database queries
- Event processing: Receiving objects process events through Event rule
- Cascading operations: Enable complex workflows across multiple objects
Use Cases:
- Notifying manager objects when direct reports change
- Updating group memberships based on user attribute changes
- Triggering department-wide updates when organizational changes occur
Command exit events execute external processes when events are raised.
Key Features:
- Process execution: Launch external applications, scripts, or commands
- Parameter passing: Pass object attributes as command-line arguments
- Integration: Connect ACMA to external systems and workflows
Use Cases:
- Triggering home directory creation scripts
- Sending email notifications via external mail utilities
- Updating external databases or systems
Extension exit events execute custom C# code when events are raised.
Key Features:
- Custom logic: Implement complex business logic in C#
- Full .NET access: Leverage the complete .NET Framework capabilities
-
Interface implementation: Implement
IAcmaExternalEventExtensibleinterface
Use Cases:
- Complex data transformations requiring custom algorithms
- Integration with .NET-based APIs and services
- Advanced validation and business rule enforcement
- Exit events execute after object processing, potentially affecting export performance
- Complex or long-running exit events may impact overall synchronization speed
- Consider using background processing for time-intensive operations
- Failed exit events can affect the success of the export operation
- Implement proper error handling in custom extension code
- Test exit events thoroughly with various data scenarios
- Exit events execute after all attribute constructors complete
- Events can access the final state of all object attributes
- Ensure proper ordering when multiple exit events are configured