Execution group

The script declaration defines the execution group for all instances of the script package. The execution group is a string that should be structured as a reverse domain name (similar to Java packages) to avoid collision with other developer's group names; for example: "com.gradual.myProject.myExecutionGroup".

If the value of this property is empty, the execution group name defaults to the script's name (the first property in the scripter's declaration pane). This causes the script package to be in its own execution group unless another script package declares the same script name (that is, there is no strong protection against name collisions).

The precise interpretation of the execution group depends on the selected execution mode.

Concurrent

With concurrent execution mode, the execution group is not used.

Serialized

With serialized execution mode, a name collision between execution groups is mostly harmless in the sense that nothing breaks, but there is a potential performance issue due to the fact that the inadvertently colliding script instances can't run concurrently. Thus, it is strongly recommended that scripts intended for wide deployment provide a unique execution group name structured as described earlier.

Persistent

With persistent execution mode, the execution group name should be unique to the script implementation. A name collision between two script instances with a different implementation has undefined (and most likely unpleasant) results. Thus it is strongly recommended that persistent scripts provide a unique execution group name structured as described earlier.