##
##  Meta commands 
## 

ok> help 

    List this help. 

ok> r 

    Repeat last command. 

ok> user [<userName>] 

    Switch to specified <userName>.  If <userName> is omitted, the currently 
    selected user is shown. 

ok> use

    Show current workflow context.

## 
##  Workflow Definition Commands 
## 

ok> show file <definitionClassPath>

    Output the contents of the file located at <definitionClassPath>.
    
    <definitionClassPath> class path to workflow definition file. 

ok> deploy <definitionClassPath> 

    Deploy workflow definition to Alfresco server. 

    <definitionClassPath> class path to workflow definition. 

ok> redeploy

    Redeploy the last workflow definition.

ok> show definitions 

    List all deployed workflow definitions. 

ok> use definition [<workflowDefId>] 

    Switch to use the workflow definition identified by <workflowDefId>.  If 
    <workflowDefId> is ommited, the currently selected workflow definition 
    is shown. 

ok> undeploy definition <workflowDefId>

    Undeploy the latest version of the workflow definition identified by 
    <workflowDefId>.  This will also terminate and remove all "in-flight" 
    workflows associated with the definition.
    
    If multiple versions of the definition exist, you will have to undeploy
    each in turn to remove the definition completely.

## 
##  Variable Commands 
## 

ok> var 

    Show all defined variables. 

ok> var <varName>[*]=<varValue> 

    Define or update a variable. 

    <varName> variable name 
    [*] if specified, define a collection 
    <varValue> variable value (comma-seperate to specify a list of values) 

    e.g. 

    var bpm:assignee*=admin,fred 
    var wf:notifyMe=true 

ok> var <varName>[*] person <varValue> 

    Define or update a (cm:person) node ref variable. 

    <varName> variable name 
    [*] if specified, define a collection 
    <varValue> variable value (comma-seperate to specify a list of values) 

    e.g. 
    
    var bpm:assignee* person admin,fred 

ok> var <varName>[*] group <varValue> 

    Define or update a (usr:authorityContainer) node ref variable. 

    <varName> variable name 
    [*] if specified, define a collection 
    <varValue> variable value (comma-seperate to specify a list of values) 

    e.g. 
    
    var bpm:groupAssignee group GROUP_Engineering

ok> var <varName> package <itemCount>

    Define or update a (bpm:workflowPackage) node ref variable.
    
    A new workflow package is created containing <itemCount> content items.
    
    e.g.
    
    var bpm:package package 4    

ok> var <varName>= 

    Delete an existing variable. 

    <varName> variable name 

## 
##  Workflow Commands 
## 
    
ok> start [<varName[=varValue>]]* 

    Start a new workflow using the currently selected workflow definition.  Start 
    Task parameters are provided as name/value pairs or references to pre-defined 
    variables. 
    
    e.g. 
    
    start bpm:assignee=david wf:predefined 
    
ok> show workflows [all]

    Display the list of active workflows for the currently selected workflow 
    definition.  Or, display the list of all workflows when used with additional
    keyword 'all'.

ok> use workflow <workflowId>

    Use the specified <workflowId>.

ok> show paths [<workflowId>] 

    Display the workflow paths for the specified <workflowId>.  If <workflowId> 
    is omitted, the paths for the currently started workflow are shown. 

ok> show transitions [<workflowId>] 

    Display all available transitions for the specified <workflowId>.  If 
    <workflowId> is omitted, the transitions for the currently started workflow 
    are shown. 

ok> signal <pathId> [<transitionName>] 

    Signal transition on specified <pathId>.  If <transitionName> is omitted, the 
    default transition is taken. 

ok> desc workflow <workflowId> 

    Describe the specified <workflowId>. 

ok> end workflow <workflowId> 

    End (cancel) the specified <workflowId>. 

ok> delete workflow <workflowId>

    Force deletion of the specified <workflowId>.

ok> delete all workflows

    Force deletion of all "in-flight" workflows.  Use with care!

## 
##  Task Commands 
## 

ok> show my tasks 

    List tasks assigned to the currently selected user. 

ok> show my completed 

    List tasks completed by the currently selected user. 

ok> show my pooled

    List tasks in a pool for the currently selected user.
    
ok> show tasks [<pathId>] 

    List tasks associated with the specified workflow <pathId>.  If <pathId> is 
    omitted, the tasks associated with the currently selected workflow path are 
    shown. 

ok> desc task <taskId> 

    Describe the task identified by <taskId>. 

ok> update task <taskid> [<varName[=varValue>]]* 

    Update the state of the specified <taskId>.  Task properties are provided as 
    name/value pairs or references to pre-defined variables. 

    <varName> variable name 
    [*] if specified, define a collection 
    <varValue> variable value (comma-seperate to specify a list of values) 
    
    e.g. 
    
    update task jbpm$122 bpm:assignee=fred wf:notifyMe=false 

ok> end task <taskId> [<transitionName>] 

    End the task identified by <taskId>.  If <transitionName> is omitted, the 
    default transition is taken. 
    
## 
##  end 
## 
