The task wrapper file does not normally need many changes, if the task designer sticks to the KISS principle, focusing on the functional aspect of the task.
- In some situation, it might be just enough to define SMS variables as reference to ecFlow variables, on the relevant node (top server node, or suite node, or family node)
Code Block language bash theme Eclipse title a variable may refer to another vars="SMSRID SMSTRYNO SMSNAME SMSSCRIPT SMSJOB SMSJOBOUT SMSDATE SMSTIME SMSCLOCK SMSKILLCMD SMSURLCMD SMSURLBASE SMSURL SMSPASS SMSNODESMSCMD SMSKILL SMSKILLCMD SMSCHECK SMSCHECKOLD SMSSTATUSCMD SMSCHECKCMD SMSOUT SMSTRIES" for var in $vars; do case $var in SMSCMD) ecf=ECF_JOB;; SMSKILL*) ecf=ECF_KILL_CMD;; SMSSTATUS*) ecf=ECF_STATUS_CMD;; SMSCHECK_CMD*) ecf=ECF_CHECK_CMD;; SMSURL*CMD*) ecf=ECF_URL_CMD;; *) ecf=$(echo $var | sed -e 's:SMS:ECF_:');; esac node=/ # node=path_to_suite_or_family add=add # add=change ecflow_client --port 1630 --alter $add variable $var "%$ecf%" $node # echo ecflow_client --alter create variable $var "%$ecf%" $node done
The file name is changed, ending with .ecf instead of .sms.
simply copy or link the original file from .sms into .ecf
alternatively, define a variable ECF_EXTN in the definition file:: edit ECF_EXTN .sms
This requests that the ecFlow server uses .sms wrappers as the task template. In some cases, no files will need translation (no SMS variables, no CDP calls)
smsmicro is replaced with ecf_micro, when needed
SMS
ecFlow
location
SMSMICRO
ECF_MICRO
definition file
%smsmicro
%ecf_micro
script .ecf .h
...