Well, that is two items down my list already, I have added support for targets to Rhino ETL. A target is similar in concept to a target in NAnt, it specify what needs to be run when the package run. This allows to specify how we want to run the various actions that we have.
Here is a simple example:
As you can see, it just lists the pipelines that we want to run. By default, the target execute all the registered pipelines (or other actions) in parallel. But what happens when you want to run them in a sequence?
target default: sequence: Execute("CopyOrders") Execute("MoveCustomers")
Another option is that you have a dependency between two pipelines, but you don't care about the rest, you can do this as well, like this:
target withDependencies: copyOrders = Execute("CopyOrders") Execute("MoveCustomers") Execute("AfterCopyOrders").After(copyOrders)
Next task, transactions...