Interface IArtifactSignature
Represents the signature of an artifact.
Namespace: Umbraco.Cms.Core.Deploy
Assembly: Umbraco.Core.dll
Syntax
public interface IArtifactSignature
Properties
View SourceChecksum
Gets the checksum of this artifact.
Declaration
string Checksum { get; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
The checksum depends on the artifact's properties, and on the identifiers of all its dependencies, but not on their checksums. So the checksum changes when any of the artifact's properties changes, or when the list of dependencies changes. But not if one of these dependencies change.
It is assumed that checksum collisions cannot happen ie that no two different artifact's states will ever produce the same checksum, so that if two artifacts have the same checksum then they are identical.
Dependencies
Gets the dependencies of this artifact.
Declaration
IEnumerable<ArtifactDependency> Dependencies { get; }
Property Value
Type | Description |
---|---|
IEnumerable<ArtifactDependency> |
Udi
Gets the entity unique identifier of this artifact.
Declaration
Udi Udi { get; }
Property Value
Type | Description |
---|---|
Udi |
Remarks
The project identifier is independent from the state of the artifact, its data values, dependencies, anything. It never changes and fully identifies the artifact.
What an entity uses as a unique identifier will influence what we can transfer between environments. Eg content type "Foo" on one environment is not necessarily the same as "Foo" on another environment, if guids are used as unique identifiers. What is used should be documented for each entity, along with the consequences of the choice.