Register:
PROC [id, cmd, wDir:
ROPE, phase1, phase2: TransferProc]
RETURNS [msg:
ROPE];
id is a rope which names this instance of the submission. For DATools it will likely be the name of the top level cell of interest.
phase1[id, wDir, s] will be called when the stream s is available from Bridge for the key id. Then the phase1 proc should call something like BridgeFTPOps.StoreFile[s, "/usr/...", "///Users/...", logStream].
cmd is launched after completion of phase1 if no msg were reported.
phase2 will be called when cmd is finished. It should call BridgeFTPOps.RetrieveFile[s, ...]; wDir will be used to extend the local names in phase1 & phase2, because when the FS calls will be performed the relevant information will not be present in the process properties.