HOKGroup / HOK-Revit-Addins

This repository will include all documentation files and source codes for HOK Revit Addins
MIT License
64 stars 24 forks source link

HOK-Revit-Addins 2024.1.0.22

Code Signing

Code signing is an optional process that developers can choose to enable when building this repo. Autodesk strongly recommends that all Revit Plugins be signed with a code signing certificate, authenticating the plugin and adding its creator to the list of certified developers on users computer. This prevents a pop-up window from appearing every time user starts Revit, and tries to load a plugin from an unknown developer. Since HOK uses domain based certificates, if you are a developer for HOK, you would have (or can request to have it added by the IT) a certificate called "Code Signing DTM" installed on your machine. If that's the case simply comment out this line of code in the *.csproj file:

<Exec Command="&quot;C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\signtool.exe&quot; sign /c &quot;Code Signing - DTM&quot; /v &quot;$(TargetPath)&quot;" />

However, if you are one of the Open Source users of these tools, and want to use a specific PFX file located on your drive, and don't want to share your password with everyone use this code instead:

<Exec Command="&quot;C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x86\signtool.exe&quot; sign /f &quot;$(SolutionDir)..\_cert\archilabCertificate.pfx&quot; /p &quot;$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\HOK', 'certificatePassword', null, RegistryView.Registry64, RegistryView.Registry32))&quot; /t http://timestamp.comodoca.com/authenticode &quot;$(TargetPath)&quot;" />

For the above:

Settings

Most of the tools in this repository have a reference to HOK.Core. This is because most of these tools use some utilities from that DLL. One of these utilities is a HOK Feedback tool that can be easily embedded into any other tool via a button. This tool allows users to post an issue directly to GitHub via a proxy user and a special access token. In order to make that tool work for anyone, anywhere, without distributing other people's tokens and repo info, there is a Settings.json file embedded into the Resources in HOK.Core.dll. Here's the contents schema:

{
  "FeedbackToken": "<access token>",
  "FeedbackPath": "/repos/<user>/<repo name>/",
  "ModelReportingServiceEndpoint": "<reporting server endpoint>",
  "CitrixDesktopConnectorKey": "<registry key path>",
  "CitrixDesktopConnectorValue": "<registry value name>",
  "FileOnOpeningFmeUserId": "<fme user id>",
  "FileOnOpeningFmePassword": "<fme password>",
  "FileOnOpeningFmeHost": "<fme endpoint>",
  "FileOnOpeningFmePort": <port number>,
  "FileOnOpeningFmeClientId": "<fme client id>",
  "HttpAddress": "<address to MC production server>",
  "HttpAddressDebug": "<address to MC testing server>"
  "ClarityUserId": "<Clarity user id>",
  "ClarityToken": "<Clarity access token>",
  "ClarityMachine": "<Machine used to generate access token>",
  "ClarityServers": ["<clarity_server1>", "<clarity_server2>"]
}

Actual values can be found here: HOK Teams

Links to release notes

  1. On Opening Monitor: Tool Page and Release notes.
  2. Mission Control: Tool Page and Release notes.
  3. HOK Core: Tool Page and Release notes.
  4. Beta Tools Manager: Tool Page and Release notes.
  5. Element Mover: Tool Page and Release notes.
  6. Mass Tools: Tool Page and Release notes.
  7. Move Backup: Tool Page and Release notes.

Tips

  • Always run Visual Studio in Administrator mode. Otherwise it's possible that post build events will fail.