namespace Umbraco.Core.Deploy
{
///
/// Provides a method to retrieve an artifact's unique identifier.
///
///
/// Artifacts are uniquely identified by their , however they represent
/// elements in Umbraco that may be uniquely identified by another value. For example,
/// a content type is uniquely identified by its alias. If someone creates a new content
/// type, and tries to deploy it to a remote environment where a content type with the
/// same alias already exists, both content types end up having different
/// but the same alias. By default, Deploy would fail and throw when trying to save the
/// new content type (duplicate alias). However, if the connector also implements this
/// interface, the situation can be detected beforehand and reported in a nicer way.
///
public interface IUniqueIdentifyingServiceConnector
{
///
/// Gets the unique identifier of the specified artifact.
///
/// The artifact.
/// The unique identifier.
string GetUniqueIdentifier(IArtifact artifact);
}
}