X-Manager, changing the order of execution
With procedural programming languages it's easy to determine the order of execution of parts of the code. In Xpresso this is different. To determine the order of execution the X-Manager has been introduced. It contains all nodes used in the setup and XGroups are shown as subfolders containing the XGroups nodes.
To change the order of execution just change the order of the nodes in the X-Manager. The higher to the top, the earlier a node will be executed.
Cleaning up the Setup
If you are creating a setup it often happens that after you are done it looks like a mess. If you want to be able change something at a later point or if you want to be able to still understand your setup in a week or two you should put some time in cleaning up.
First of all try to keep functional groups together, maybe even put them in XGroups and lable the XGroup accordingly. Changing the header color for groups of nodes is also a way to easily distinguish them.
One or more remark nodes help to document the functionality you implemented. Also each node allows for a seperate remark which comes in handy especialy for COFFEE, formular or XGroup nodes.
Reordering Ports is a good way to reduce a tangled mess of connections to the absolute minimum of confusion. By click/dragging you can change the order of ports for a node.
Makeing Setups reusable
A major problem for the rusability is documentation. If you don't add comments and name ports and nodes in a usefull way you won't be able to get much use out of a preset without putting more time into it to understand how it works and what it achieves.
Object nodes that are referencing objects have to be used carefully. An object node is created by dropping an object from your scene into the Xpresso editor. If this object get's deleted (or is not available in the scene where you moved your setup) the reference is lost and the node will stop working. If you want to reuse the setup without having to reassign these objects use the object that holds the Xpresso tag to generate the node. If you now transfer this object all initial references will be kept.