# About Patch Notifier

Patch Notifier is the application used to allow user consent of updates. When an update to an application is occurring, Alectrona Patch determines if the application is running and if not will silently update the application in the background.

However, in the event that the application requiring an update is running, Patch Notifier presents a dialog informing the user that an update is available. This provides the user with an opportunity to update or defer.

When a user chooses the defer option while encountering a Patch Notifier update dialog, they will be prompted to update again at the next scheduled Patch Agent run (which occurs every 4 hours by default).

Opportunity to Defer

When Deferral Limits are not configured, the user has the opportunity to indefinitely defer updates to open applications; this is the default behavior.

Patch Notifier Update Dialog

Patch Notifier is located at the following path:

/Library/Application Support/Alectrona/Patch/patch-notifier.app

# Custom Branding Settings

You can customize Patch Notifier's update dialog for your organization including your own logo, custom descriptions, button labels, and more - all using a configuration profile. Reference the Preference Keys for General Settings below to learn all of the available customizations.

Custom Branded Patch Notifier Update Dialog

# Deferral Limits

Configuring Deferral Limits allows an admin to specify how many deferrals are available for an end-user when updating. This can be set for all software titles, for individual software titles, or a combination of both with distinct limits.

The following two images show how the Patch Notifier update dialog changes when Deferral Limits are set. The first image warns the end-user of how many deferrals remain available. The next image indicates that the end-user has met the set Deferral Limit, and that the software title will be closed after a short period of time. All of these settings can be enabled and customized using a configuration profile. Reference the Preference Keys for Deferral Limits below to learn all of the available customizations.

Patch Notifier Update Dialogs with Deferral Limits Set

Per-user Deferral Tracking

Deferral Limits are tracked on a per-user basis. In a shared device environment, a unique end-user would have to meet a Deferral Limit themselves before they'd see the final update dialog where a forced update would occur.

# Preference Keys for General Settings

Domain: com.alectrona.patch-notifier

Key Description Example
DialogDescription The main description that appears in the update dialog. <key>DialogDescription</key>
<string>Awesome description.</string>
UpdateButtonLabel The label or displayed text in the update button. <key>UpdateButtonLabel</key>
<string>Update</string>
DeferButtonLabel The label or displayed text in the defer button. <key>DeferButtonLabel</key>
<string>Later</string>
ContentImagePath Path to a locally stored image to use as the content image of the update dialog (PNG/JPG/GIF/TIFF). <key>ContentImagePath</key>
<string>/path/to/file.png</string>
DialogTimeout The duration, in seconds, that the update dialog will appear on screen before performing a timeout. <key>DialogTimeout</key>
<integer>120</integer>
DialogHelpText Enable the help button and populate the text displayed on screen when clicked. <key>DialogHelpText</key>
<string>Not to worry your company is here to help.</string>
DialogHelpToolTip Customizes the tooltip of the help button (when enabled). <key>DialogHelpToolTip</key>
<string>About this message.</string>
DialogTitle The title of the update dialog window. <key>DialogTitle</key>
<string>Update Available</string>

# Preference Keys for Deferral Limits

Domain: com.alectrona.patch-notifier

Key Description Example
DeferralLimit Sets a global Deferral Limit for all software. <key>DeferralLimit</key>
<integer>10</integer>
DeferralLimitExceptions Sets exceptions to the global Deferral Limit, or irrespective of it. <key>DeferralLimitExceptions</key>
<dict>
    <key>zoom-us</key>
    <integer>5</integer>
    <key>slack</key>
    <integer>5</integer>
</dict>
FinalDialogDescription The main description that appears in the final update dialog. <key>FinalDialogDescription</key>
<string>You've deferred enough, an update is about to occur!</string>
DialogDeferralText The text that appears below the main description in the update dialog. <key>DialogDeferralText</key>
<string>Awesome description.</string>
IgnoreDeferralText Does not include the deferral text in the update dialog’s description. <key>IgnoreDeferralText</key>
<true/>
RecordTimeoutAsDeferral When an update dialog timeout occurs, record a deferral rather than taking no action. <key>RecordTimeoutAsDeferral</key>
<true/>
FinalDialogTimeout The duration, in seconds, that the final update dialog will appear on screen before performing an update. <key>FinalDialogTimeout</key>
<integer>30</integer>

# DialogDescription Variables

The following variables can be used in the DialogDescription, FinalDialogDescription, and DialogDeferralText values so that you can still display application-specific information when using custom branding for Patch Notifier.

Variable Description
PATCH_FRIENDLY_NAME The friendly name of the software title. Example: "Google Chrome".
PATCH_TARGET_VERSION The version of the software title to be installed.
PATCH_INSTALLED_VERSION The version of the software title that is currently installed.
PATCH_UPDATE_BUTTON_LABEL The label that is displayed in the update button. Customizable with the UpdateButtonLabel key.
PATCH_DEFER_BUTTON_LABEL The label that is displayed in the defer button. Customizable with the DeferButtonLabel key.
PATCH_DEFERRAL_LIMIT The Deferral Limit specified for the software title.
PATCH_DEFERRALS_UNTIL_LIMIT The number of deferrals until the user has met the Deferral Limit for the software title. This variable is used by default if DeferralLimit is set.
PATCH_DEFERRAL_COUNT The number of times the user has deferred the update to a software title.
PATCH_FINAL_DIALOG_TIMEOUT The configured timeout of the final update dialog.

Are you a Jamf Pro admin?

See our Deployment doc to see how you can customize Patch Notifier in Jamf Pro using JSON Schema Manifests.