View Single Post
eastsydneyboy
Junior Member
 
Join Date: Aug 2020
Posts: 8

Old October 9th, 2020, 06:10 PM
I'm trying to resolve exactly how the timing of evaluated code is determined, as there appear to be multiple, potentially conflicting, definitions.

For example, if we have an <eval> tag within a <field>, then the timing of the execution of this code is determined by the "phase" and "priority" tags on the <eval> tag. So, within a given phase, all code fragments with the same priority are executed one after the other.

Now, I see that the tags <before> and <after> are also allowed, which define other code fragments that must be executed "before" or "after" this fragment.

My confusion comes from the fact that these two systems are potentially ambiguous, as the <before> and <after> tags do not consider the "phase" that the code is executing under. For example, I can't possibly execute a code fragment "before" this one if the code is defined to be executed in a phase after the current phase. Similarly, if the phase is the same, but the priority values are in conflict, what happens?

So what's the actually definition of these <before> and <after> tags. Do they only apply to code fragments within the same phase/priority group? Do the tags just get ignored otherwise?

Also, what happens for <eval> (and other tags) that don't have a "phase" and/or "priority" defined? Is there a default value for these fields?

Thanks for your help...
eastsydneyboy is offline   #1 Reply With Quote