Extern refers to nodes that have not yet been defined typically due to cross suite dependencies. Trigger and complete expressions may refer to paths and variables in other suites that have not been loaded yet. The references to node paths and variables must exist or exist as externs. Externs can be added manually or automatically
Manual Method;
defs = ecflow.Defs("file.def") # open and load file 'file.def' into memory defs.add_extern("/temp/bill:event_name")
Automatic Method; this will scan all trigger and complete expressions, looking for paths and variables that have not been defined.
The added benefit of this approach is that duplicates will not be added. It is the user's responsibility to check that extern's are eventually defined otherwise trigger expression will not evaluate correctly
defs = ecflow.Defs("file.def") # open and load file 'file.def' into memory ….. defs.auto_add_extern(True) # True means remove existing extern first.