Notification Assistant Version 1.0 Introduction Notification Assistant provides background monitoring of one or more folders to recognize when a new file is created. Once recognized, Notification Assistant sends an email notification to the address specified globally for the folder or, if an author ID can be determined, sent to an author-specific notification email address. If a supported USB LED indictor light is installed, Notification Assistant will also turn on the light to provide a visual indication of a newly arrived file. (Not supported in service version.) This application must be licensed for full functionality. Requirements Windows 7/8/10; Windows Server 2008/2012/2016 .NET Framework 4.0 50 MB Free Disk Space SMTP Server Account Port 8080 open for Outbound Traffic (Licensing) Optional: BlinkStick Nano USB LED Optional: fit-StatUSB LED Quick Start Download and run the latest installer. For full functionality, make sure you have a obtained a license key from 2RC Software or your dealer. Run the Notification Assistant application: Start > All Programs > 2RC Software > Notification Assistant Enter the license key when prompted. Setup folders to be monitored by selecting from the menu: Options > Setup... In Settings Manager, set FolderCount to the number of folders to be monitored. For each folder create settings (replacing # with 1..n, where n is FolderCount value): Folder# * required Folder#FilenameMask * required Folder#IncludeSubDirs Folder#NotifyEmail Folder#PluginDll In Notification Assistant application, start processing and check for errors: File > Start When functionality is confirmed in the application, stop the application and start the service. In Windows Services, make sure 2RC Notification Assistant service is set to Automatic and then started. Use Event Manager to monitor activity and check for errors. License Notification Assistant requires a license for full functionality. When run without a license key, Notification Assistant will monitor one folder and process up to two newly created files. The application or service will then stop processing any more files until it is restarted. Allowing unlicensed operation with limited features allows the application/service to be installed and configured for trial and testing purposes. A license key is a string of characters that defines features and expiration dates supported by the application and service. It will look similar to a6da53b7-d063-4677-8759-34ddbc10fdf3. Your license key purchased from 2RC Software or your dealer is added when prompted by the application on startup or by using Settings Manager. When Notification Assistant is started it attempts to contact the License Server to validate that the key provided is valid, is meant for this application, and is not already issued to someone else. The License Server will give Notification Assistant a token to let Notification Assistant know that it can enable licensed functionality. Notification Assistant will save the token and then ask for an updated token every 15 minutes. If a connection to the License Server is not possible, either at startup or while Notification Assistant is running, Notification Assistant will check to see if the token it had previously received is still valid (i.e. not expired). Until the token expires, Notification Assistant will continue to run in a licensed mode even if it can't connect to the License Server. However, the token will expire after a configurable amount of time (called the Reserve Time) and therefore Notification Assistant will need to connect to the License Server to renew the token within that time period for full licensed functionality to continue. Select About from the menu to display the current license status. Help > About The following chart outlines the functionality that is enabled via licensing. FeatureDescriptionUnlicensed Default NotificationsWhen unlicensed, Notification Assistant will stop processing new files after two new files have been recognized. A valid license key removes this limitation and all new files will be processed under the limitations imposed by other licensed features.2 FoldersNumber of folders that can be monitored.1 AuthorsThe number of unique authors that can have email notifications sent. This feature applies to DSS, DS2 and supported XML descriptor files where Notification Assistant is able to determine a unique Author ID. Other file types are not affected by this feature. Supported Descriptor/Demographic Files: Philips Dataworxs/Audioworxs 2RC 1 Allow SubdirsWhen licensed, and the feature is enabled in the settings, Notification Assistant will monitor for new files in the folder specified and in its subdirectories.False Allow PluginPlugins allow for system-specific customizations that allow for Author ID values to be mapped to unique email notify addresses. The generic plugin that is available allows for author ID to email address mappings to be maintained in a simple INI formatted file. Other system customizations may require additional costs. Only file types that provide Author ID information (DSS, DS2 and XML descriptor files) are affected by this license feature.False LED Indicator Light The application version of Notification Assistant optionally supports a visual indicator of a new file's arrival. The following devices are supported: BlinkStick Nano Buy BlinkStick Nano fit-statUSB by Compulab Buy fit-statUSB How to Use The application version of Notification Assistant supports folder monitoring but is primarily used for testing the installation and configuration and to access settings management and the event log. Normal, everyday background monitoring is better handled using the service version. When the application detects a new file it first attempts to determine the author of the dictation file. An author can be determined directly from DSS and DS2 files or by reading accompanying demographic XML files that contain metadata associated with the dictation audio files. Supported Demographic/Descriptor Files: Philips Dataworxs/Audioworxs 2RC After a file is recognized, and, where applicable, the author is determined, the application sends the notification email and also pops up balloon text in the lower right corner of the desktop. If a USB LED indicator light is installed and enabled, click this notification to turn the LED off. The pop-up ballon text feature is not available when using the service. All settings are managed by running Settings Manager. Choose: Options > Settings Manager... Folders to be monitored can be setup in an easy to use interface by choosing from the Notification Assistant application menu: Options > Setup... To review activity or to diagnose a problem, view event logs using Event Manager. To run, select from the menu: Help > View Event Log... Service Although the application version of Notification Assistant supports folder monitoring, you will most likely want to run the service version for background processing even if the server or workstation is not logged in. Service Name: "2RC Notification Assistant" The service is installed automatically when Notification Assistant is installed using the installer. If the service is not installed, use Windows install utility to manually install (or uninstall) the service. Open Windows cmd prompt "as Administrator" and then change directory to where the service executable is located. C:\Program Files (x86)\2RC Software\Notification Assistant To install the service: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil.exe 2rcNotificationAssistantService.exe When installing the service and you are asked for a login username, prepend the username with ".\" as in ".\administrator" To uninstall the service, first stop the service and then: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u 2rcNotificationAssistantService.exe If the Notification Assistant service will be monitoring network folders the service must be logged in as a Windows account other than the default "Local System" account. Run Windows Services from the Administrator Tools, right-click on the service 2RC Notification Assistant, choose: Properties > Log On > This account Specify a Windows account name with sufficient rights and permissions to acces the network resources and provide the necessary password. Save the changes and then restart the service for the change to take affect. Settings Folders to be monitored can be setup in an easy to use format by choosing from the Notification Assistant application menu: Options > Setup... Or, more directly, by running Settings Manager: Options > Settings Manager... In Settings Manager, the following settings are supported: Setting NameTypeDescriptionDefault General Settings HideOnStartupBoolean (True | False)Causes the application to minimize to the Windows system tray as soon as the application is started. The window is restored by double clicking the 2RC logo in the system tray. This setting has no affect on the service.False SettingsMgrPathnamePathname to 2rcSettingsMgr.exe. Executed when the "Setup" menu option is selected in the Notification Assistant application.<programfilesx86>\2RC Software\Settings Mgr\2rcSettingsMgr.exe EventMgrPathnamePathname to 2rcEventMgr.exe. Executed when the "View Event Logs" menu option is selceted in the Notification Assistant application.<programfilesx86>\2RC Software\Event Mgr\2rcEventMgr.exe StartProcessingOnStartupBoolean (True | False)Causes the monitoring of folders to begin automatically when the application is started. Does not affect the service which always starts processing automatically.False LicenseKeyStringA string of characters that defines features and expiration dates supported by the application and service. It will look similar to a6da53b7-d063-4667-8759-34ddbc10fdf3. A license key is intended to be used on one workstation or server only. LicenseServerURLA URL that specifies the location of the license server. The License Key is passed to the license server for validation and then exchanged for a License Token. Except in special cases, the value must remain as the default.http://2rcsoftware.com:8080/v1/license LicenseTokenString (Read-Only)A token is received from the License Server and allows the application or service to do what it does. A token will expire after a certain time and therefore the application/service periodically contacts the license server to renew the token. The value in this field should not be changed. BalloonTimeMsIntegerThe length of time (in milliseconds) that a desktop notification will popup when a new file is recognized. The popup balloon notification feature is turned off when this value is set to 0 (zero). This setting is only valid for the application version. Email Settings EmailServerStringThe name or IP address of the SMTP server that will be used for sending notification emails. EmailPortIntegerSMTP server port (Ex. 25, 587)25 EmailEnableSSLBoolean (True|False)Enables TLS/SSL if supported by server.False EmailToAddressEmail AddressDefault email address to send a notification to if none is provided in the Folder#NotifyEmail setting. EmailCcAddressEmail AddressA default email address that will be CCed on notification emails. EmailBccAddressEmail AddressA default email address that will be BCCed on notification emails. EmailBodyStringThe message that will appear in the body of the notification email. Supports Substitution Codes EmailDomainStringSome SMTP servers may require that a domain name be specified. For others, this field can remain blank. EmailFromAddressEmail AddressRequired. This email address tells the email server and recipient of the email who sent the email. Some SMTP email servers require that this address be the same as the authenticating email address (username). The From Address can be specified as an email address, ex. "info@2rcsoftware.com", or as a name and address using the angle bracket format, ex. "2RC Software <info@2rcsoftware.com>". IsHtmlBoolean (True|False)Specifies whether or not the email's body is formatted as HTML or plain text.False EmailSubjectStringThe text that will appear as the notification email's subject. Supports Substitution Codes EmailAuthenticationRequiredBoolean (True|False)Specifies whether or not the email SMTP server being connected to requires authnetication (i.e. username and password). In most cases, this setting will be True and a username and password will be provided.True EmailUsernameStringThe username required by the SMTP server for authentication. EmailPasswordStringThe password required by the SMTP server for authentication. Folder Settings FolderCountIntegerDefines the number of folders to be monitored. For each folder, the following settings should exist (replace "1" with "2", "3", etc. to provide settings for more than one folder).0 Folder1PathnameThe full path of the folder to be monitored. The path should NOT end in a backslash. Ex. C:\Path\To Be\Monitored OR \\MyServer\Share\To Be\Monitored Folder1FilenameMaskStringWindows compatible filename mask that specifies what files to monitor for. Ex. *.xml OR *.ds?. Multiple file specifications are not supported. If more than one file extension requires monitoring, increment the FolderCount setting and add another settings group for the same folder but with a different Filename Mask.*.ds? Folder1IncludeSubDirsBoolean (True|False)When true, sub-folders of the specified folder will also be checked for new files matching the Filename Mask.False Folder1NotifyEmailEmail AddressThe email address to send the notification of a new file to. This email address can be overridden by making use of the Notification Plugin. Folder1PluginDllPathnameFull pathname of the plugin DLL to be used by the application/service. Leave this field blank if email address specified in the Folder1NotifyEmail setting is suitable for any new file recognized in the folder being monitored. Currently, the plugin NotificationPluginGeneric.dll is supported. See the section Plugins for additional details. USB Indicator LED Settings FitStatEnabledBoolean (True|False)When true, and a fit-StatUSB device is plugged in to your computer, the LED will be turned on when a new file is detected. The colour is configued using the setting FitStatsAlertString. This setting is ignored by the service version.False FitStatsComPortStringWhen a fit-StatUSB device is plugged into a USB port, it is mapped to a COM port. Enter the COM port value here. Ex. COM1, COM2, COM3COM3 FitStatAlertStringStringThe colour and state of the LED when a new file is recognized. Sample values: Red: #ff0000 Pulsing Red: B#FF0000-0200#000000-0600 Alternating Red-Blue: B#FF0000-1000#0000FF-1000 B#0000FF-0200#000000-0600 BlinkStickEnabledBoolean (True|False)When true, and a BlinkStick Nano USB device is plugged in to your computer, the LED will be turned on when a new file is detected. The colour is configued using the setting BlinkStickAlertString. This setting is ignored by the service version.False BlinkStickAlertStringStringThe colour of the LED to display when a new file is recognized. Support values are #RRGGBB, where a RR, GG, and BB are hex numbers between 00 and FF that represent relative amounts of reg, green and blue colours.#ff0000 Plugins Plugins are used to provide system-specific functionality to Notification Assistant. The following plugins are available... NotificationPluginGeneric.dll NotificationPluginGeneric.dll is supported to provide additional granualarity in specifying the notify email address to use when a new file is detected. It is not specific to any type of system and can be used independently of any system. C:\Program Data\2RC Software\Notification Assistant\NotificationPluginGeneric.dll Using this plugin allows a unique notify email address to be specified on a per-author basis. For files that Notification Assistant can read an author ID from (supported *.XML descriptor files, .DSS and .DS2 audio files), this plugin will check for a matching mapping entry in a file called NotificationAssistant.ini. C:\Program Data\2RC Software\Notification Assistant\NotificationAssistant.ini "AuthorId=EmailAddress" mappings are provided for the folders being monitored and/or default mappings are specified. Default mappings and folder-specific mappings are added to the ini file in this way: [Defaults] 1234=tran1@myco.com 3345=tran2@myco.com [C:\folder\being\monitored] 1234=my.assistant@myco.com If this plugin is used, the order that a notify email address is determined is: NotificationAssistant.ini: Folder specific mappings. NotificationAssistant.ini: Mapping in [Defaults] section. Setting: Folder#NotifyEmail Setting: EmailToAddress