UCS Director - Custom Task
The platform is built on Javascript (Cloupia is based on Javascript Rhino – a server side language that is a mixture of Java and Javascript).
Rhino : JavaScript Library For Java
Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. It is embedded in J2SE 6 as the default Java scripting engine.
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/History
Invoking other tasks from a custom task: "Inner task"
Either Pre-built or other Custom tasks can be invoked from a Custom Task.
• Inner Tasks produce the log messages to current SR.
• Inner tasks register object changes to current SR
• Inner tasks register “undo” tasks to current SR (so Rollback will work correctly)
• Inner task output is not automatically visible outside the Custom Task. Script developer must
explicitly save it using ‘output.X = Y’ expression
• Each custom task can invoke multiple inner tasks
• Each custom task may may invoke an inner task in a loop
• If inner task fails, outer Custom Task automatically fails.
• This can be modified by using ‘try { } catch(e) { } ‘ block
Obtain from the Task library show/hide script
Custom Task;
- Provides the ability to add new workflow tasks with well defined inouts & outputs
- once a custom task is properly created these is no inherent difference in behaviour for 'built-in tasks' and 'custom tasks'
- Implementation of the logic is done through a script
- A custom task feature allows users to create a new custom task off of any system and modify or add inputs and outputs of an existing task
- Typically uses the implicit objects ctxt, logger, util, inout and output
- Can be exported/imported as custom tasks