]> git.p6c8.net - policy-templates.git/commitdiff
Handlers policy
authorMichael Kaply <345868+mkaply@users.noreply.github.com>
Thu, 25 Jun 2020 18:52:29 +0000 (13:52 -0500)
committerMichael Kaply <345868+mkaply@users.noreply.github.com>
Thu, 25 Jun 2020 18:52:29 +0000 (13:52 -0500)
README.md
mac/org.mozilla.firefox.plist
windows/de-DE/firefox.adml
windows/en-US/firefox.adml
windows/es-ES/firefox.adml
windows/firefox.admx
windows/fr-FR/firefox.adml
windows/it-IT/firefox.adml
windows/zh-TW/firefox.adml

index 0eed6c566e551547be9fbbffa991e68dab53ca4c..935f7d750693d622d9735b9e783c63beaddaf926 100644 (file)
--- a/README.md
+++ b/README.md
@@ -57,6 +57,7 @@ Policies can be specified using the [Group Policy templates on Windows](https://
 | **[`FlashPlugin`](#flashplugin)** | Configure the default Flash plugin policy as well as origins for which Flash is allowed.
 | **[`FirefoxHome`](#firefoxhome)** | Customize the Firefox Home page.
 | **[`HardwareAcceleration`](#hardwareacceleration)** | Control hardware acceleration.
 | **[`FlashPlugin`](#flashplugin)** | Configure the default Flash plugin policy as well as origins for which Flash is allowed.
 | **[`FirefoxHome`](#firefoxhome)** | Customize the Firefox Home page.
 | **[`HardwareAcceleration`](#hardwareacceleration)** | Control hardware acceleration.
+| **[`Handlers`](#handlers)** | Configure default application handlers.
 | **[`Homepage`](#homepage)** | Configure the default homepage and how Firefox starts.
 | **[`InstallAddonsPermission`](#installaddonspermission)** | Configure the default extension install policy as well as origins for extension installs are allowed.
 | **[`LegacyProfiles`](#legacyprofiles)** | Disable the feature enforcing a separate profile for each installation.
 | **[`Homepage`](#homepage)** | Configure the default homepage and how Firefox starts.
 | **[`InstallAddonsPermission`](#installaddonspermission)** | Configure the default extension install policy as well as origins for extension installs are allowed.
 | **[`LegacyProfiles`](#legacyprofiles)** | Disable the feature enforcing a separate profile for each installation.
@@ -2385,6 +2386,187 @@ Value (string):
   }
 }
 ```
   }
 }
 ```
+
+
+
+### Handlers
+Configure default application handlers. This policy is based on the internal format of `handlers.json`.
+
+You can configure handlers based on a mime type (`mimeTypes`), a file's extension (`extensions`), or a protocol (`schemes`).
+
+Within each handler type, you specify the given mimeType/extension/scheme as a key and use the following subkeys to describe how it is handled.
+
+| Name | Description |
+| --- | --- |
+| `action`| Can be either `saveToDisk`, `useHelperApp`, `useSystemDefault`.
+| `ask` | If `true`, the user is asked if what they want to do with the file. If `false`, the action is taken without user intervention.
+| `handlers` | An array of handlers with the first one being the default. If you don't want to have a default handler, use an empty object for the first handler. Choose between path or uriTemplate.
+| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`name` | The display name of the handler (might not be used).
+| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`path`| The native path to the executable to be used.
+| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`uriTemplate`| A url to a web based application handler. The URL must be https and contain a %s to be used for substitution.
+
+**Compatibility:** Firefox 78, Firefox ESR 78\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** N/A
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\ExtensionSettings (REG_MULTI_SZ) =
+{
+  "mimeTypes": {
+    "application/msword": {
+      "action": "useSystemDefault",
+      "ask": true | false
+    }
+  },
+  "schemes": {
+    "mailto": {
+      "action": "useHelperApp",
+      "ask": true | false,
+      "handlers": [{
+        "name": "Gmail",
+        "uriTemplate": "https://mail.google.com/mail/?extsrc=mailto&url=%s"
+      }]
+    }
+  },
+  "extensions": {
+    "pdf": {
+      "action": "useHelperApp",
+      "ask": true | false,
+      "handlers": [{
+        "name": "Adobe Acrobat",
+        "path": "C:\\Program Files (x86)\\Adobe\\Acrobat Reader DC\\Reader\\AcroRd32.exe"
+      }]
+    }
+  }
+}
+```
+#### Windows (Intune)
+OMA-URI:
+```
+./Device/Vendor/MSFT/Policy/Config/Firefox~Policy~firefox/Handlers
+```
+Value (string):
+```
+<enabled/>
+<data id="Handlers" value='
+{
+  "mimeTypes": {
+    "application/msword": {
+      "action": "useSystemDefault",
+      "ask": true | false
+    }
+  },
+  "schemes": {
+    "mailto": {
+      "action": "useHelperApp",
+      "ask": true | false,
+      "handlers": [{
+        "name": "Gmail",
+        "uriTemplate": "https://mail.google.com/mail/?extsrc=mailto&url=%s"
+      }]
+    }
+  },
+  "extensions": {
+    "pdf": {
+      "action": "useHelperApp",
+      "ask": true | false,
+      "handlers": [{
+        "name": "Adobe Acrobat",
+        "path": "C:\\Program Files (x86)\\Adobe\\Acrobat Reader DC\\Reader\\AcroRd32.exe"
+      }]
+    }
+  }
+}
+'/>
+```
+#### macOS
+```
+<dict>
+  <key>Handlers</key>
+  <dict>
+    <key>mimeTypes</key>
+    <dict>
+      <key>application/msword</key>
+      <dict>
+        <key>action</key>
+        <string>useSystemDefault</string>
+        <key>ask</key>
+        <true/> | <false/>
+      </dict>
+    </dict>
+    <key>schemes</key>
+    <dict>
+      <key>mailto</key>
+      <dict>
+        <key>action</key>
+        <string>useHelperApp</string>
+        <key>ask</key>
+        <true/> | <false/>
+        <key>handlers</key>
+        <array>
+          <dict>
+            <key>name</key>
+            <string>Gmail</string>
+            <key>uriTemplate</key>
+            <string>https://mail.google.com/mail/?extsrc=mailto&url=%s</string>
+          </dict>
+        </array>
+      </dict>
+    </dict>
+    <key>extensions</key>
+    <dict>
+      <key>pdf</key>
+      <dict>
+        <key>action</key>
+        <string>useHelperApp</string>
+        <key>ask</key>
+        <true/> | <false/>
+        <key>handlers</key>
+        <array>
+          <dict>
+            <key>name</key>
+            <string>Adobe Acrobat</string>
+            <key>path</key>
+            <string>/System/Applications/Preview.app</string>
+          </dict>
+        </array>
+      </dict>
+    </dict>
+  </dict>
+</dict>
+```
+#### policies.json
+```
+{
+  "mimeTypes": {
+    "application/msword": {
+      "action": "useSystemDefault",
+      "ask": false
+    }
+  },
+  "schemes": {
+    "mailto": {
+      "action": "useHelperApp",
+      "ask": true | false,
+      "handlers": [{
+        "name": "Gmail",
+        "uriTemplate": "https://mail.google.com/mail/?extsrc=mailto&url=%s"
+      }]
+    }
+  },
+  "extensions": {
+    "pdf": {
+      "action": "useHelperApp",
+      "ask": true | false,
+      "handlers": [{
+        "name": "Adobe Acrobat",
+        "path": "/usr/bin/acroread"
+      }]
+    }
+  }
+}
+```
 ### FirefoxHome
 Customize the Firefox Home page.
 
 ### FirefoxHome
 Customize the Firefox Home page.
 
index 267a7c967ef7ae91ead23fe5dc04a732772c144f..e0043edf3f3ff3be063db08cb5cbf4f728c4ceed 100644 (file)
                <key>Locked</key>
                <true/>
        </dict>
                <key>Locked</key>
                <true/>
        </dict>
+       <key>Handlers</key>
+       <dict>
+               <key>mimeTypes</key>
+               <dict>
+                       <key>application/msword</key>
+                       <dict>
+                               <key>action</key>
+                               <string>useSystemDefault</string>
+                               <key>ask</key>
+                               <true/> | <false/>
+                       </dict>
+               </dict>
+               <key>schemes</key>
+               <dict>
+                       <key>mailto</key>
+                       <dict>
+                               <key>action</key>
+                               <string>useHelperApp</string>
+                               <key>ask</key>
+                               <true/> | <false/>
+                               <key>handlers</key>
+                               <array>
+                                       <dict>
+                                               <key>name</key>
+                                               <string>Gmail</string>
+                                               <key>uriTemplate</key>
+                                               <string>https://mail.google.com/mail/?extsrc=mailto&url=%s</string>
+                                       </dict>
+                               </array>
+                       </dict>
+               </dict>
+               <key>extensions</key>
+               <dict>
+                       <key>pdf</key>
+                       <dict>
+                               <key>action</key>
+                               <string>useHelperApp</string>
+                               <key>ask</key>
+                               <true/> | <false/>
+                               <key>handlers</key>
+                               <array>
+                                       <dict>
+                                               <key>name</key>
+                                               <string>Adobe Acrobat</string>
+                                               <key>path</key>
+                                               <string>/System/Applications/Preview.app</string>
+                                       </dict>
+                               </array>
+                       </dict>
+               </dict>
+       </dict>
        <key>HardwareAcceleration</key>
        <false/>
        <key>Homepage</key>
        <key>HardwareAcceleration</key>
        <false/>
        <key>Homepage</key>
index ed9029189eacba31998a19a54a6f97be600205c6..c18ff0f3b1336e4d98c09915fbf516991d13d0e1 100644 (file)
@@ -774,6 +774,12 @@ If this policy is enabled or not configured, the Picture-in-Picture toggle is av
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
+      <string id="Handlers">Handlers</string>
+      <string id="Handlers_Explain">If this policy is enabled, you can use JSON to configure default application handlers.
+
+If this policy is disabled or not configured, Firefox defaults are used.
+
+For detailed information on creating the policy, see https://github.com/mozilla/policy-templates/blob/master/README.md#handlers.</string>
       <string id="Preferences_Boolean_Explain">Wenn diese Richtlinieneinstellung aktiviert ist, ist die Einstellung auf true gesperrt. Wenn diese Richtlinieneinstellung deaktiviert ist, ist die Einstellung auf false gesperrt.
 
 Für eine Beschreibung der Einstellung, siehe:
       <string id="Preferences_Boolean_Explain">Wenn diese Richtlinieneinstellung aktiviert ist, ist die Einstellung auf true gesperrt. Wenn diese Richtlinieneinstellung deaktiviert ist, ist die Einstellung auf false gesperrt.
 
 Für eine Beschreibung der Einstellung, siehe:
index 0e7c78c0c9009682dd3e6c52efa3461147f0029a..9551f53ea0a6d07527b29bba251d55b63bb3c036 100644 (file)
@@ -776,6 +776,12 @@ If this policy is enabled or not configured, the Picture-in-Picture toggle is av
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
+      <string id="Handlers">Handlers</string>
+      <string id="Handlers_Explain">If this policy is enabled, you can use JSON to configure default application handlers.
+
+If this policy is disabled or not configured, Firefox defaults are used.
+
+For detailed information on creating the policy, see https://github.com/mozilla/policy-templates/blob/master/README.md#handlers.</string>
       <string id="Preferences_Boolean_Explain">If this policy is enabled, the preference is locked to true. If this policy is disabled, the preference is locked to false.
 
 For a description of the preference, see:
       <string id="Preferences_Boolean_Explain">If this policy is enabled, the preference is locked to true. If this policy is disabled, the preference is locked to false.
 
 For a description of the preference, see:
@@ -1062,6 +1068,9 @@ https://github.com/mozilla/policy-templates/blob/master/README.md#preferences.</
       <presentation id="ExtensionSettings">
         <multiTextBox refId="ExtensionSettings"/>
       </presentation>
       <presentation id="ExtensionSettings">
         <multiTextBox refId="ExtensionSettings"/>
       </presentation>
+      <presentation id="Handlers">
+        <multiTextBox refId="Handlers"/>
+      </presentation>
       <presentation id="DisplayMenuBar">
         <dropdownList refId="DisplayMenuBar"/>
       </presentation>
       <presentation id="DisplayMenuBar">
         <dropdownList refId="DisplayMenuBar"/>
       </presentation>
index 3b7899e23874e1fcce391529d97a789fac9e2e5e..818b56ee6d378109f56a5d4dbb4b1cfa17f407c8 100644 (file)
@@ -776,6 +776,12 @@ If this policy is enabled or not configured, the Picture-in-Picture toggle is av
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
+      <string id="Handlers">Handlers</string>
+      <string id="Handlers_Explain">If this policy is enabled, you can use JSON to configure default application handlers.
+
+If this policy is disabled or not configured, Firefox defaults are used.
+
+For detailed information on creating the policy, see https://github.com/mozilla/policy-templates/blob/master/README.md#handlers.</string>
       <string id="Preferences_Boolean_Explain">Si esta política está habilitada, la preferencia se bloquea en true. Si esta política está deshabilitada, la preferencia está bloqueada en false.
 
 Para una descripción de la preferencia, visita:
       <string id="Preferences_Boolean_Explain">Si esta política está habilitada, la preferencia se bloquea en true. Si esta política está deshabilitada, la preferencia está bloqueada en false.
 
 Para una descripción de la preferencia, visita:
index d4aea08c142114cb42aad605afe103b5564f3a9d..0c0c1aaea1e79e92f353c4afba92b3a781fc24ca 100644 (file)
         <decimal value="0"/>
       </disabledValue>
     </policy>
         <decimal value="0"/>
       </disabledValue>
     </policy>
+    <policy name="Handlers" class="Both" displayName="$(string.Handlers)"  key="Software\Policies\Mozilla\Firefox" explainText="$(string.Handlers_Explain)"  presentation="$(presentation.Handlers)">">
+      <parentCategory ref="firefox"/>
+      <supportedOn ref="SUPPORTED_FF78"/>
+      <elements>
+        <multiText id="Handlers" valueName="Handlers"  maxLength="2048"/>
+      </elements>
+    </policy>
   </policies>
 </policyDefinitions>
   </policies>
 </policyDefinitions>
index 2b220e8d28af1361b8e830233071d5c670eec8c5..582c3d977eb3998522a779d237e21b4aaf04f8dd 100644 (file)
@@ -775,6 +775,12 @@ If this policy is enabled or not configured, the Picture-in-Picture toggle is av
 If this policy is disabled, users cannot create a master password.\r
 \r
 If this policy is not configured, users can choose to create a master password.</string>\r
 If this policy is disabled, users cannot create a master password.\r
 \r
 If this policy is not configured, users can choose to create a master password.</string>\r
+      <string id="Handlers">Handlers</string>\r
+      <string id="Handlers_Explain">If this policy is enabled, you can use JSON to configure default application handlers.\r
+\r
+If this policy is disabled or not configured, Firefox defaults are used.\r
+\r
+For detailed information on creating the policy, see https://github.com/mozilla/policy-templates/blob/master/README.md#handlers.</string>\r
       <string id="Preferences_Boolean_Explain">Si cette stratégie est activée, la préférence est verrouillée sur true. Si cette stratégie est désactivée, la préférence est verrouillée sur false.\r
 \r
 Pour une description de la préférence, voir:\r
       <string id="Preferences_Boolean_Explain">Si cette stratégie est activée, la préférence est verrouillée sur true. Si cette stratégie est désactivée, la préférence est verrouillée sur false.\r
 \r
 Pour une description de la préférence, voir:\r
index 2793421fb36fd13cb9c8a6b10f83420e2d7f4e41..391e7e777505aa60a222eaf0074084d49d17797f 100644 (file)
@@ -776,6 +776,12 @@ If this policy is enabled or not configured, the Picture-in-Picture toggle is av
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
+      <string id="Handlers">Handlers</string>
+      <string id="Handlers_Explain">If this policy is enabled, you can use JSON to configure default application handlers.
+
+If this policy is disabled or not configured, Firefox defaults are used.
+
+For detailed information on creating the policy, see https://github.com/mozilla/policy-templates/blob/master/README.md#handlers.</string>
       <string id="Preferences_Boolean_Explain">Se questo criterio è abilitato, la preferenza è impostata a Vero e resa non modificabile. Se questo criterio è disabilitato, la preferenza è impostata a Falso e resa non modificabile.
 
 Per una descrizione della preferenza, si veda:
       <string id="Preferences_Boolean_Explain">Se questo criterio è abilitato, la preferenza è impostata a Vero e resa non modificabile. Se questo criterio è disabilitato, la preferenza è impostata a Falso e resa non modificabile.
 
 Per una descrizione della preferenza, si veda:
index a0c8976d61ea823e4f8e42cf4c4bca701322076c..abce331b9cd5e9f213f32df8611d8cba82a5b28b 100644 (file)
@@ -774,6 +774,12 @@ If this policy is enabled or not configured, the Picture-in-Picture toggle is av
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
 If this policy is disabled, users cannot create a master password.
 
 If this policy is not configured, users can choose to create a master password.</string>
+      <string id="Handlers">Handlers</string>
+      <string id="Handlers_Explain">If this policy is enabled, you can use JSON to configure default application handlers.
+
+If this policy is disabled or not configured, Firefox defaults are used.
+
+For detailed information on creating the policy, see https://github.com/mozilla/policy-templates/blob/master/README.md#handlers.</string>
       <string id="Preferences_Boolean_Explain">若啟用此原則,偏好設定將鎖定為 true。若停用此原則,偏好設定則鎖定為 false。
 
 若需要偏好設定的詳細說明,請參考:
       <string id="Preferences_Boolean_Explain">若啟用此原則,偏好設定將鎖定為 true。若停用此原則,偏好設定則鎖定為 false。
 
 若需要偏好設定的詳細說明,請參考:

patrick-canterino.de