Class PackageConfiguration

Namespace
Datamine.MineTrustConnector.Core
Assembly
Datamine.MineTrustConnector.Core.dll

Class defining a package configuration. Instances of this class are serializable to/from JSON

[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)]
public class PackageConfiguration
Inheritance
PackageConfiguration
Inherited Members

Remarks

Initializes a new instance of the PackageConfiguration class.

Properties

DisplayName

Gets or sets the display name to use for this package

[Required]
public string? DisplayName { get; set; }

Property Value

string

The display name.

Enabled

Gets or sets a value indicating whether this PackageConfiguration is enabled. If set to false, then MT Connector will not process this package configuration.

public bool Enabled { get; set; }

Property Value

bool

true if enabled; otherwise, false.

Exclude

Gets or sets a list of file names which should be excluded from this package (those which would otherwise be included under the normal rules of package composition)

[JsonIgnore]
public IEnumerable<string>? Exclude { get; set; }

Property Value

IEnumerable<string>

The exclude.

ExclusiveCheckOut

If a 'TargetVersion' has been specified, determines whether or not to exclusively check out those files from MineTrust Server.

public bool ExclusiveCheckOut { get; set; }

Property Value

bool

true if [exclusive check out]; otherwise, false.

FilePath

Gets the file path where this configuration is stored.

[JsonIgnore]
public string? FilePath { get; set; }

Property Value

string

The file path.

Filter

Gets or sets a filter string which resolves the subset of this package whose contents should be synchronised.

public string? Filter { get; set; }

Property Value

string

The filter.

Include

Gets or sets the prescribed set of files which make up this package. By default, packages are composed of everything within 'LocalRoot' unless this value is specified.

[JsonIgnore]
public IEnumerable<IncludeConfiguration>? Include { get; set; }

Property Value

IEnumerable<IncludeConfiguration>

The include.

LocalRoot

Gets or sets the local file path from which relative paths within this package are based.

[Required]
[JsonIgnore]
public string? LocalRoot { get; set; }

Property Value

string

The local root.

MineTrustRoot

Gets or sets the root location within MineTrust Server where the package will be stored. If unspecified, defaults to Folders\Managed Folders\Packages{PackageUID} where {PackageUID} is the ID of the package.

[Required]
public string? MineTrustRoot { get; set; }

Property Value

string

The mine trust root.

Owner

String which describes the local 'owner' of this package. If used, will typically be a process ID of the form 'PID={pid}', indicating that the package is in use exclusively by a particular instance of an application.

public string? Owner { get; set; }

Property Value

string

The owner.

PackageUID

Gets or sets the unique Package Identifier for this package

[Required]
public string PackageUID { get; set; }

Property Value

string

The package uid.

ServerUrl

Gets or sets the server URL which this Package uses as its Data Source

[Required]
public string? ServerUrl { get; set; }

Property Value

string

The server URL.

TagNamingPatterns

Gets or sets the file path patterns which may be used to automatically assign tags to items based on their location. Files are always tagged by their PackageUID by default - it is not necessary to specifically prescribe a naming pattern for this

[JsonIgnore]
public IEnumerable<string>? TagNamingPatterns { get; set; }

Property Value

IEnumerable<string>

The tag naming patterns.

TargetVersion

Gets or sets the ID of the version which MT Connector should attempt to replicate to the local working package.

[JsonIgnore]
public int TargetVersion { get; set; }

Property Value

int

The target version.

Visibility

Gets or sets the visibility of this package. Current supported values are 'Private' and 'Shared' (with default being 'Private'). 'Private' packages are browsable only by their creators, whereas 'Shared' packages can be viewed and edited by all users with the 'Contributor' role assignment.

public string? Visibility { get; set; }

Property Value

string

The visibility.