Deploying Acuit Pinpoint Workstation Plug-ins
Workstation plug-ins can be deployed to Acuit Pinpoint Workstation by the following methods:
Note
When a plug-in project is built, by default all of its dependencies will be copied into the build output folder (e.g., bin\Release). However, all of the Acuit Pinpoint Workstation dependencies (i.e., everything that is added when the Acuit.Pinpoint.Workstation.Interfaces NuGet package is referenced) will already exist in the Acuit Pinpoint Workstation installation folder, so these dependencies should not be distributed with the plug-in when integrating with Acuit Pinpoint Workstation. Only the plug-in assembly DLL file should be distributed (along with any other dependencies that are not included with Acuit Pinpoint Workstation).
Configuration Settings
Workstation plug-ins can be explicitly specified using Acuit Pinpoint's general-purpose key/value
configuration settings system. In Workstation Section,
the PlugIns
setting can be used to specify one or more plug-ins that should be loaded. The
"PlugIns" setting is a collection of strings, where each string value is either the full path of a
zip archive containing the plug-in assembly along with all dependencies, or the full path of a
plug-in assembly DLL.
This is the recommended way to deploy workstation plug-ins in a production environment, since it allows all plug-ins and their settings to be configured entirely from Acuit Pinpoint Server. Manual deployment at each workstation is not required--Acuit Pinpoint Workstation will automatically load any plug-ins specified by these settings.
Production Example
Once a workstation plug-in is ready for production deployment, it is recommended to create a zip file containing the plug-in files (even if it is just a single DLL) with a name that contains a version number. For example, version 1.2.0 of a workstation plug-in named "MyTestPlugIn" that also uses a helper library named "HelperLib" could be packaged into a zip file like this:
- MyTestPlugIn.1.2.0.zip contents:
- MyTestPlugIn.dll
- HelperLib.dll
This zip file should be placed into a folder on the Acuit Pinpoint Server computer accessible by the Acuit Pinpoint Server service (for example, "D:\PinpointPlugIns"). Adding version numbers to the plug-in zip file names allows multiple versions of the same plug-in to exist and be referenced by different workstations, and rollouts of new plug-in versions to be carefully controlled.
Pinpoint line configuration can now be used to configure particular station types to use the plug-in. For example, to configure the "Run Test" station type to use this plug-in, this could be added to the station type configuration:
<stationType name="Run Test">
<settings>
<setting name="Workstation:PlugIns:0" value="D:\PinpointPlugIns\MyTestPlugIn.1.2.0.zip" />
</settings>
...
</stationType>
Development Example
This is also a convenient way to integrate a plug-in with Acuit Pinpoint Workstation during development, since configuration settings can be specified via a local settings.json file.
For example, if you are developing a plug-in via a Visual Studio project in the "C:\Projects\MyTestPlugIn" folder (with build output being placed in "C:\Projects\MyTestPlugIn\bin\Debug"), then create a file named settings.json in the "C:\ProgramData\Acuit Pinpoint\Workstation" folder with the following text content:
{
"Workstation": {
"PlugIns": [
"C:\\Projects\\MyTestPlugIn\\bin\\Debug\\MyTestPlugIn.dll"
]
}
}
Now you can configure your project's debug start action to start an external program, specifying "C:\Program Files (x86)\Acuit Pinpoint Workstation 7\Workstation.exe". When you launch a new debugging session, Visual Studio will start Acuit Pinpoint Workstation, which will then dynamically load your plug-in, allowing you to test and debug your project.
PlugIns Folder on Workstation
A simple way to deploy workstation plug-ins is to copy the plug-in file(s) into a folder named PlugIns within the Acuit Pinpoint Workstation installation folder.
When Acuit Pinpoint Workstation starts, it scans the files within this folder, looking for workstation plug-ins (i.e., Prism modules), loading and initializing all plug-ins that it finds. Note that this only occurs at startup; new plug-ins copied into this folder while Acuit Pinpoint Workstation is running will be ignored.