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