In SimpleOne, execution of business rules, workflows, notifications, engines is bound to database operations.
The execution order is shown and described below:
Please note that rules and engines marked red on the scheme and respectively listed below are affected when using the Silent Load functionality.
Before insert/update/delete
The processing of the following elements is bound to the transaction BEGIN
SQL statement:
- ACL
- Domain events: filling the Order and Number field in relevant records, adding column prefixes where appropriate.
- Business rules:
- Rules with When = before and Order <=1000.
- Rules with When = before and Order >1000.
- Validation (is skipped for delete).
- Database transaction (insert/update/delete).
- Save REM.
After insert/update/delete
The execution of the following elements is bound to the transaction COMMIT
SQL statement:
- Infrastructure events (include processing of History, Activity Feed, Create VCS Records, Execute REM After Scripts).
- Engines:
- Business rules with When = after and Order <= 1000.
- Approvals
- Workflow
- Notifications
- Business rules with When = after and Order > 1000.