ecFlow's documentation is now on readthedocs!

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.