Deferral Behavior with Integrated Activator‐Version 2.x - App-Auto-Patch/AAP3-Wiki GitHub Wiki
App Auto-Patch: Deferrals with Integrated Activator
A key feature of App Auto-Patch is its deferral system, which allows end-users to postpone updates. This page will discuss App Auto-Patch's deferral behavior, configurable through several variables.
App Auto-Patch now includes integrated Activator functionality, enhancing the deferral system for managing application updates. This integration allows for a more streamlined and efficient application patching process, providing flexibility to accommodate various operational requirements.
Activator Integration
The Activator, previously a separate component (AAP-Activator), is now embedded within the main App Auto-Patch script. The deferral workflow will automatically activate if maxDeferrals
is set to an integer value. Conversely, an "On-Demand" workflow will proceed when maxDeferrals
is not defined or the system is set to disabled.
Key Features and Activator Settings
daysUntilReset
: Defines the period in days after which the Activator/Deferral workflow resets the patching status to false, facilitating a weekly reset (i.e., 7
days for weekly patching).
patchWeekStartDay
: Specifies the weekday to initiate the weekly patching cycle and daysUntilReset
count (1=Monday, 2=Tuesday, ..., 7=Sunday). Leave this field blank to disable this feature.
maxDisplayAssertionCount
: Sets the limit for deferred attempts due to Display Assertions. Input an integer to activate or leave blank to disable.
selfServicePatchingStatusModeReset
: Determines the behavior of the weekly patching status in "On-Demand/Self Service" mode when deferrals are disabled. Options include:
1
Never: The patching status will not automatically reset toTrue
2
Always: The patching status will always reset toTrue
3
On Success: The patching status will reset toTrue
only if the patching process completes without errors
ignoreDNDApps
: A comma-separated list of applications to exclude when evaluating Do Not Disturb (DND)/Display Asserations conditions (i.e., ignoreDNDApps="firefox, Google Chrome, caffeinate"
). This allows for more nuanced control over patching interruptions by specifying applications that should be ignored during display assertion detection.
Enhanced Deferral Logic
Integrating the Activator functionality into the AAP script refines the deferral logic, allowing the system to automatically manage patching intervals and execution based on the configured parameters.
Deferral Configuration
maxDeferral
- Function: Determines the number of times a user can defer updates
- Usage: If the default value of
Disabled
is not changed then no deferral option is presented to the user. In this mode, App Auto-Patch will continue to patch applications after discovery. When this variable is configured to an integer, it represents the permissible number of deferrals allowed to the user to postpone updates.
deferralTimer
- Function: Defines the duration given to the user to respond to the deferral prompt.
- Usage: The timer starts when the deferral prompt is displayed, ticking down the allotted time for the user's decision.
deferralTimerAction
- Function: Specifies the action taken after the deferral timer expires.
- Usage: The default value for this configuration is
Defer
. If the user does not respond within the timer period, the action will be the same as if the user had deferred. This will count against the user'smaxDeferral
allotment. The value can be changed toContinue
where the update process will proceed if no response is received within the timer period.
Deferral Data Management
AppAutoPatchStatus.plist
The details of deferral usage can be found in the AppAutoPatchStatus.plist
.
User Experience
Control and Flexibility
The deferral feature offers users control over the update process, allowing them to defer updates to a more convenient time.
Benefits
Minimized Disruption
By allowing deferrals, App Auto-Patch minimizes disruptions to the user's workflow.
Customization
The flexibility to configure deferral settings caters to diverse user preferences and work environments.
The deferral system in App Auto-Patch enhances its usability and user-friendliness. By allowing customized deferral options, the application accommodates the varying needs of Mac users, ensuring software updates are managed efficiently without compromising user convenience.