Notify

From truxwiki.com
Revision as of 11:15, 1 April 2021 by Pmuessig (talk | contribs)
Jump to navigation Jump to search
Details
Executable Notify.exe
Stage 255
Percent Complete 100%
Message Queue notify


The Notify ETL is responsible for broadcasting different topics of information to different communications channels when a load completes. The progress of a load is not dependent on Notify.

When giving examples on how to configure the individual items of Notify, we will use the TruxtonSettings.xml file as an example. Configurations for notify are nested in a "Notify" block.

E.G. for TruxtonSettings.xml

<truxton_options>
  <!-- ...
       other configs
       ...
    -->
  <Notify>  
    <!-- 
        individual notify configs here 
      -->
  </Notify>
</truxton_options>

Notifiers

The channel in which a topic will be sent. E.G. Email, SMS, Teams, etc. Configurations for each notifier is nested in a "Notifiers" block.

E.G. for TruxtonSettings.xml

<truxton_options>
  <!-- ...
       other configs
       ...
    -->
  <Notify>  
    <Notifiers>
      <!-- 
          individual notifiers configs here 
        -->
    </Notifiers>
  </Notify>
</truxton_options>

The Notify ETL contains the following notifiers out of the box:

Email

Sends email notifications via an smtp server.

Configuration

Micosoft Teams

Send Grid

Slack

Twilio

Topics

The information which is sent through a notifier. Configurations for each Topic is nested in a "Topics" block.

E.G. for TruxtonSettings.xml

<truxton_options>
  <!-- ...
       other configs
       ...
    -->
  <Notify>  
    <Topics>
      <!-- 
          individual topic configs here 
        -->
    </Topics>
  </Notify>
</truxton_options>

The Notify ETL contains the following topics out of the box:

Alert

Analyst Load Info

Loader Load Info

Plugins

Notify supports a plugin architecture to add additional Notifiers and Topics. See the .NET Core SDK articles to how to add a reference to the SDK. The nuget package thats relevant is Truxton.Notifications.Core - this package contains all the necessary transitive SDK dependencies.

Plugin Scan Directory

Notify will scan C:\ProgramData\Truxton\Plugins when it starts up for plugins (if the plugin folder does not exist go ahead and create one).

The folder structure for a plugin must be as follows:

  • C:\ProgramData\Truxton\Plugins
    • \PLUGIN_ASSEMBLY_NAME
      • \PLUGIN_ASSEMBLY_NAME.dll
      • (any additional dependencies)

Please take note of the the nested directory. This is so every assembly doesn't need to scanned on startup. So as an example, if my plugin was foobar.dll, you would place it here: C:\ProgramData\Truxton\Plugins\foobar\foobar.dll. Any additional dependencies that foobar.dll needs will go into that directory.