Information how to add new attributes of manifest (also known as descriptor) versions higher than V2 (OpenUI5 1.30) to the manifest file.
| Version \(UI5 Version\) | Attribute | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2.0.0 \(1.136\) | Root View and Routing Configuration | Synchronous root view creation and routing configuration are no longer supported. The `async` flag for both the `rootview` and the `routing` configuration is now implicitly set to`true` and no longer needs to be specified. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 2.0.0 \(1.136\) | Deprecated Manifest Entries | Deprecated manifest entries managed by the OpenUI5 framework cannot be used anymore and will cause errors. This has the following consequences: - Arbitrary JavaScript resources can no longer be loaded via `sap.ui5/resources/js`. Please use dedicated modules as eager dependencies instead, such as within your `Component.js` - The routing properties `ViewId`, `viewName`, `viewPath` and `viewLevel` can no longer be used. Please use the documented alternatives by replacing them with the properties `id`, `name`, `path` and `level`, respectively along with adding the `type: "view"`. For more information, See [Routing Configuration](https://github.wdf.sap.corp/uics-innersource/ui5-docs/blob/manifestmigr/docs/04_Essentials/routing-configuration-9023130.md). - Supported themes can no longer be specified via the `sap.ui/supportedThemes` section. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 2.0.0 \(1.136\) | Error Validation | Manifest Version 2 also enables a stricter error handling for views and fragments. Syntactical errors \(e.g. broken binding strings\) will now lead to errors being thrown. Programmatically created views will reject the factory promise accordingly. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 2.0.0 \(1.136\) | `IAsyncContentCreation` | While the Manifest Version 2 behavior regarding root view and routing configuration is similar to the behavior of the [`sap.ui.core.IAsyncContentCreation`](https://ui5.sap.com/#/api/sap.ui.core.IAsyncContentCreation) interface, they are not interchangeable. For compatibility reasons, the Manifest Version 2 does **not** enforce the implementation of this interface. In order to use an asynchronous `sap/ui/core/UIComponent#createContent` implementation in your subclasses, the `sap.ui.core.IAsyncContentCreation` interface must be implemented explicitly. Please also be aware that the implementation of the `sap.ui.core.IAsyncContentCreation` interface changes the aggregation behavior of the root view. When the root view is loaded asynchronously and the Component implements `sap.ui.core.IAsyncContentCreation`, the root view controller's [`onInit`](https://ui5.sap.com/#/api/sap.ui.core.mvc.Controller%23methods/onInit) hook no longer has access to Component models through the view instance. To retrieve model instances, we recommend using the [`sap/ui/core/mvc/Controller#getOwnerComponent`](https://ui5.sap.com/#/api/sap.ui.core.mvc.Controller%23methods/getOwnerComponent) API on the controller instance. We recommend any Component or UIComponent to implement the `sap.ui.core.IAsyncContentCreation` interface whenever possible. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 1.63.0 \(1.124\) | `sap.ui5/dependencies/minUI5Version` | 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.136.x. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 1.50.0 \(1.110\) | `sap.fiori/cloudDevAdaptationStatus` | 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](https://help.sap.com/docs/bas/developing-sap-fiori-app-in-sap-business-application-studio/releasing-sap-fiori-application-to-be-extensible-in-adaptation-projects-on-sap-s-4hana-cloud). | ||||||||||||||||||||||||||||||||||||||||||||||||
| 1.136.0 \(1.94\) | `sap.ui5/resources/js` \(deprecated\) | Since 1.94 the usage of `js` resources is deprecated. Please use regular dependencies instead. | ||||||||||||||||||||||||||||||||||||||||||||||||
| 1.21.0 \(1.77\) |
`sap.ui5/models/|
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"]
}
}
}
}
}
...
}
```
|
</tr>
1.19.0 \(1.75\)
|
`sap.ui5/routing/propagateTitle`
|
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": {
...
},
...
}
}
}
...
}
```
|
1.16.0 \(1.70\)
|
`sap.ui5/commands`
|
Specifies provided commands with a unique key/alias.
```
{
...
"commands": {
"Save": {
"shortcut": "Ctrl+S"
}
},
...
}
```
|
1.15.0 \(1.66\)
|
|
sap.ui5/routing/routes/targets/<targetName>/usage
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"
}
}
}
...
}
```
|
1.14.0 \(1.62\)
|
|
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
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"
}
}
}
}
```
|
1.11.0 \(1.56\)
|
`sap.ui5/models/ |
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](/docs/04_Essentials/terminologies-eba8d25.html).
```
{
...
"models": {
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"uri": "i18n/i18n.properties",
"settings": {
"enhanceWith": [{
"bundleUrl": "i18n/i18n.properties",
"bundleUrlRelativeTo": "manifest"
}]
}
},
...
},
...
}
```
|
</tr>
1.11.0 \(1.56\)
|
`sap.ui5/componentUsages/lazy`
|
Indicates whether the component usage should be lazily loaded. Default value: `true`
For more information, see: [Component Instantiation Guide](/docs/04_Essentials/component-instantiation-guide-346599f.html).
```
{
...
"componentUsages": {
"myusage": {
"name": "my.used",
"settings": {},
"componentData": {},
"lazy": false
}
},
...
}
```
|
1.9.0 \(1.52\)
|
`sap.ui5/library/i18n`
|
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](/docs/04_Essentials/terminologies-eba8d25.html) \(without `bundleUrlRelativeTo`\) and [Supported Locales and Fallback Chain](/docs/04_Essentials/supported-locales-and-fallback-chain-ec753bc.html) .
> ### 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
},
...
}
```
|
1.7.0 \(1.48\)
|
`sap.ui5/componentUsages`
|
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:[Component Instantiation Guide](/docs/04_Essentials/component-instantiation-guide-346599f.html)
```
{
...
"componentUsages": {
"myusage": {
"name": "my.used",
"settings": {},
"componentData": {}
}
},
...
}
```
|
1.5.0 \(1.42\)
|
`sap.ui5/routing/routes/target`
|
Allows to define titles declaratively in the configuration \(`title` under `targets/ |
1.4.0 \(1.38\)
|
`sap.ui5/models/preload`
|
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",
...
}
```
|
1.3.0 \(1.34\)
|
`sap.ui5/routing/config/async`
|
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
...
},
...
```
|
1.3.0 \(1.34\)
|
`sap.ui5/dependencies/components/ |
If `dependencies/components/ |
1.3.0 \(1.34\)
|
`sap.app/crossNavigation/inbounds/ |
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": "",
"subTitle": "",
```
|
</tr>
1.3.0 \(1.34\)
|
`sap.app/subTitle`
|
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": "",
"subTitle": "",
```
|
1.2.0 \(1.32\)
|
`sap.app/crossNavigation`
|
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.
|
1.2.0 \(1.32\)
|
`_version`
|
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": {
...
```
|
|