I believe we need a mechanism to extract a deployment module from a Repository. This would enable:

1. Provisioning systems to copy from a remote repository to a local instance.
2. Migration of all content from one repository to another.
3. Backup of repository content regardless of implementation.
4. Tooling to gather dependent deployment modules into a larger deployment unit.

Given that Repository.install() currently takes a URL parameter, it would be nicely symmetrical if Repository could produce a URL (for a given ModuleDefinition) that could be passed directly to install(). For Repositories that act as a front end for a remote store, returning such a URL may be a little extra work, but the underlying mechanisms are already required. For local Repositories, if we recommend that implementations keep the original deployment module as a separate file, then a simple "file:" url can be returned. (Modulo the usual unspecified valid lifetime issue inherent in most URLs.)

Thoughts?

// Bryan

Reply via email to