From 54c4e3b422ab90ffae577d5bd709c65ae89498c8 Mon Sep 17 00:00:00 2001 From: Stephan Date: Wed, 30 Aug 2017 12:17:04 +0200 Subject: [PATCH] deploy-360 - add IUniqueIdentifyingServiceConnector --- .../IUniqueIdentifyingServiceConnector.cs | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/Umbraco.Core/Deploy/IUniqueIdentifyingServiceConnector.cs diff --git a/src/Umbraco.Core/Deploy/IUniqueIdentifyingServiceConnector.cs b/src/Umbraco.Core/Deploy/IUniqueIdentifyingServiceConnector.cs new file mode 100644 index 0000000000..a657ba78b6 --- /dev/null +++ b/src/Umbraco.Core/Deploy/IUniqueIdentifyingServiceConnector.cs @@ -0,0 +1,25 @@ +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); + } +}