Assigning Event Handlers to Database Events
For each community, you can assign event handlers to database events so that a stored procedure is triggered whenever a specific database event occurs in that community. This is configured through the Database Events node of your community in AssetWise System Management Console.
A basic example of an action that qualifies as database event is when an AssetWise document has its Status changed to Approved. The database event related to this action is OnApprovalStatusChanged. If an event handler is assigned to this database event, then the act of approving a document (the database event) triggers the assigned event handler (stored procedure), which in turn will do whatever that stored procedure is designed to do.
Stored procedures may trigger some custom code which could be a stored procedure or a .NET assembly to inform an external workflow system, or other system, or could even pass the AssetWise object information to the external system.
AssetWise delivers default stored procedures in the AssetWise database. You can also use custom stored procedures.
The following database events exist for which you can assign an AssetWise or custom event handler.
Action | Database Event |
---|---|
Object's approval status gets changed | OnApprovalStatusChanged |
Object's attribute gets changed | OnAttributeChanged |
Checkout gets cancelled | OnCancelCheckout |
Disposition rule gets applied to the document copy | OnDispositionItemProcessed |
Disposition rule gets added to a file plan | OnDispositionRuleAdded |
Disposition rule gets removed from a file plan | OnDispositionRuleRemoved |
Document gets added to a distribution order form | OnDistributionItemAdded |
Document is about to be added to a distribution order form | OnDistributionItemAdding |
User logs in and session gets created | OnLoggedIn |
User is logging in | OnLoggingIn |
New object gets added | OnObjectAdded |
Object gets changed | OnObjectChanged |
Object gets checked in | OnObjectCheckedIn |
Object gets checked out | OnObjectCheckedOut |
Copy of existing object gets made | OnObjectCopied |
Object gets deleted | OnObjectDeleted |
Object is about to be deleted | OnObjectDeleting |
Object gets locked | OnObjectLocked |
Object gets revised | OnObjectRevised |
Object gets superseded | OnObjectSuperseded |
Superseded status gets removed from an object | OnObjectSupersededDelete |
Object gets unlocked | OnObjectUnlocked |
Project status gets changed | OnProjectStatusChanged |
Queue job is about to be moved from Pending to Ready state | OnQueueJobSubmitting |
Relationship gets added | OnRelationshipAdded |
Relationship gets deleted | OnRelationshipDeleted |
Person gets added to a role | OnRolePersonAdded |
Person gets deleted from a role | OnRolePersonDeleted |
New record gets captured | OnSnapshotCaptured |
Object gets instantiated by a template | OnTemplateInstantiated |
Work order status gets changed | OnWorkOrderStatusChanged |
Object gets added to a work order or work task | OnWorkReferenceAdded |
Work task gets accepted | OnWorkTaskAccepted |
Work task gets completed | OnWorkTaskCompleted |
Work task is about to be completed | OnWorkTaskCompleting |
Work task gets moved to the Inbox | OnWorkTaskInbox |
Work task gets reworked | OnWorkTaskReworked |
Work task is about to be reworked | OnWorkTaskReworking |
Work task gets skipped | OnWorkTaskSkipped |
Work task is about to be skipped | OnWorkTaskSkipping |
Activity Data is added | OnActivityDataAdded |
Object is added to a folder | OnFolderObjectAdded |
Before an object added to a folder | OnFolderObjectAdding |
Object is deleted from a folder | OnFolderObjectDeleted |
Before object is deleted from a folder | OnFolderObjectDeleting |
Before object is added | OnObjectAdding |
Before object is changed | OnObjectChanging |
After an object state is changed | OnStateChanged |
Before an object state is changed | OnStateChanging |
After a serial number is fit to a tag | OnTagAsBuildFit |
After serial number is removed from a tag | OnTagAsBuildRemoved |
After task gets accepted | OnTaskAccepted |
After task gets completed | OnTaskCompleted |
Before task gets completed | OnTaskCompleting |
After task moved into the Inbox | OnTaskInbox |
Object is added to a Task Order | OnTaskOrderReferenceAdded |
After a Task gets Reworked | OnTaskReworked |
Before a Task gets Reworked | OnTaskReworking |
After Task gets Skipped | OnTaskSipped |
Before Task gets Skipped | OnTaskSkipping |
After Task status is changed | OnTaskStatusChanged |
To Assign an Event Handler to a Database Event
- In the Explorer pane, expand the Communities node.
- Expand your community and select the Database Events node.
- Select a database event in the list.
-
Do one of the following:
Click the Add Event Handler icon on the toolbar.
or
Right-click in the Event Handlers list and select Add Event Handler.
The Select Stored Procedure dialog opens.
- Select a stored procedure from the list and click OK.