Skip to content

IntegrationId is only set when using Connect-ManagementServer with ShowDialog #136

@joshooaj

Description

@joshooaj

This is a minor issue, but the MIP integration id is an identifier used when a MIP integration connects to a Management Server. It is intended to be a unique ID associated with an XProtect integration and is used by Milestone for telemetry on use of integrations.

If I recall correctly, the Management Server takes note of the integration name, id, and version when a connection is made from another application. I think the name, version, and frequency of use is included when performing an online/offline license activation.

In MilestonePSTools, the module GUID is used for the IntegrationId and the property can be accessed using [MilestonePSTools.Connection.MilestoneConnection]::Instance.IntegrationId, but that property is set by the Connect-ManagementServer command when it creates an instance of MilestoneConnection...

var connection = new MilestoneConnection(loginSettings)
{
    IncludeChildSites = IncludeChildSites,
    IntegrationId = MyInvocation.MyCommand.Module.Guid,
    IntegrationName = MyInvocation.MyCommand.Module.Name,
    IntegrationVersion = MyInvocation.MyCommand.Module.Version.ToString(),
    ManufacturerName = MyInvocation.MyCommand.Module.CompanyName,
    SecureOnly = SecureOnly
};

The IntegrationId property is only set when using Connect-ManagementServer -ShowDialog though. We aren't setting the property in other scenarios like using Connect-ManagementServer -ServerAddress or, for some reason, Connect-Vms -ShowDialog (I guess MyInvocation.MyCommand.Module.Guid is Guid.Empty when being invoked from outside the C# module?).

Ideally the module ID would always be used when connecting to a management server. Since the module ID should never change, I wonder if we should make it simple and just use a constant rather than worrying about setting the IntegrationId property from outside of the MilestoneConnection class...

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions