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.

alt text

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 to True
  • 2 Always: The patching status will always reset to True
  • 3 On Success: The patching status will reset to True 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's maxDeferral allotment. The value can be changed to Continue 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.