Start

Preference Manifest Files

Use of manifests

In theory, any preference setting of any application can be used with the Managed Client (MCX) feature of macOS. However, this does not make sense for all settings. For example, it would not really be useful to predefine the default window positions of applications via network management. Each user will automatically set her own preferred window locations.

But how do the MCX functions “know” which preference settings are important and useful for central management and which are not? How can the Workgroup Manager application present the set of manageable settings to the network administrator? This problem is solved by using Preference Manifest Files.

Any vendor of an macOS application can provide a built-in preference manifest for that application. The manifest file, which is usually a component embedded in the application package, lists all preference settings which could be useful for network management. It also exactly describes how the application is going to use that preference setting and defines the correct type and value range of the settings. Manifest files are optional. Not every application comes with a manifest file.

Structure and location of manifest files

Manifest files are property list files in XML format which follow a certain database structure. The file name should match the preference domain name the manifest belongs to. The file name extension must be .manifest. When a manifest is delivered as part of an application, the manifest file can be found in the Resources part of the application package (bundle).

Example: Safari is one of the applications which can be managed via MCX. The preference domain name of Safari is com.apple.Safari. If you open Safari’s application bundle (Show Package Contents in the Finder), the manifest file can be found at Contents/Resources/com.apple.Safari.manifest. So the full path of the manifest file of a default installation of Safari would be

/Applications/Safari.app/Contents/Resources/com.apple.Safari.manifest.

In case the vendor offers the manifest in multi-lingual form, the manifest will not be an actual file, but a bundle package. PrefEdit can open and decode all aspects of a preference manifest. The file will automatically be displayed as a manifest document in the user’s preferred language, not as a property list.

When you display a setting in the preferences database, PrefEdit will automatically keep track if your system installation contains a manifest entry for that setting. This is marked by the icon of a magnifying glass in the column Manifest. If available, the manifest will be used after clicking on that icon to display many details about the user default, for example the clear text description of the meaning of this setting.