The OpenIDM 2.1 documentation and samples are unclear and buggy about how to use the task scanner in order to trigger event based provisioning. Here’re some pitfalls:
  • the scan property called « property » in the scheduler definition for the task should point to the name of the property to test against the condition. For example, if you want to trigger a task that should be triggered when a manager user property called « StartDate » reaches a specific value, than you should set the « property » scan property to the « /StartDate » value (and not just StartDate !! Nor /StartDate/date, unless the managed user property is named !).
  • the scan property called « condition » refers to a variable defined in the corresponding query definition, found in the repo.*.json file. So if you’ve a variable called ${variable} in the query definition (the query name defined among your scan properties as the « _queryId » scan property should match a query name in the queries property), then you should have a corresponding property called « variable » in the scan properties.
  • « taskState » properties called « started » and « completed » should not contain a « – » (minus) in the values. For example, use « /taskStarted » instead of « /task-started »
  • Depending on your query definition, the objects (for example managed users) to check should contain specific properties, even if set to null. For example, suppose your query definition contains:
"AND ( complete.propkey=${taskState.completed} AND complete.propvalue is NULL".
  • Then it means the condition will be true only if managed users have a property called taskState.complete which is set to null, when the tasks scanner wakes up.
Les derniers articles par janua (tout voir)