Bug 1592209 - Remove engineName from the modern configuration. r=mikedeboer
authorMark Banner <standard8@mozilla.com>
Mon, 04 Nov 2019 13:26:38 +0000
changeset 500366 acacc410970fe6ba0dec16a7b68813318e0d3d8d
parent 500365 9a1cf12c3de167578445f539ac744018536fd5b4
child 500367 5904cc75e12209ae82ab2df3888870a4e4383e58
push id36763
push userrmaries@mozilla.com
push dateMon, 04 Nov 2019 21:44:06 +0000
treeherdermozilla-central@75a7a3400888 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmikedeboer
bugs1592209
milestone72.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1592209 - Remove engineName from the modern configuration. r=mikedeboer Differential Revision: https://phabricator.services.mozilla.com/D51604
browser/components/search/extensions/engines.json
toolkit/components/search/docs/SearchEngineConfiguration.rst
toolkit/components/search/schema/search-engine-config-schema.json
toolkit/components/search/schema/search-engine-config-ui-schema.json
--- a/browser/components/search/extensions/engines.json
+++ b/browser/components/search/extensions/engines.json
@@ -1,12 +1,11 @@
 {
   "data": [
     {
-      "engineName": "google",
       "orderHint": 1000,
       "webExtension": {
         "id": "google@search.mozilla.org",
         "version": "1.0"
       },
       "searchUrlGetParams": {
         "client": "firefox-b-d",
         "q": "{searchTerms}"
@@ -38,17 +37,16 @@
         "searchUrlGetParams": {
           "client": "firefox-b-1-d",
           "q": "{searchTerms}"
         },
         "telemetryId": "google-b-1-d"
       }]
     },
     {
-      "engineName": "bing",
       "webExtension": {
         "id": "bing@search.mozilla.org",
         "version": "1.0"
       },
       "searchUrlGetParams": {
         "q": "{searchTerms}",
         "pc": "MOZI"
       },
@@ -95,17 +93,16 @@
             "startsWith": ["bn", "en"]
           }
         }
       }, {
         "included": { "regions": ["default"] }
       }]
     },
     {
-      "engineName": "baidu",
       "webExtension": {
         "id": "baidu@search.mozilla.org",
         "version": "1.0"
       },
       "telemetryId": "baidu",
       "searchUrlGetParams": {
         "wd": "{searchTerms}",
         "tn": "monline_7_dg",
@@ -123,17 +120,16 @@
         "included": {
           "regions": ["cn"],
           "locales": { "matches": ["zh-CN"] }
         },
         "default": "yes"
       }]
     },
     {
-      "engineName": "amazon",
       "orderHint": 500,
       "webExtension": {
         "id": "amazondotcom@search.mozilla.org",
         "version": "1.1"
       },
       "telemetryId": "amazondotcom",
       "suggestUrlGetParams": {
         "field-keywords": "{searchTerms}",
@@ -239,17 +235,16 @@
           "ie": "{inputEncoding}",
           "mode": "blended",
           "tag": "firefox-uk-21",
           "sourceid":"Mozilla-search"
         }
       }]
     },
     {
-      "engineName": "Amazon",
       "orderHint": 500,
       "webExtension": {
         "id": "amazon@search.mozilla.org",
         "version": "1.1"
       },
       "searchUrlGetParams": {
         "field-keywords": "{searchTerms}",
         "ie": "{inputEncoding}",
@@ -367,17 +362,16 @@
         },
         "webExtension": {
           "locales": ["au"]
         },
         "telemetryId": "amazon-au"
       }]
     },
     {
-      "engineName": "amazoncn",
       "orderHint": 500,
       "webExtension": {
         "id": "amazondotcn@search.mozilla.org",
         "version": "1.0"
       },
       "telemetryId": "amazondotcn",
       "suggestUrlGetParams": {
         "keywords": "{searchTerms}",
@@ -388,17 +382,16 @@
         "Go.y": "0",
         "bestSaleNum": "0"
       },
       "appliesTo": [{
         "included": { "locales": { "matches": ["zh-CN"] } }
       }]
     },
     {
-      "engineName": "ebay",
       "orderHint": 500,
       "webExtension": {
         "id": "ebay@search.mozilla.org",
         "version": "1.0"
       },
       "searchUrlGetParams": {
         "ff3": "4",
         "toolid": "20004",
@@ -690,17 +683,16 @@
           "toolid": "20004",
           "campid": "5338192028",
           "customid": "",
           "mpre": "https://www.ebay.ch/sch/{searchTerms}"
         }
       }]
     },
     {
-      "engineName": "ddg",
       "orderHint": 500,
       "webExtension": {
         "id": "ddg@search.mozilla.org",
         "version": "1.0"
       },
       "telemetryId": "ddg",
       "extraParams": [{
         "name": "t",
@@ -728,17 +720,16 @@
         "purpose": "newtab",
         "value": "ffnt"
       }],
       "appliesTo": [{
         "included": { "everywhere": true }
       }]
     },
     {
-      "engineName": "yandex",
       "webExtension": {
         "id": "yandex@search.mozilla.org",
         "version": "1.0"
       },
       "extraParams": [{
         "name": "clid",
         "condition": "purpose",
         "purpose": "searchbar",
@@ -805,75 +796,67 @@
         "included": { "locales": { "matches": ["tr"] }},
         "webExtension": {
           "locales": ["tr"]
         },
         "telemetryId": "yandex-tr"
       }]
     },
     {
-      "engineName": "allaannonser-sv-SE",
       "webExtension": {
         "id": "allaannonser-sv-SE@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sv-SE"]}}}]
     },
     {
-      "engineName": "allegro-pl",
       "webExtension": {
         "id": "allegro-pl@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["pl"]}}}]
     },
     {
-      "engineName": "atlas-sk",
       "webExtension": {
         "id": "atlas-sk@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sk"]}}}]
     },
     {
-      "engineName": "azerdict",
       "webExtension": {
         "id": "azerdict@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["az"]}}}]
     },
     {
-      "engineName": "azet-sk",
       "webExtension": {
         "id": "azet-sk@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sk"]}}}]
     },
     {
-      "engineName": "bbc-alba",
       "webExtension": {
         "id": "bbc-alba@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["gd"]}}}]
     },
     {
-      "engineName": "bok-NO",
       "webExtension": {
         "id": "bok-NO@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": {
         "locales": { "matches": ["nb-NO", "nn-NO"]}
       }}]
     },
     {
-      "engineName": "bolcom",
       "webExtension": {
         "id": "bolcom@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": { "locales": { "matches": ["fy-NL"]}},
         "webExtension": {
           "locales": ["fy-NL"]
@@ -881,188 +864,166 @@
       }, {
         "included": { "locales": { "matches": ["nl"]}},
         "webExtension": {
           "locales": ["nl"]
         }
       }]
     },
     {
-      "engineName": "ceneji",
       "webExtension": {
         "id": "ceneji@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sl"]}}}]
     },
     {
-      "engineName": "chambers-en-GB",
       "webExtension": {
         "id": "chambers-en-GB@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["en-GB"]}}}]
     },
     {
-      "engineName": "coccoc",
       "webExtension": {
         "id": "coccoc@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["vi"]}}}]
     },
     {
-      "engineName": "daum-kr",
       "webExtension": {
         "id": "daum-kr@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ko"]}}}]
     },
     {
-      "engineName": "diec2",
       "webExtension": {
         "id": "diec2@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{
         "included": { "locales": { "matches": ["ca", "ca-valencia"]}}}]
     },
     {
-      "engineName": "drae",
       "webExtension": {
         "id": "drae@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": { "locales": { "matches": ["es-AR", "es-CL", "es-ES"]}}
       }]
     },
     {
-      "engineName": "ecosia",
       "webExtension": {
         "id": "ecosia@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["de"]}}}]
     },
     {
-      "engineName": "eki-ee",
       "webExtension": {
         "id": "eki-ee@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["et"]}}}]
     },
     {
-      "engineName": "eudict",
       "webExtension": {
         "id": "eudict@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["hr"]}}}]
     },
     {
-      "engineName": "faclair-beag",
       "webExtension": {
         "id": "faclair-beag@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["gd"]}}}]
     },
     {
-      "engineName": "flip",
       "webExtension": {
         "id": "flip@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["kk"]}}}]
     },
     {
-      "engineName": "freelang",
       "webExtension": {
         "id": "freelang@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["br"]}}}]
     },
     {
-      "engineName": "gulesider-NO",
       "webExtension": {
         "id": "gulesider-NO@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["nn-NO", "nb-NO"]}}}]
     },
     {
-      "engineName": "heureka-cz",
       "webExtension": {
         "id": "heureka-cz@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["cs"]}}}]
     },
     {
-      "engineName": "hotline-ua",
       "webExtension": {
         "id": "hotline-ua@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["uk"]}}}]
     },
     {
-      "engineName": "kannadastore",
       "webExtension": {
         "id": "kannadastore@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["kn"]}}}]
     },
     {
-      "engineName": "leo_ende_de",
       "webExtension": {
         "id": "leo_ende_de@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["de", "dsb", "hsb" , "rm"]}}}]
     },
     {
-      "engineName": "list-am",
       "webExtension": {
         "id": "list-am@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["hy-AM"]}}}]
     },
     {
-      "engineName": "longdo",
       "webExtension": {
         "id": "longdo@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["th"]}}}]
     },
     {
-      "engineName": "mailru",
       "webExtension": {
         "id": "mailru@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ru"]}}}]
     },
     {
-      "engineName": "mapy-cz",
       "webExtension": {
         "id": "mapy-cz@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["cs"]}}}]
     },
     {
-      "engineName": "marktplaats",
       "webExtension": {
         "id": "marktplaats@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": { "locales": { "matches": ["fy-NL"]}},
         "webExtension": {
           "locales": ["fy-NL"]
@@ -1070,17 +1031,16 @@
       }, {
         "included": { "locales": { "matches": ["nl"]}},
         "webExtension": {
           "locales": ["nl"]
         }
       }]
     },
     {
-      "engineName": "mercadolibre",
       "webExtension": {
         "id": "mercadolibre@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": { "locales": { "matches": ["es-AR"]}},
         "webExtension": {
           "locales": ["ar"]
@@ -1093,217 +1053,191 @@
       }, {
         "included": { "locales": { "matches": ["es-MX"]}},
         "webExtension": {
           "locales": ["mx"]
         }
       }]
     },
     {
-      "engineName": "mercadolivre",
       "webExtension": {
         "id": "mercadolivre@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["pt-BR"]}}}]
     },
     {
-      "engineName": "morfix-dic",
       "webExtension": {
         "id": "morfix-dic@search.mozilla.org",
         "version": "1.1"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["he"]}}}]
     },
     {
-      "engineName": "najdi-si",
       "webExtension": {
         "id": "najdi-si@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sl"]}}}]
     },
     {
-      "engineName": "naver-kr",
       "webExtension": {
         "id": "naver-kr@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ko"]}}}]
     },
     {
-      "engineName": "neti-ee",
       "webExtension": {
         "id": "neti-ee@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["et"]}}}]
     },
     {
-      "engineName": "odpiralni",
       "webExtension": {
         "id": "odpiralni@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sl"]}}}]
     },
     {
-      "engineName": "olx",
       "webExtension": {
         "id": "olx@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["bs"]}}}]
     },
     {
-      "engineName": "oshiete-goo",
       "webExtension": {
         "id": "oshiete-goo@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-mac", "jp"]}}}]
     },
     {
-      "engineName": "osta-ee",
       "webExtension": {
         "id": "osta-ee@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["et"]}}}]
     },
     {
-      "engineName": "ozonru",
       "webExtension": {
         "id": "ozonru@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ru"]}}}]
     },
     {
-      "engineName": "palasprint",
       "webExtension": {
         "id": "palasprint@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["cy"]}}}]
     },
     {
-      "engineName": "pazaruvaj",
       "webExtension": {
         "id": "pazaruvaj@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["bg"]}}}]
     },
     {
-      "engineName": "pogodak",
       "webExtension": {
         "id": "pogodak@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sr"]}}}]
     },
     {
-      "engineName": "priberam",
       "webExtension": {
         "id": "priberam@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["pt-PT"]}}}]
     },
     {
-      "engineName": "priceru",
       "webExtension": {
         "id": "priceru@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ru"]}}}]
     },
     {
-      "engineName": "prisjakt-sv-SE",
       "webExtension": {
         "id": "prisjakt-sv-SE@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sv-SE"]}}}]
     },
     {
-      "engineName": "pwn-pl",
       "webExtension": {
         "id": "pwn-pl@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["pl"]}}}]
     },
     {
-      "engineName": "qwant",
       "webExtension": {
         "id": "qwant@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["fr"]}}}]
     },
     {
-      "engineName": "qxl-NO",
       "webExtension": {
         "id": "qxl-NO@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["nb-NO", "nn-NO"]}}}]
     },
     {
-      "engineName": "rakuten",
       "webExtension": {
         "id": "rakuten@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-mac", "jp"]}}}]
     },
     {
-      "engineName": "readmoo",
       "webExtension": {
         "id": "readmoo@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["zh-TW"]}}}]
     },
     {
-      "engineName": "salidzinilv",
       "webExtension": {
         "id": "salidzinilv@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ltg", "lv"]}}}]
     },
     {
-      "engineName": "seznam-cz",
       "webExtension": {
         "id": "seznam-cz@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["cs"]}}}]
     },
     {
-      "engineName": "sslv",
       "webExtension": {
         "id": "sslv@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ltg", "lv"]}}}]
     },
     {
-      "engineName": "tearma",
       "webExtension": {
         "id": "tearma@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ga-IE"]}}}]
     },
     {
-      "engineName": "twitter",
       "webExtension": {
         "id": "twitter@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": { "locales": { "matches": [
           "default", "en-US", "ach", "an", "bs", "ca", "ca-valencia",
           "crh", "en-CA", "ga-IE", "gn", "hr", "ia", "ka", "kk", "km",
@@ -1313,33 +1247,30 @@
       }, {
         "included": { "locales": { "matches": ["ja-JP-mac", "ja"]}},
         "webExtension": {
           "locales": ["ja"]
         }
       }]
     },
     {
-      "engineName": "tyda-sv-SE",
       "webExtension": {
         "id": "tyda-sv-SE@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sv-SE"]}}}]
     },
     {
-      "engineName": "vatera",
       "webExtension": {
         "id": "vatera@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["hu"]}}}]
     },
     {
-      "engineName": "wiktionary",
       "webExtension": {
         "id": "wiktionary@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": { "locales": { "matches": ["te"]}},
         "webExtension": {
           "locales": ["te"]
@@ -1347,49 +1278,44 @@
       }, {
         "included": { "locales": { "matches": ["oc"]}},
         "webExtension": {
           "locales": ["oc"]
         }
       }]
     },
     {
-      "engineName": "wolnelektury-pl",
       "webExtension": {
         "id": "wolnelektury-pl@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["pl"]}}}]
     },
     {
-      "engineName": "yahoo-jp",
       "webExtension": {
         "id": "yahoo-jp@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-mac", "ja"]}}}]
     },
     {
-      "engineName": "yahoo-jp-auctions",
       "webExtension": {
         "id": "yahoo-jp-auctions@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["ja-JP-mac", "ja"]}}}]
     },
     {
-      "engineName": "zoznam-sk",
       "webExtension": {
         "id": "zoznam-sk@search.mozilla.org",
         "version": "1.2"
       },
       "appliesTo": [{ "included": { "locales": { "matches": ["sk"]}}}]
     },
     {
-      "engineName": "wikipedia",
       "webExtension": {
         "id": "wikipedia@search.mozilla.org",
         "version": "1.0"
       },
       "appliesTo": [ {
         "included": { "everywhere": true }
       }, {
         "included": { "locales": { "matches": [
--- a/toolkit/components/search/docs/SearchEngineConfiguration.rst
+++ b/toolkit/components/search/docs/SearchEngineConfiguration.rst
@@ -52,33 +52,29 @@ is an array of engines:
           // engine 1 details
         },
         {
           // engine 2 details
         }
       ]
     }
 
-.. note::
-    The engine name is intended only as a key/identifier.
-
 Engine Objects
 --------------
 
 An engine's details are located in the properties of the object associated with it.
 An engine that is deployed globally could be listed simply as:
 
 .. code-block:: js
 
     {
-      "engineName": "engine1",
       "default": "no",
       "telemetryId": "engine1-telem",
       "webExtension": {
-        "id": "webext",
+        "id": "web@ext",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": {
           "everywhere": true
         }
       }]
     }
@@ -89,60 +85,58 @@ to specify which regions/locales the eng
 attributes at the top-level.
 
 For example, a more complex engine definition may be available only to users
 located specific regions or with certain locales. For example:
 
 .. code-block:: js
 
     {
-      "engineName": "engine1",
       "webExtension": {
-        "id": "webext",
+        "id": "web@ext",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": {
           "region": "us"
         },
         "webExtension": {
-          "id": "webext-us",
+          "id": "web-us@ext",
           "version": "1.1"
         }
       }, {
         "included": {
           "region": "gb"
         },
         "webExtension": {
-          "id": "webext-gb",
+          "id": "web-gb@ext",
           "version": "1.2"
         }
       }]
     }
 
 In this case users identified as being in the US region would use the WebExtension
-with identifier ``webext-engine1``, version 1.1. GB region users would get
-``webext-gb`` version 1.2, and all other users would get ``webext`` version 1.0.
+with identifier ``web-us@ext``, version 1.1. GB region users would get
+``web-gb@ext`` version 1.2, and all other users would get ``web@ext`` version 1.0.
 
 Special Attributes
 ------------------
 
 $USER_LOCALE
 ------------
 
 If a ``webExtension.locales`` property contains an element with the value
 ``"$USER_LOCALE"`` then the special value will be replaced in the
 configuration object with the users locale. For example:
 
 .. code-block:: js
 
     {
-      "engineName": "engine1",
       "webExtension": {
-        "id": "webext",
+        "id": "web@ext",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": {
           "locales": {
             "matches": ["us", "gb"]
           },
           "webExtension": {
@@ -169,35 +163,34 @@ We can run experiments by giving section
 matching ``cohort`` value to match those sections.
 
 Sections which have a ``cohort`` will not be used unless a matching
 ``cohort`` has been passed in, for example:
 
 .. code-block:: js
 
     {
-      "engineName": "engine1",
       "webExtension": {
-        "id": "webext",
+        "id": "web@ext",
         "version": "1.0"
       },
       "appliesTo": [{
         "included": {
           "everywhere": true
         },
         "cohort": "nov-16",
         "webExtension": {
-          "id": "webext-experimental"
+          "id": "web-experimental@ext"
         }
       }, {
         "included": {
           "everywhere": true
         },
         "webExtension": {
-          "id": "webext-gb",
+          "id": "web-gb@ext",
           "version": "1.2"
         }
       }]
     }
 
 Engine Defaults
 ---------------
 
@@ -214,69 +207,80 @@ then it will only use the normal mode en
 
 An engine may or may not be default for particular regions/locales. The ``default``
 property is a tri-state value with states of ``yes``, ``yes-if-no-other`` and
 ``no``. Here's an example of how they apply:
 
 .. code-block:: js
 
     {
-      "engineName": "engine1",
+      "webExtension": {
+        "id": "engine1@ext",
+        "version": "1.0"
+      },
       "appliesTo": [{
         "included": {
           "region": "us"
         },
         "default": "yes"
       }, {
         "excluded": {
           "region": "us"
         },
         "default": "yes-if-no-other"
       }]
     },
     {
-      "engineName": "engine2",
+      "webExtension": {
+        "id": "engine2@ext",
+        "version": "1.0"
+      },
       "appliesTo": [{
         "included": {
           "region": "gb"
         },
         "default": "yes"
       }]
     },
-    {
-      "engineName": "engine3",
+      "webExtension": {
+        "id": "engine3@ext",
+        "version": "1.0"
+      },
       "default": "no"
       "appliesTo": [{
         "included": {
           "everywhere": true
         },
       }]
     },
     {
-      "engineName": "engine4",
+      "webExtension": {
+        "id": "engine4@ext",
+        "version": "1.0"
+      },
       "defaultPrivate": "yes",
       "appliesTo": [{
         "included": {
           "region": "fr"
         }
       }]
     }
 
 In this example, for normal mode:
 
-    - engine1 is default in the US region, and all other regions except for GB
-    - engine2 is default in only the GB region
-    - engine3 and engine4 are never default anywhere
+    - engine1@ext is default in the US region, and all other regions except for GB
+    - engine2@ext is default in only the GB region
+    - engine3@ext and engine4 are never default anywhere
 
 In private browsing mode:
 
-    - engine1 is default in the US region, and all other regions execpt for GB and FR
-    - engine2 is default in only the GB region
-    - engine3 is never default anywhere
-    - engine4 is default in the FR region.
+    - engine1@ext is default in the US region, and all other regions execpt for GB and FR
+    - engine2@ext is default in only the GB region
+    - engine3@ext is never default anywhere
+    - engine4@ext is default in the FR region.
 
 Engine Ordering
 ---------------
 
 The ``orderHint`` field indicates the suggested ordering of an engine relative to
 other engines when displayed to the user, unless the user has customized their
 ordering.
 
@@ -287,43 +291,52 @@ default, and the ``orderHint`` fields. T
 #. Default engine in private browsing mode (if different from the normal mode engine)
 #. Other engines in order from the highest ``orderHint`` to the lowest.
 
 Example:
 
 .. code-block:: js
 
     {
-      "engineName": "engine1",
+      "webExtension": {
+        "id": "engine1@ext",
+        "version": "1.0"
+      },
       "orderHint": 2000,
       "default": "no",
     },
     {
-      "engineName": "engine2",
+      "webExtension": {
+        "id": "engine2@ext",
+        "version": "1.0"
+      },
       "orderHint": 1000,
       "default": "yes"
     },
     {
-      "engineName": "engine3",
+      "webExtension": {
+        "id": "engine3@ext",
+        "version": "1.0"
+      },
       "orderHint": 500,
       "default": "no"
     }
 
-This would result in the order: ``engine2, engine1, engine3``.
+This would result in the order: ``engine2@ext, engine1@ext, engine3@ext``.
 
 Engine Updates
 --------------
 
 Within each engine definition is the extension id and version, for example:
 
 .. code-block:: js
 
   {
       "webExtension": {
-        "id": "webext",
+        "id": "web@ext",
         "version": "1.0"
       },
     }
 
 To locate an engine to use, the Search Service will look in the following locations (in order):
 
 #. within the user's install of the application.
 #. in the configuration to see if there is an ``attachment`` field.
--- a/toolkit/components/search/schema/search-engine-config-schema.json
+++ b/toolkit/components/search/schema/search-engine-config-schema.json
@@ -1,20 +1,14 @@
 {
   "type": "object",
   "required": [
-    "engineName"
+    "webExtension"
   ],
   "properties": {
-    "engineName": {
-      "type": "string",
-      "title": "Engine Name",
-      "description": "General short name for this engine, only used as an identifier",
-      "pattern": "^[a-zA-Z-]+$"
-    },
     "default": {
       "$ref": "#/definitions/default"
     },
     "defaultPrivate": {
       "$ref": "#/definitions/defaultPrivate"
     },
     "application": {
       "$ref": "#/definitions/application"
--- a/toolkit/components/search/schema/search-engine-config-ui-schema.json
+++ b/toolkit/components/search/schema/search-engine-config-ui-schema.json
@@ -1,14 +1,10 @@
 {
-  "engineName": {
-    "ui:autofocus": true
-  },
   "ui:order": [
-    "engineName",
     "webExtension",
     "default",
     "defaultPrivate",
     "application",
     "orderHint",
     "telemetryId",
     "codes",
     "appliesTo"