Event Hooks¶
Event hooks allow studios to add custom code to predefined actions in NIM.
An example file nim_event_hooks.example
is included on the NIM VM in the /var/www/html/_custom/event_hooks
folder. Copy this file to nim_event_hooks.php
in the same folder to use as a starting point for custom event hooks.
Important
This example file may be overwritten in subsequence NIM updates.
The data passed to this file comes through 2 POST variables:
action |
A string value representing the unique action that was triggered |
data |
An array containing data available with the item(s) being affected. All returned data includes the key “eventHook_userID” which contains the ID of the user triggering the event hook. |
Tip
The data is returned as a json string. To decode the json string into a PHP object use json_decode().
In addition to the event hooks, the function nimAPI()
is included to build context for internal api queries.
Example Event Hook:
This example shows how to use the nimAPI function included in this file to communicate internally with the nimAPI
if($action == "onShotUpdate"){
error_log("nim_event_hooks: onShotUpdate");
error_log(print_r($data, true));
# Multiple Items Selected
if (array_key_exists('shotIDs',$data)){
foreach($data['shotIDs'] as $id) {
$result = nimAPI("q=getShotInfo&ID=".$id);
error_log($result);
}
}
else {
# Single Item Selected
if (array_key_exists('ID',$data)){
$id = $data['ID'];
$result = nimAPI("q=getShotInfo&ID=".$id);
error_log($result);
}
}
}
List of available event hooks:
Event Hook |
Description |
---|---|
JOBS |
|
onJobCreate |
Called when a job is added from the job list |
onJobUpdate |
Called when job information is edited from the job info panel, the job overview, or the job config panel |
onJobDelete |
Called when the job is deleted from the job list |
onJobStatusChange |
Called when the status of a job is changed |
onJobPreOnline |
Called when bring job online is triggered - prior to making folders |
onJobPostOnline |
Called when bring job online is triggered - after all job folders are created |
USER |
|
onUserCreate |
Called when a user is created from the user list |
onUserUpdate |
Called when a user is updated in the user info panel |
onUserDelete |
Called when a user is deleted from the user list |
JOB CREW |
|
onJobCrewAdd |
Called when a user is added to the crew of a job |
onJobCrewUpdate |
Called when a crew member of a job is updated |
onJobCrewRemove |
Called when a user is removed from the crew of a job |
ASSETS |
|
onAssetCreate |
Called when an asset is created |
onAssetUpdate |
Called when an asset is updated |
onAssetDelete |
Called when an asset is deleted |
onAssetStatusChange |
Called when the status of an asset is changed |
SHOWS |
|
onShowCreate |
Called when a show is created |
onShowUpdate |
Called when show information is updated |
onShowDelete |
Called when a show is deleted |
SHOT |
|
onShotCreate |
Called when a shot is created |
onShotUpdate |
Called when a shot is updated |
onShotDelete |
Called when a shot is deleted |
onShotStatusChange |
Called when the status of a shot is changed |
TASKS |
|
onTaskCreate |
Called when an task is added to an asset or shot |
onTaskUpdate |
Called when an task is updated on an asset or shot |
onTaskDelete |
Called when an task is deleted from an asset or shot |
onTaskStatusChange |
Called when the status of a task is changed |
onTaskUserChange |
Called when the user assigned to a task is changed |
REVIEW |
|
onDailiesCreate |
Called when a review item is added to a task |
onDailiesUpdate |
Called when a review item is updated |
onDailiesRemove |
Called when a review item is deleted |
NOTES |
|
onNoteCreate |
Called when an note is created for any object |
onNoteUpdate |
Called when an note is updated for any object |
onNoteDelete |
Called when an note is deleted for any object |
BIDS |
|
onBidCreate |
Called when a bid is created |
onBidVersion |
Called when a bid version is created |
onBidCopy |
Called when a bid is copied |
onBidUpdate |
Called when a bid is updated |
onBidStatusChange |
Called when the status of a Bid is changed |
onBidDelete |
Called when a bid is deleted |