Skip to main content

Property Key Monitors

This monitor checks the value of a specific key inside a plist file. It enables administrators to validate that application or system preferences are correctly set and remain aligned with organizational requirements.

The application will automatically generate a variable based on the name key in your Octory configuration: IS_[NAME]_PROPERTY_PRESENT with a true value if the PropertyKey exists AND with the ExpectedValue. It will set the variable to false otherwise.

info

The check of the property value happens every 5 seconds.

Keys​

NameTypePossible valuesRequired
TypeStringPropertyRequired
NameString-Required
PathString-Required
PropertyKeyString-Required
ExpectedValueString-Required
DetailString-
DisplayNameString-
IconURLString-
IsMandatoryBoolean-
IsHiddenBoolean-
Condition PROString-

Detail​

Type Required​

Type: String
Possible values: Property
Explanation: Monitor type has to be Property.

Name Required​

Type: String
Explanation: The internal name of the monitor. This identifier is also used if you enable variable generation.

Detail​

Type: String
Explanation: Description text displayed under the name or display name in the MonitorsDisplay component.

DisplayName​

Type: String
Explanation: The name shown to the user in the MonitorsDisplay component. Otherwise, it’s the Name key that is displayed.

Path Required​

Type: String
Explanation: The absolute path to the plist file being monitored (e.g., /Library/Preferences/com.apple.TimeMachine.plist).

PropertyKey Required​

Type: String
Explanation: The specific key inside the plist file to be monitored.

ExpectedValue Required​

Type: String
Explanation: The value the specified key must match for the monitor to be considered successful. If the monitored key is a Boolean, you should use 1 or 0 as ExpectedValue to check if the value of the key is true or false.

IconURL​

Type: String
Explanation: Let you specify a local or online URL for the icon to be shown in the MonitorsDisplay component. Octory will use a generic icon image if not specified.

IsMandatory​

Type: Boolean
Default: true
Explanation: When set to false, the app monitor will be displayed in the MonitorsDisplay component but will not prevent the overall installation to be marked as complete and thus the app to be terminated when not all app monitors are installed.

IsHidden​

Type: Boolean
Default: false
Explanation: If true, the monitor will not be displayed in the MonitorsDisplay compoenent. A hidden monitor can still be mandatory, this is more a UI option.

Condition PRO​

Type: String
Explanation: Conditions to decide if the monitor should be shown in MonitorsDisplay component. When the condition evolves, an animation occurs in the MonitorsDisplay component to insert or remove the monitor. More information on conditions.

Example​

Monitor for the plist file /Library/Preferences/com.company.app.plist, checking that the key AppSettings.EnableFeatureX is set to true. The monitor is identified internally as Plist Configuration Check and displayed to the user as Configuration Validation.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- ... -->
<key>Monitoring</key>
<dict>
<key>Monitors</key>
<array>
<dict>
<key>Type</key>
<string>Property</string>
<key>Name</key>
<string>Plist Configuration Check</string>
<key>DisplayName</key>
<string>Configuration Validation</string>
<key>Detail</key>
<string>Ensures plist key matches expected value.</string>
<key>Path</key>
<string>/Library/Preferences/com.company.app.plist</string>
<key>PropertyKey</key>
<string>AppSettings.EnableFeatureX</string>
<key>ExpectedValue</key>
<string>1</string>
<key>IconURL</key>
<string>${Monitors}/configuration.icns</string>
<key>IsHidden</key>
<false/>
</dict>
</array>
</dict>
<!-- ... -->
</dict>
</plist>