Skip to content

Latest commit

 

History

History
792 lines (576 loc) · 15 KB

migration-information-for-upgrading-the-manifest-file-a110f76.md

File metadata and controls

792 lines (576 loc) · 15 KB

Migration Information for Upgrading the Manifest File

Information how to add new attributes of manifest (also known as descriptor) versions higher than V2 (OpenUI5 1.30) to the manifest file.

Attribute

Version*

Description

sap.ui5/dependencies/minUI5Version

V64 (1.124)

The attribute minUI5Version can now be an array of versions where each major version can only be included once. If you specify an array that contains more than one version, and if version 1 is included, it must be at least 1.120.x.

sap.fiori/cloudDevAdaptationStatus

V51 (1.110)

Release status for the developer adaptation in SAP S/4HANA Cloud Public Edition and SAP BTP, ABAP environment (SAP-internal).

Supported types:

  • released
  • deprecated
  • obsolete
  • No value means not released .

For more information, see Releasing an SAP Fiori Application to Be Extensible in Adaptation Projects on SAP S/4HANA Cloud and SAP BTP, ABAP Environment.

sap.ui5/resources/js

(deprecated)

V37 (1.94)

Since 1.94 the usage of js resources is deprecated. Please use regular dependencies instead.

sap.ui5/models/<modelName>/settings/supportedLocales

sap.ui5/models/<modelName>/settings/fallbackLocale

sap.ui5/models/<modelName>/settings/terminologies

V22 (1.77)

The supportedLocales and fallbackLocale settings can be specified with a list of supported locales and a fallback locale to define a language fallback chain and optimize the loading performance of resource bundles.

Additional resource bundles can be made available by defining terminologies.

{
   ...
   "models": {
      "i18n": {
         "type": "sap.ui.model.resource.ResourceModel",
         "settings": {
            "bundleName": "myapp.i18n.i18n",
            "supportedLocales": ["de", "en"],
            "fallbackLocale": "de",
            "terminologies": {
               "sports": {
                  "bundleUrl": "i18n/terminologies/sports/i18n.terminologies.sports.properties",
                  "bundleUrlRelativeTo": "manifest",
                  "supportedLocales": ["en", "de"]
               },
               "travel": {
                  "bundleUrl": "i18n/terminologies/travel/i18n.terminologies.travel.properties",
                  "bundleUrlRelativeTo": "manifest",
                  "supportedLocales": ["en", "de"]
               },
               "services": {
                  "bundleUrl": "i18n/terminologies/services/i18n.terminologies.services.properties",
                  "bundleUrlRelativeTo": "manifest",
                  "supportedLocales": ["en", "de"]
               }
            }
         }
      }
   }
   ...
}

sap.ui5/routing/propagateTitle

V20 (1.75)

The propagateTitle property can be set to forward title information from a nested component to the router in the root component.

{
   ...
   "componentUsages": {
      "myreuse": {
         "name": "reuse.component",
         ...
         }
      },
   "routing": {
      "config": {
      ...
      },
      "routes": [{
         "name": "home",
         "pattern": "",
         "target": {
            "name": "attachment",
            "prefix": "atch",
            "propagateTitle": true     
         }
      }],
      "targets": {
         "attachment": {
            "type": "Component",
            "usage": "myreuse",
            "options": {
               ...
            },
            ...
         }
      }
   }
   ...
}

sap.ui5/commands

V17 (1.70)

Specifies provided commands with a unique key/alias.

{
   ...
   "commands": {
      "Save": {
         "shortcut": "Ctrl+S"
      }
   },
   ...
}

sap.ui5/routing/routes/targets/<targetName>/usage

V16 (1.66)

A component can be configured as a routing target by defining it in the componentUsages section and providing its key to a target via the usage property.

{
   ...
   "componentUsages": {
      "myreuse": {
         "name": "reuse.component",
         "settings": {},
         "componentData": {},
         "lazy": false
         }
      },
   "routing": {
      "config": {
      ...
      },
      "routes": [{
         "name": "home",
         "pattern": "",
         "target": {
            "name": "attachment",
            "prefix": "atch"     
         }
      }],
      "targets": {
         "attachment": {
            "type": "Component",
            "usage": "myreuse",
            "options": {
               // optional
               // define the additional parameter for
               // instantiating the component instance
            },
            "containerOptions": {
               // optional
               // define the additional parameter for
               // instantiating the component container
               // which enables the component to be rendered
               // in the parent control
            },
            "controlId": "page",
            "controlAggregation": "content"
         }
      }
   }
   ...
}

sap.ui5/routing/routes/targets/<targetName>/type

sap.ui5/routing/routes/targets/<targetName>/path

sap.ui5/routing/routes/targets/<targetName>/name

sap.ui5/routing/routes/targets/<targetName>/id

V15 (1.62)

A routing target can load either a view or a component.

With the type option set to "Component", the Component.js which is available under the namespace generated by combining path and name is loaded and instantiated.

{
    "routing": {
        "config": {
            ...
        },
        "routes": [
            ...
        ],
        "targets": {
            "/attachment/": {
                "type": "Component",
                "path": "reuse.component",
                "name": "attachment",
                "options": {
                    ...
                },
                "containerOptions": {
                    ...
                },
                "controlId": "page",
                "controlAggregation": "content"
            }
        }
    }
}

sap.ui5/models/<modelName>/settings/enhanceWith

V12 (1.56)

The attribute enhanceWith can be specified with bundleUrl, bundleUrlRelativeTo (either component (default) or manifest) or bundleName to provide a list of additional resource bundle configurations to enhance the resource model with.

Additional attributes can be found in Terminologies.

{
   ...
   "models": {
      "i18n": {
          "type": "sap.ui.model.resource.ResourceModel",
          "uri": "i18n/i18n.properties",
          "settings": {
             "enhanceWith": [{
                "bundleUrl": "i18n/i18n.properties",
                "bundleUrlRelativeTo": "manifest"
             }]
          }
      },
      ...
   },
   ...
}

sap.ui5/componentUsages/lazy

V12 (1.56)

Indicates whether the component usage should be lazily loaded. Default value: true

For more information see:Using and Nesting Components

{
     ...
	"componentUsages": {
		"myusage": {
			"name": "my.used",
			"settings": {},
			"componentData": {},
			"lazy": false
		}
	},
     ...
}

sap.ui5/library/i18n

V10 (1.52)

Determines whether the library contains an i18n resource. The value can be either a boolean, a string, or (since 1.78) an object.

A string value represents a bundle URL. Relative URLs are always resolved to the library origin. If no value is set, the default messagebundle.properties file is loaded.

An object can contain additional resource bundle configuration, e.g. terminologies and supported locales. For the supported features and for sample definitions, see the respective entries at Terminologies (without bundleUrlRelativeTo) and Supported Locales and Fallback Chain .

Note:

This attribute is beneficial if the name of the main resource bundle (properties file) used by your UI5 library differs from the default name messagebundle.properties

{
   ...
   "library": {
      "i18n": true
   },
   ...
}

sap.ui5/componentUsages

V8 (1.48)

Specifies the used components with the a unique key/alias. Contains the following:

  • name: Mandatory name of the reuse component

  • settings: Settings of the component

  • componentData: Component data of the component

For more information see:Using and Nesting Components

{
     ...
	"componentUsages": {
		"myusage": {
			"name": "my.used",
			"settings": {},
			"componentData": {}
		}
	},
     ...
}

sap.ui5/routing/routes/target

V6 (1.42)

Allows to define titles declaratively in the configuration (title under targets/<target> and titleTarget under routes/<route>), see Routing and Navigation

{
	...,
	"routes": [{
		"pattern": "product/{id}/parts",
		"name": "ProductParts",
			"target": ["product", "productParts"],
		"titleTarget": "productParts"

	}],
	"targets": {
		"product": {
			"type": "View",
			"path": "shop.products",
			"name": "Product",
			"title": "Product"
		},
		"productParts": {
			"type": "View",
			"path": "shop.products",
			"name": "Product",
			"title": "Product Parts"
		}
	},
	...
}

sap.ui5/models/preload

V5 (1.38)

Defines whether or not the model is initialized (preloaded) before the component instance is created and while loading the component preload and its dependencies

"equipment": { 
    "preload": true,
    "dataSource": "equipment",
     ...
}

sap.ui5/routing/config/async

V4 (1.34)

General setting for routing that indicates how the views are loaded; if set to true, the views are loaded asynchronously (default is false)

For performance reasons, we recommend to always use the async setting. This recommendation implies that you have followed the OpenUI5 programming model in general and do not rely on any sync-execution depending event-orders.

"sap.ui5": {
   "_version": "1.2.0",
   ...
    "routing": {
        "config": {
            "viewType": "XML",
            "async": true
        ...
        },
        ...

sap.ui5/dependencies/components/<componentname>/lazy and dependencies/libs/<libname>/lazy

V4 (1.34)

If dependencies/components/<componentname>/lazy and dependencies/libs/<libname>/lazy are set to true, the attribute indicates in an SAP Fiori app that a dependency shall be lazy loaded (default is false), see the example for manifest.json for the SAP Fiori app.

Example for manifest.json for the SAP Fiori app:

"sap.ui5": {
   "_version": "1.2.0",
   ...
   "dependencies": {
        "minUI5Version": "1.34.0",
        "libs": {
            "sap.m": {
                "minVersion": "1.34.0"
            },
            "sap.ui.commons": {
                "minVersion": "1.34.0",
                "lazy": true
            }
        },
        "components": {
            "sap.ui.app.other": {
                "minVersion": "1.1.0"
                "lazy": true
            }
        }
    },

sap.app/crossNavigation/inbounds/<inboundname>/subTitle

V4 (1.34)

Used to overwrite the subTitle attribute per inbound; use the {{...}} syntax to add the attribute to the manifest.json file

Note:

Text symbols must be part of the properties file which is defined in sap.app/i18n (default "i18n/i18n.properties").

"sap.app": {
    "_version": "1.3.0",
    ...
    "crossNavigation": {
        "inbounds": {
            "contactCreate":
                {
                    "semanticObject": "Contact",
                    "action": "create",
                    "icon": "sap-icon://add-contact",
                    "title": "{{title}}",
                    "subTitle": "{{subtitleOther}}",

sap.app/subTitle

V4 (1.34)

Added to the manifest.json file by using the {{...}} syntax

Note:

Text symbols must be part of the properties file which is defined in sap.app/i18n (default "i18n/i18n.properties").

"sap.app": {
    "_version": "1.3.0",
    ...
    "title": "{{title}}",
    "subTitle": "{{subtitle}}",

sap.app/crossNavigation

V3 (1.32)

Contains navigation information and is a mandatory attribute in the manifest.json file for SAP Fiori apps; the attribute contains two sections:

  • sap.app/crossNavigation/inbounds - Contains inbound intents and signature information

  • sap.app/crossNavigation/outbounds - Contains required intents that are called explicitely by the app, for example, if a business process is split among different apps A and B. If A calls B, A has outbound the intent to address B.

_version

V3 (1.32)

Needs to be updated in the manifest.json file when migrating to a new manifest version:

  • _version for V3 is 1.2.0

  • _version for V4 is 1.3.0

  • _version for V5 is 1.4.0 (see example)

{
    "_version": "1.4.0",
    "sap.app": {
        ...

* Available as of manifest version (OpenUI5 version)