Notify Users with a dialog (Windows)
Description
The provided FilesetsFileset areis examplesan example of notifying users, in particular here, a message regarding Fileset status when downloading and installing new Filesets.
EachThe Fileset is designed to:
- Create a continual running service that monitors Fileset changes
- Where Fileset changes occur, begin monitoring the FileWave Client log file
- If a number of preset text strings are found in the log file, send this to the Notification Centre
- Lastly, where another preset text is found, stop monitoring the log file
EachThe service has been built to be actioned automatically by the user logging in. Where Filesets are disassociated, each has a pre-uninstallation script to ensure the services should also be removed.
Ingredients
- Provided
FilesetFileset:
↓ Windows |
|
|
Directions
For the example provided:
- Download the necessary provided Fileset
- Upload using FileWave Admin
- Associate to the appropriate devices
- 'Update Model'.
Fileset scripts may be modified for personal preference. In each Fileset there is a script that is actioned by the local computer service. The scripts are using a pattern match. The pattern matching may be edited as required, removing or adding appropriately.
Windows
Windows
Locate the "BallonTipSwitchWatcher.ps1" file within the Fileset and choose to edit. In the following code block snippet from this script, the switch statement is pattern matching text. In the provided example the script is looking for lines that contain any one of the following:
- Model version
- Downloading Fileset
- Done activating
- Activate all
Where found, the 'ShowBalloonTipInfo' function is being used to prompt the user:
|
Code Block 1 BallonTipSwitchWatcher.ps1
The second part of the switch statement is causing the script to exit. The pattern match this time, is any line that contains:
- Installation
|
Code Block 2 BallonTipSwitchWatcher.ps1
macOS
macOS
Locate the "prompt_user.sh" file within the Fileset and choose to edit. In the following code block snippet from this script, the case statement is pattern matching text. In the provided example the script is looking for lines that contain any one of the following:
Model versionDownloading FilesetDone activatingActivate all
Where found, the 'show_message' function is being used to prompt the user:
|
The second part of the case statement is causing the script to exit. The pattern match this time, is any line that contains:
Data successfully sent to the inventory server
|
Notification Center Permissions
Notifications are user choice. Users must accept notifications when prompted.
The below section of the 'com.filewave.promptuser.plist' may be edit as desired, where the defined keys determine the following:
'the_title' is the Title of the notification'bundle_id' defines an App bundle. That bundles name and icon will be displayed:
|
Code Block 5 com.filewave.prompt_user.plist
Users may still allow Notifications in System Preferences if previously denied:
|
Notes
The above provides an example of notifying users, using a service. However, with some adaptation messages could be sent in other ways at alternate times to users.