Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
devel:documentation:architecture:dev:events [2019/02/12 09:52]
tomiskar
devel:documentation:architecture:dev:events [2019/03/19 13:36]
tomiskar [Transactions]
Line 74: Line 74:
     * ''IdmRoleDto'' - operation with the role     * ''IdmRoleDto'' - operation with the role
       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE'', ''EAV\_SAVE'', ''NOTIFY''       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE'', ''EAV\_SAVE'', ''NOTIFY''
 +      * adds event type ''DUPLICATE'' - duplicate role, event is published for create / update role duplicate, read more [[..:..:roles:dev:duplicate-role|here]].
     * ''IdmRoleGuaranteeDto'' - operation with the role guarantee by identity     * ''IdmRoleGuaranteeDto'' - operation with the role guarantee by identity
       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''       * supports base event types ''CREATE'', ''UPDATE'', ''DELETE''
Line 211: Line 212:
   * saving logs and archives in the new transaction (''Propagation.REQUIRES_NEW'')   * saving logs and archives in the new transaction (''Propagation.REQUIRES_NEW'')
  
 +===== Event properties =====
 +
 +Event properties (''Map'') can be specified for the event. Properties could be used in event processing. 
 +
 +Event properties are propagated automatically from parent into child event:
 +  * if parent event is given, when child event is published
 +  * if child event doesn't contain property with the same key - property can be preset manually and has a higher priority.
 +  * properties needed for internal event mechanism are not propagated. Property keys can be found in ''EntityEvent''.
 +
 +<note tip>When ''NOTIFY'' event is published and event will be processed synchronously (asynchronous event processing is disabled or event has ''IMMEDIATE'' priority), the properties set by processing ''NOTIFY'' event is also available in the original event.</note>
 ===== Asynchronous event processing ===== ===== Asynchronous event processing =====
  
Line 627: Line 638:
 idm.sec.core.processor.core-role-code-environment-processor.enabled=true idm.sec.core.processor.core-role-code-environment-processor.enabled=true
 </code> </code>
 +
 +==== Duplicate role processors ====
 +
 +{{page>..:..:roles:dev:duplicate-role#processors}}
 +
 +
 +
 ===== Example ===== ===== Example =====
 ==== Synchronous processor ==== ==== Synchronous processor ====
  • by tomiskar