wiki:Maestro3CrossConnection

Cross-connection APIs

The problem

Maestro currently connects to one repository at a time during any one session. There is a whole class of scenarios (such as repository migration) that are currently not possible because of this limitation.

The solution

Introduce a whole set of APIs that operate on more than one IServerConnection instance.

An example of such an API

public class CopyResources
{
    public IServerConnection SourceConnection { get; }
    public IServerConnection TargetConnection { get; }

    public List<string> SourceResourceIds { get; }

    public bool CopyResourceContentOnly { get; set; }
    public bool OverwriteExistingResources { get; set; }

    public void Execute(MigrateResourcesCallback callback);
}

Because these APIs work against the IServerConnection interface, you are free to use whatever underlying implementation.

Once support is available at the API level, we can then introduce this functionality into the Maestro user interface proper.

Last modified 7 years ago Last modified on Jul 7, 2010 6:23:40 AM