From ab1cbf161c48e63376b13d46e0537cedd406a813 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 12 Feb 2024 17:21:32 +0100 Subject: [PATCH 01/27] Adding uiad files --- file-formats/uiad/README.md | 5 + .../uiad/type/zif_aff_uiad_v1.intf.abap | 616 ++++++++++++++++ .../uiad/type/zif_aff_uiad_v1.intf.json | 7 + file-formats/uiad/uiad-v1.json | 671 ++++++++++++++++++ 4 files changed, 1299 insertions(+) create mode 100644 file-formats/uiad/README.md create mode 100644 file-formats/uiad/type/zif_aff_uiad_v1.intf.abap create mode 100644 file-formats/uiad/type/zif_aff_uiad_v1.intf.json create mode 100644 file-formats/uiad/uiad-v1.json diff --git a/file-formats/uiad/README.md b/file-formats/uiad/README.md new file mode 100644 index 000000000..eee224f62 --- /dev/null +++ b/file-formats/uiad/README.md @@ -0,0 +1,5 @@ +# UIAD File Format + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap new file mode 100644 index 000000000..c2f2ed01e --- /dev/null +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -0,0 +1,616 @@ +INTERFACE zif_aff_uiad_v1 + PUBLIC. + + TYPES: + "!

General Information

+ "! General information + BEGIN OF ty_general_information, + + "!

Information

+ "! LADI information text + information TYPE c LENGTH 255, + + "!

Catalog Id

+ "! Catalog id + catalog_id TYPE c LENGTH 40, + + "!

Tcode

+ "! Tcode + tcode TYPE c LENGTH 20, + + "!

Fiori Id

+ "! Fiori id + fiori_id TYPE c LENGTH 20, + + "!

ACH Component

+ "! ACH component + ach_component TYPE c LENGTH 24, + + "!

Default Tile

+ "! Default tile + default_tile TYPE c LENGTH 30, + + END OF ty_general_information. + + TYPES: + "!

Lifecycle

+ "! Lifecycle state of the app + BEGIN OF ty_lifecycle, + + "!

Deprecated

+ "! Whether the app is deprecated + deprecated TYPE abap_bool, + + "!

Successor

+ "! LADI id of the successor app + successor TYPE c LENGTH 32, + + END OF ty_lifecycle. + + TYPES: + "!

UI5 App Details

+ "! UI5 specific app details + BEGIN OF ty_app_details_ui5, + + "!

App Id

+ "! SAP UI5 component id + "! $required + app_id TYPE c LENGTH 70, + + "!

ICF Path

+ "! ICF path + icf_path TYPE string, + + END OF ty_app_details_ui5. + + "! WDA integration mode + "! $values {@link zif_aff_uiad_v1.data:co_wda_integration_mode} + "! $default {@link zif_aff_uiad_v1.data:co_wda_integration_mode.system_default} + TYPES ty_wda_integration_mode TYPE c LENGTH 1. + + CONSTANTS: + "!

Integration Mode

+ "! WDA integration mode + BEGIN OF co_wda_integration_mode, + + "!

System Default

+ "! System Default + system_default TYPE ty_wda_integration_mode VALUE ' ', + + "!

Direct

+ "! Direct + direct TYPE ty_wda_integration_mode VALUE 'D', + + "!

Compatible

+ "! Compatible + compatible TYPE ty_wda_integration_mode VALUE 'C', + + END OF co_wda_integration_mode. + + TYPES: + "!

WDA App Details

+ "! Web Dynpro specific app details + BEGIN OF ty_app_details_wda, + + "!

App Id

+ "! App id + "! $required + app_id TYPE c LENGTH 30, + + "!

Config Id

+ "! Config id + config_id TYPE c LENGTH 32, + + "!

Flavor Id

+ "! Flavor id + flavor_id TYPE c LENGTH 32, + + "!

Integration Mode

+ "! Integration mode + integration_mode TYPE ty_wda_integration_mode, + + "!

Compatibility Mode

+ "! Compatibility mode + compatibility_mode TYPE abap_bool, + + END OF ty_app_details_wda. + + TYPES: + "!

WCF App Details

+ "! Web Client specific app details + BEGIN OF ty_app_details_wcf, + + "!

Target Id

+ "! Target id + "! $required + target_id TYPE c LENGTH 10, + + END OF ty_app_details_wcf. + + TYPES: + "!

UrlTemplate Parameter

+ "! UrlTemplate parameter + BEGIN OF ty_url_template_parameter, + + "!

Name

+ "! Parameter name + name TYPE string, + + "!

Value

+ "! Parameter value + value TYPE string, + + END OF ty_url_template_parameter, + + ty_url_template_parameters TYPE STANDARD TABLE OF ty_url_template_parameter WITH DEFAULT KEY. + + TYPES: + "!

UrlTemplate App Details

+ "! UrlTemplate specific app details + BEGIN OF ty_app_details_url_template, + + "!

Template Id

+ "! UrlTemplate id + "! $required + template_id TYPE c LENGTH 32, + + "!

Parameters

+ "! UrlTemplate parameters + parameters TYPE ty_url_template_parameters, + + END OF ty_app_details_url_template. + + "!

App Type

+ "! LADI app type + "! $values {@link zif_aff_uiad_v1.data:co_app_type} + TYPES ty_app_type TYPE c LENGTH 1. + + CONSTANTS: + "!

App Type

+ "! LADI app type + BEGIN OF co_app_type, + + "!

Transaction

+ "! Transaction + transaction TYPE ty_app_type VALUE 'T', + + "!

Web Dynpro Application

+ "! Web Dynpro Application + wda TYPE ty_app_type VALUE 'W', + + "!

WebClient UI Application

+ "! WebClient UI Application + wcf TYPE ty_app_type VALUE 'C', + + "!

ui5

+ "! SAPUI5 Fiori App + ui5 TYPE ty_app_type VALUE 'U', + + "!

SAPUI5 Fiori App on SAP BTP

+ "! SAPUI5 Fiori App on SAP BTP (Deprecated) + legacy_ui5 TYPE ty_app_type VALUE 'S', + + "!

URL App

+ "! URL App + url TYPE ty_app_type VALUE 'R', + + "!

Tile Only

+ "! Tile Only + tile TYPE ty_app_type VALUE 'O', + + "!

UrlTemplate

+ "! UrlTemplate + url_template TYPE ty_app_type VALUE 'G', + + END OF co_app_type. + + TYPES: + "!

App Details

+ "! Technology specific app details + BEGIN OF ty_app_details, + + "!

App Type

+ "! LADI app type + "! $required + app_type TYPE ty_app_type, + + "!

System Alias

+ "! System alias + system_alias TYPE c LENGTH 32, + + "!

UI5 App Details

+ "! UI5 specific app details + ui5 TYPE ty_app_details_ui5, + + "!

WDA App Details

+ "! Web Dynpro specific app details + wda TYPE ty_app_details_wda, + + "!

WCF App Details

+ "! Web Client specific app details + wcf TYPE ty_app_details_wcf, + + "!

UrlTemplate App Details

+ "! UrlTemplate specific app details + url_template TYPE ty_app_details_url_template, + + END OF ty_app_details. + + TYPES: + "!

Device Types

+ "! Device type support + BEGIN OF ty_device_types, + + "!

Desktop

+ "! Support for desktop + "! $required + desktop TYPE abap_bool, + + "!

Tablet

+ "! Support for tablet + "! $required + tablet TYPE abap_bool, + + "!

Phone

+ "! Support for phone + "! $required + phone TYPE abap_bool, + + END OF ty_device_types. + + "!

Filter Value Type

+ "! Type of the filter value + "! $values {@link zif_aff_uiad_v1.data:co_filter_value_type} + "! $default {@link zif_aff_uiad_v1.data:co_filter_value_type.plain} + TYPES ty_filter_value_type TYPE c LENGTH 1. + + CONSTANTS: + "!

Filter Value Type

+ "! Type of the filter value + BEGIN OF co_filter_value_type, + + "!

Plain

+ "! The filter value is used as is + plain TYPE ty_filter_value_type VALUE ' ', + + "!

Regex

+ "! The filter value is used as a regex + regex TYPE ty_filter_value_type VALUE 'R', + + END OF co_filter_value_type. + + TYPES: + "!

Signature Item

+ "! Signature item + BEGIN OF ty_signature_item, + + "!

Parameter Name

+ "! Parameter name + parameter_name TYPE string, + + "!

Rename Parameter To

+ "! Rename parameter to + rename_parameter_to TYPE string, + + "!

Default Value

+ "! Default value + default_value TYPE string, + + "!

Filter value

+ "! Filter value + filter_value TYPE string, + + "!

Filter value Type

+ "! Filter value type + filter_value_type TYPE ty_filter_value_type, + + "!

Required

+ "! Whether the parameter is required + required TYPE abap_bool, + + END OF ty_signature_item, + + ty_signature_items TYPE STANDARD TABLE OF ty_signature_item WITH DEFAULT KEY. + + "!

Additional Param Handling

+ "! How additional parameters are handled + "! $values {@link zif_aff_uiad_v1.data:co_additional_param_handling} + "! $default {@link zif_aff_uiad_v1.data:co_additional_param_handling.allowed} + TYPES ty_additional_param_handling TYPE c LENGTH 1. + + CONSTANTS: + "!

Additional Param Handling

+ "! How additional parameters are handled + BEGIN OF co_additional_param_handling, + + "!

Allowed

+ "! Additional parameters are allowed. + allowed TYPE ty_additional_param_handling VALUE 'A', + + "!

Ignored

+ "! Additional parameters are ignored. + ignored TYPE ty_additional_param_handling VALUE 'I', + + "!

Not Allowed

+ "! Additional parameters are not allowed. + not_allowed TYPE ty_additional_param_handling VALUE 'N', + + END OF co_additional_param_handling. + + TYPES: + "!

Navigation Details

+ "! Navigation details + BEGIN OF ty_navigation, + + "!

Id

+ "! TargetMapping id + id TYPE c LENGTH 50, + + "!

Target Url

+ "! Target url used for 'Tile Only' and 'Url App' apps + target_url TYPE string, + + "!

Supported Device Types

+ "! Supported device types + "! $required + supported_device_types TYPE ty_device_types, + + "!

Semantic Object

+ "! Semantic object of the targetMapping + semantic_object TYPE c LENGTH 30, + + "!

Action

+ "! Action of the targetMapping + action TYPE c LENGTH 60, + + "!

Signature Items

+ "! Signature describing the parameters of the targetMapping + signature TYPE ty_signature_items, + + "!

Additional Parameters Allowed

+ "! How additional parameters are handled + additional_parameter_handling TYPE ty_additional_param_handling, + + END OF ty_navigation. + + "!

Tile Type

+ "! Tile type + "! $values {@link zif_aff_uiad_v1.data:co_tile_type} + "! $default {@link zif_aff_uiad_v1.data:co_tile_type.static} + TYPES ty_tile_type TYPE c LENGTH 1. + + CONSTANTS: + "!

Tile Type

+ "! Tile type + BEGIN OF co_tile_type, + + "!

Static

+ "! Static Tile + static TYPE ty_tile_type VALUE 'S', + + "!

Dynamic

+ "! Dynamic Tile + dynamic TYPE ty_tile_type VALUE 'D', + + "!

Custom

+ "! Custom Tile + custom TYPE ty_tile_type VALUE 'C', + + END OF co_tile_type. + + TYPES: + "!

Dynamic Tile Details

+ "! Dynamic tile specific details + BEGIN OF ty_dynamic_tile_details, + + "!

Service Base Url

+ "! Service base url + service_base_url TYPE string, + + "!

Service Path

+ "! Service path + service_path TYPE string, + + "!

Refresh Interval

+ "! Timeout until the tile is refreshed + refresh_interval TYPE i, + + "!

Number Unit

+ "! Number unit + number_unit TYPE string, + + END OF ty_dynamic_tile_details. + + TYPES: + "!

Tile Parameter

+ "! Tile parameter + BEGIN OF ty_tile_parameter, + + "!

Name

+ "! Parameter name + name TYPE string, + + "!

Value

+ "! Parameter value + value TYPE string, + + END OF ty_tile_parameter, + + ty_tile_parameters TYPE STANDARD TABLE OF ty_tile_parameter WITH DEFAULT KEY. + + TYPES: + "!

Tile Navigation

+ "! Navigation details of the tile + BEGIN OF ty_tile_navigation, + + "!

parameters

+ "! Parameters of the tile intent + parameters TYPE ty_tile_parameters, + + END OF ty_tile_navigation. + + TYPES: + "!

Standard Tile Details

+ "! Standard tile specific details + BEGIN OF ty_standard_tile_details, + + "!

Reuse Text From App

+ "! Reuse text defined as part of the app + reuse_text_from_app TYPE abap_bool, + + "!

Title

+ "! Tile title + title TYPE c LENGTH 255, + + "!

Subtitle

+ "! Tile subtitle + subtitle TYPE c LENGTH 255, + + "!

Information

+ "! Tile information + information TYPE c LENGTH 255, + + "!

Keywords

+ "! Tile keywords + keywords TYPE c LENGTH 255, + + "!

Icon

+ "! Tile icon + icon TYPE string, + + "!

Dynamic Tile Details

+ "! Dynamic tile specific details + dynamic TYPE ty_dynamic_tile_details, + + "!

Tile Navigation

+ "! Navigation details of the tile + navigation TYPE ty_tile_navigation, + + END OF ty_standard_tile_details. + + TYPES: + "!

CHIP Bag Property

+ "! Property of a CHIP bag + BEGIN OF ty_chip_bag_property, + + "!

Name

+ "! Property name + name TYPE c LENGTH 100, + + "!

Value

+ "! Property value + value TYPE string, + + "!

Translatable

+ "! Whether the property is translatable + translatable TYPE abap_bool, + + END OF ty_chip_bag_property, + + ty_chip_bag_properties TYPE STANDARD TABLE OF ty_chip_bag_property WITH DEFAULT KEY. + + TYPES: + "!

Bag

+ "! CHIP bag + BEGIN OF ty_chip_bag, + + "!

Id

+ "! Bag id + id TYPE c LENGTH 100, + + "!

Properties

+ "! CHIP bag properties + properties TYPE ty_chip_bag_properties, + + END OF ty_chip_bag, + + ty_chip_bags TYPE STANDARD TABLE OF ty_chip_bag WITH DEFAULT KEY. + + TYPES: + "!

Custom Tile Details

+ "! Custom tile specific details + BEGIN OF ty_custom_tile_details, + + "!

Base CHIP Id

+ "! Base CHIP id + base_chip_id TYPE c LENGTH 255, + + "!

Configuration

+ "! Configuration string of the CHIP + configuration TYPE string, + + "!

Bags

+ "! CHIP bags + bags TYPE ty_chip_bags, + + END OF ty_custom_tile_details. + + TYPES: + "!

Tile

+ "! Details of a tile + BEGIN OF ty_tile, + + "!

Id

+ "! Tile id + "! $required + id TYPE c LENGTH 50, + + "!

Tile Type

+ "! Tile type + "! $required + tile_type TYPE ty_tile_type, + + "!

Standard Tile Details

+ "! Standard tile specific details + standard TYPE ty_standard_tile_details, + + "!

Custom Tile Details

+ "! Custom tile specific details + custom TYPE ty_custom_tile_details, + + END OF ty_tile, + + ty_tiles TYPE STANDARD TABLE OF ty_tile WITH DEFAULT KEY. + + TYPES: + "!

LADI

+ "! Launchpad app descriptor item + BEGIN OF ty_main, + + "!

Format Version

+ "! Format version + "! $required + format_version TYPE zif_aff_types_v1=>ty_format_version, + + "!

Header

+ "! Header + "! $required + header TYPE zif_aff_types_v1=>ty_header_100_cloud, + + "!

General Information

+ "! General information + "! $required + general_information TYPE ty_general_information, + + "!

Lifecycle

+ "! Lifecycle state of the app + lifecycle TYPE ty_lifecycle, + + "!

App Details

+ "! Details about the technology of the app + "! $required + app_details TYPE ty_app_details, + + "!

Navigation Details

+ "! Navigation details + "! $required + navigation TYPE ty_navigation, + + "!

Tiles

+ "! Tiles related to the LADI + "! $required + tiles TYPE ty_tiles, + + END OF ty_main. + +ENDINTERFACE. diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.json b/file-formats/uiad/type/zif_aff_uiad_v1.intf.json new file mode 100644 index 000000000..f7e319520 --- /dev/null +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "UIAD: AFF Type v.1", + "originalLanguage": "en" + } +} diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json new file mode 100644 index 000000000..d926d0d8e --- /dev/null +++ b/file-formats/uiad/uiad-v1.json @@ -0,0 +1,671 @@ +{ + "$comment": "This file is autogenerated, do not edit manually, see https://github.com/SAP/abap-file-formats for more information.", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/uiad/uiad-v1.json", + "title": "LADI", + "description": "Launchpad app descriptor item", + "type": "object", + "properties": { + "formatVersion": { + "title": "Format Version", + "description": "Format version", + "type": "string", + "const": "1" + }, + "header": { + "title": "Header", + "description": "Header", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "Description of the ABAP object", + "type": "string", + "maxLength": 100 + }, + "originalLanguage": { + "title": "Original Language", + "description": "Original language of the ABAP object", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-z]+$" + }, + "abapLanguageVersion": { + "title": "ABAP Language Version", + "description": "ABAP language version", + "type": "string", + "enum": [ + "standard", + "cloudDevelopment" + ], + "enumTitles": [ + "Standard", + "ABAP Cloud Development" + ], + "enumDescriptions": [ + "Standard", + "ABAP cloud development" + ], + "default": "standard" + } + }, + "additionalProperties": false, + "required": [ + "description", + "originalLanguage" + ] + }, + "generalInformation": { + "title": "General Information", + "description": "General information", + "type": "object", + "properties": { + "information": { + "title": "Information", + "description": "LADI information text", + "type": "string", + "maxLength": 255 + }, + "catalogId": { + "title": "Catalog Id", + "description": "Catalog id", + "type": "string", + "maxLength": 40 + }, + "tcode": { + "title": "Tcode", + "description": "Tcode", + "type": "string", + "maxLength": 20 + }, + "fioriId": { + "title": "Fiori Id", + "description": "Fiori id", + "type": "string", + "maxLength": 20 + }, + "achComponent": { + "title": "ACH Component", + "description": "ACH component", + "type": "string", + "maxLength": 24 + }, + "defaultTile": { + "title": "Default Tile", + "description": "Default tile", + "type": "string", + "maxLength": 30 + } + }, + "additionalProperties": false + }, + "lifecycle": { + "title": "Lifecycle", + "description": "Lifecycle state of the app", + "type": "object", + "properties": { + "deprecated": { + "title": "Deprecated", + "description": "Whether the app is deprecated", + "type": "boolean" + }, + "successor": { + "title": "Successor", + "description": "LADI id of the successor app", + "type": "string", + "maxLength": 32 + } + }, + "additionalProperties": false + }, + "appDetails": { + "title": "App Details", + "description": "Details about the technology of the app", + "type": "object", + "properties": { + "appType": { + "title": "App Type", + "description": "LADI app type", + "type": "string", + "enum": [ + "transaction", + "wda", + "wcf", + "ui5", + "legacyUi5", + "url", + "tile", + "urlTemplate" + ], + "enumTitles": [ + "Transaction", + "Web Dynpro Application", + "WebClient UI Application", + "ui5", + "SAPUI5 Fiori App on SAP BTP", + "URL App", + "Tile Only", + "UrlTemplate" + ], + "enumDescriptions": [ + "Transaction", + "Web Dynpro Application", + "WebClient UI Application", + "SAPUI5 Fiori App", + "SAPUI5 Fiori App on SAP BTP (Deprecated)", + "URL App", + "Tile Only", + "UrlTemplate" + ] + }, + "systemAlias": { + "title": "System Alias", + "description": "System alias", + "type": "string", + "maxLength": 32 + }, + "ui5": { + "title": "UI5 App Details", + "description": "UI5 specific app details", + "type": "object", + "properties": { + "appId": { + "title": "App Id", + "description": "SAP UI5 component id", + "type": "string", + "maxLength": 70 + }, + "icfPath": { + "title": "ICF Path", + "description": "ICF path", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "appId" + ] + }, + "wda": { + "title": "WDA App Details", + "description": "Web Dynpro specific app details", + "type": "object", + "properties": { + "appId": { + "title": "App Id", + "description": "App id", + "type": "string", + "maxLength": 30 + }, + "configId": { + "title": "Config Id", + "description": "Config id", + "type": "string", + "maxLength": 32 + }, + "flavorId": { + "title": "Flavor Id", + "description": "Flavor id", + "type": "string", + "maxLength": 32 + }, + "integrationMode": { + "title": "Integration Mode", + "description": "Integration mode", + "type": "string", + "enum": [ + "systemDefault", + "direct", + "compatible" + ], + "enumTitles": [ + "System Default", + "Direct", + "Compatible" + ], + "enumDescriptions": [ + "System Default", + "Direct", + "Compatible" + ], + "default": "systemDefault" + }, + "compatibilityMode": { + "title": "Compatibility Mode", + "description": "Compatibility mode", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "appId" + ] + }, + "wcf": { + "title": "WCF App Details", + "description": "Web Client specific app details", + "type": "object", + "properties": { + "targetId": { + "title": "Target Id", + "description": "Target id", + "type": "string", + "maxLength": 10 + } + }, + "additionalProperties": false, + "required": [ + "targetId" + ] + }, + "urlTemplate": { + "title": "UrlTemplate App Details", + "description": "UrlTemplate specific app details", + "type": "object", + "properties": { + "templateId": { + "title": "Template Id", + "description": "UrlTemplate id", + "type": "string", + "maxLength": 32 + }, + "parameters": { + "title": "Parameters", + "description": "UrlTemplate parameters", + "type": "array", + "items": { + "title": "UrlTemplate Parameter", + "description": "UrlTemplate parameter", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Parameter name", + "type": "string" + }, + "value": { + "title": "Value", + "description": "Parameter value", + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "required": [ + "templateId" + ] + } + }, + "additionalProperties": false, + "required": [ + "appType" + ] + }, + "navigation": { + "title": "Navigation Details", + "description": "Navigation details", + "type": "object", + "properties": { + "id": { + "title": "Id", + "description": "TargetMapping id", + "type": "string", + "maxLength": 50 + }, + "targetUrl": { + "title": "Target Url", + "description": "Target url used for 'Tile Only' and 'Url App' apps", + "type": "string" + }, + "supportedDeviceTypes": { + "title": "Supported Device Types", + "description": "Supported device types", + "type": "object", + "properties": { + "desktop": { + "title": "Desktop", + "description": "Support for desktop", + "type": "boolean" + }, + "tablet": { + "title": "Tablet", + "description": "Support for tablet", + "type": "boolean" + }, + "phone": { + "title": "Phone", + "description": "Support for phone", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "desktop", + "tablet", + "phone" + ] + }, + "semanticObject": { + "title": "Semantic Object", + "description": "Semantic object of the targetMapping", + "type": "string", + "maxLength": 30 + }, + "action": { + "title": "Action", + "description": "Action of the targetMapping", + "type": "string", + "maxLength": 60 + }, + "signature": { + "title": "Signature Items", + "description": "Signature describing the parameters of the targetMapping", + "type": "array", + "items": { + "title": "Signature Item", + "description": "Signature item", + "type": "object", + "properties": { + "parameterName": { + "title": "Parameter Name", + "description": "Parameter name", + "type": "string" + }, + "renameParameterTo": { + "title": "Rename Parameter To", + "description": "Rename parameter to", + "type": "string" + }, + "defaultValue": { + "title": "Default Value", + "description": "Default value", + "type": "string" + }, + "filterValue": { + "title": "Filter value", + "description": "Filter value", + "type": "string" + }, + "filterValueType": { + "title": "Filter value Type", + "description": "Filter value type", + "type": "string", + "enum": [ + "plain", + "regex" + ], + "enumTitles": [ + "Plain", + "Regex" + ], + "enumDescriptions": [ + "The filter value is used as is", + "The filter value is used as a regex" + ], + "default": "plain" + }, + "required": { + "title": "Required", + "description": "Whether the parameter is required", + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "additionalParameterHandling": { + "title": "Additional Parameters Allowed", + "description": "How additional parameters are handled", + "type": "string", + "enum": [ + "allowed", + "ignored", + "notAllowed" + ], + "enumTitles": [ + "Allowed", + "Ignored", + "Not Allowed" + ], + "enumDescriptions": [ + "Additional parameters are allowed.", + "Additional parameters are ignored.", + "Additional parameters are not allowed." + ], + "default": "allowed" + } + }, + "additionalProperties": false, + "required": [ + "supportedDeviceTypes" + ] + }, + "tiles": { + "title": "Tiles", + "description": "Tiles related to the LADI", + "type": "array", + "items": { + "title": "Tile", + "description": "Details of a tile", + "type": "object", + "properties": { + "id": { + "title": "Id", + "description": "Tile id", + "type": "string", + "maxLength": 50 + }, + "tileType": { + "title": "Tile Type", + "description": "Tile type", + "type": "string", + "enum": [ + "static", + "dynamic", + "custom" + ], + "enumTitles": [ + "Static", + "Dynamic", + "Custom" + ], + "enumDescriptions": [ + "Static Tile", + "Dynamic Tile", + "Custom Tile" + ], + "default": "static" + }, + "standard": { + "title": "Standard Tile Details", + "description": "Standard tile specific details", + "type": "object", + "properties": { + "reuseTextFromApp": { + "title": "Reuse Text From App", + "description": "Reuse text defined as part of the app", + "type": "boolean" + }, + "title": { + "title": "Title", + "description": "Tile title", + "type": "string", + "maxLength": 255 + }, + "subtitle": { + "title": "Subtitle", + "description": "Tile subtitle", + "type": "string", + "maxLength": 255 + }, + "information": { + "title": "Information", + "description": "Tile information", + "type": "string", + "maxLength": 255 + }, + "keywords": { + "title": "Keywords", + "description": "Tile keywords", + "type": "string", + "maxLength": 255 + }, + "icon": { + "title": "Icon", + "description": "Tile icon", + "type": "string" + }, + "dynamic": { + "title": "Dynamic Tile Details", + "description": "Dynamic tile specific details", + "type": "object", + "properties": { + "serviceBaseUrl": { + "title": "Service Base Url", + "description": "Service base url", + "type": "string" + }, + "servicePath": { + "title": "Service Path", + "description": "Service path", + "type": "string" + }, + "refreshInterval": { + "title": "Refresh Interval", + "description": "Timeout until the tile is refreshed", + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "numberUnit": { + "title": "Number Unit", + "description": "Number unit", + "type": "string" + } + }, + "additionalProperties": false + }, + "navigation": { + "title": "Tile Navigation", + "description": "Navigation details of the tile", + "type": "object", + "properties": { + "parameters": { + "title": "parameters", + "description": "Parameters of the tile intent", + "type": "array", + "items": { + "title": "Tile Parameter", + "description": "Tile parameter", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Parameter name", + "type": "string" + }, + "value": { + "title": "Value", + "description": "Parameter value", + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "custom": { + "title": "Custom Tile Details", + "description": "Custom tile specific details", + "type": "object", + "properties": { + "baseChipId": { + "title": "Base CHIP Id", + "description": "Base CHIP id", + "type": "string", + "maxLength": 255 + }, + "configuration": { + "title": "Configuration", + "description": "Configuration string of the CHIP", + "type": "string" + }, + "bags": { + "title": "Bags", + "description": "CHIP bags", + "type": "array", + "items": { + "title": "Bag", + "description": "CHIP bag", + "type": "object", + "properties": { + "id": { + "title": "Id", + "description": "Bag id", + "type": "string", + "maxLength": 100 + }, + "properties": { + "title": "Properties", + "description": "CHIP bag properties", + "type": "array", + "items": { + "title": "CHIP Bag Property", + "description": "Property of a CHIP bag", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Property name", + "type": "string", + "maxLength": 100 + }, + "value": { + "title": "Value", + "description": "Property value", + "type": "string" + }, + "translatable": { + "title": "Translatable", + "description": "Whether the property is translatable", + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": [ + "id", + "tileType" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "generalInformation", + "appDetails", + "navigation", + "tiles" + ] +} From a9b7f45a8a0cacea073aa51d0d86be9318f66684 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 12 Feb 2024 17:46:04 +0100 Subject: [PATCH 02/27] Adding example file --- file-formats/uiad/README.md | 2 +- .../uiad/examples/z_ui5_sample_app.uiad.json | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 file-formats/uiad/examples/z_ui5_sample_app.uiad.json diff --git a/file-formats/uiad/README.md b/file-formats/uiad/README.md index eee224f62..824199399 100644 --- a/file-formats/uiad/README.md +++ b/file-formats/uiad/README.md @@ -2,4 +2,4 @@ File | Cardinality | Definition | Schema | Example :--- | :--- | :--- | :--- | :--- -`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) +`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) | [z_ui5_sample_app.uiad.json](./examples/z_ui5_sample_app.uiad.json) diff --git a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json new file mode 100644 index 000000000..56ecd1bfb --- /dev/null +++ b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json @@ -0,0 +1,45 @@ +{ + "formatVersion": "1", + "header": { + "description": "UIAD Title", + "originalLanguage": "en" + }, + "generalInformation": { + "information": "UIAD Information", + "catalogId": "/UI2/FLP_DEMO_BC1_TEST", + "tcode": "F1234", + "fioriId": "F1234", + "achComponent": "CA-FLP-FE-UI", + "defaultTile": "3WO90XZ1DX19DA1UD5RDXQXWK" + }, + "appDetails": { + "appType": "ui5", + "ui5": { + "appId": "sap.ushell.demo.NavigationSample", + "icfPath": "/sap/bc/ui5_ui5/ui2/navigationsample" + } + }, + "navigation": { + "id": "3WO90XZ1DX1AO4ON8E556YJ10", + "supportedDeviceTypes": { + "desktop": true, + "tablet": true, + "phone": true + }, + "semanticObject": "BusinessPartner", + "action": "manage" + }, + "tiles": [ + { + "id": "3WO90XZ1DX19DA1UD5RDXQXWK", + "tileType": "static", + "standard": { + "title": "Tile Title", + "subtitle": "Tile Subtitle", + "information": "Tile Information", + "keywords": "Tile Keywords", + "icon": "sap-icon://ai" + } + } + ] + } \ No newline at end of file From 3be5888b0f276d3d62163a827564a0069cb06980 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 12 Feb 2024 18:17:27 +0100 Subject: [PATCH 03/27] Missing new line --- file-formats/uiad/examples/z_ui5_sample_app.uiad.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json index 56ecd1bfb..af908a311 100644 --- a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json +++ b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json @@ -42,4 +42,4 @@ } } ] - } \ No newline at end of file + } From 4af2a66b7ac06357b0b91cb01beaf317a0c929cb Mon Sep 17 00:00:00 2001 From: Aaron Date: Thu, 15 Feb 2024 15:54:13 +0100 Subject: [PATCH 04/27] Incorporated feedback from review --- .../uiad/examples/z_ui5_sample_app.uiad.json | 6 +- .../uiad/type/zif_aff_uiad_v1.intf.abap | 166 +++++++++--------- file-formats/uiad/uiad-v1.json | 122 ++++++------- 3 files changed, 147 insertions(+), 147 deletions(-) diff --git a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json index af908a311..16f00526b 100644 --- a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json +++ b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json @@ -7,9 +7,9 @@ "generalInformation": { "information": "UIAD Information", "catalogId": "/UI2/FLP_DEMO_BC1_TEST", - "tcode": "F1234", + "transaction": "F1234", "fioriId": "F1234", - "achComponent": "CA-FLP-FE-UI", + "supportComponent": "CA-FLP-FE-UI", "defaultTile": "3WO90XZ1DX19DA1UD5RDXQXWK" }, "appDetails": { @@ -20,7 +20,7 @@ } }, "navigation": { - "id": "3WO90XZ1DX1AO4ON8E556YJ10", + "targetMappingId": "3WO90XZ1DX1AO4ON8E556YJ10", "supportedDeviceTypes": { "desktop": true, "tablet": true, diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index c2f2ed01e..174564d67 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -8,27 +8,27 @@ INTERFACE zif_aff_uiad_v1 "!

Information

"! LADI information text - information TYPE c LENGTH 255, + information TYPE c LENGTH 255, - "!

Catalog Id

- "! Catalog id - catalog_id TYPE c LENGTH 40, + "!

Catalog ID

+ "! Catalog ID + catalog_id TYPE c LENGTH 40, - "!

Tcode

- "! Tcode - tcode TYPE c LENGTH 20, + "!

Transaction

+ "! Transaction + transaction TYPE c LENGTH 20, - "!

Fiori Id

- "! Fiori id - fiori_id TYPE c LENGTH 20, + "!

Fiori ID

+ "! Fiori ID + fiori_id TYPE c LENGTH 20, - "!

ACH Component

- "! ACH component - ach_component TYPE c LENGTH 24, + "!

Support Component

+ "! Support component + support_component TYPE c LENGTH 24, "!

Default Tile

"! Default tile - default_tile TYPE c LENGTH 30, + default_tile TYPE c LENGTH 30, END OF ty_general_information. @@ -42,7 +42,7 @@ INTERFACE zif_aff_uiad_v1 deprecated TYPE abap_bool, "!

Successor

- "! LADI id of the successor app + "! LADI ID of the successor app successor TYPE c LENGTH 32, END OF ty_lifecycle. @@ -52,8 +52,8 @@ INTERFACE zif_aff_uiad_v1 "! UI5 specific app details BEGIN OF ty_app_details_ui5, - "!

App Id

- "! SAP UI5 component id + "!

App ID

+ "! SAP UI5 component ID "! $required app_id TYPE c LENGTH 70, @@ -63,73 +63,73 @@ INTERFACE zif_aff_uiad_v1 END OF ty_app_details_ui5. - "! WDA integration mode - "! $values {@link zif_aff_uiad_v1.data:co_wda_integration_mode} - "! $default {@link zif_aff_uiad_v1.data:co_wda_integration_mode.system_default} - TYPES ty_wda_integration_mode TYPE c LENGTH 1. + "! Web Dynpro integration mode + "! $values {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode} + "! $default {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode.system_default} + TYPES ty_web_dynpro_integration_mode TYPE c LENGTH 1. CONSTANTS: "!

Integration Mode

- "! WDA integration mode - BEGIN OF co_wda_integration_mode, + "! Web Dynpro integration mode + BEGIN OF co_web_dynpro_integration_mode, "!

System Default

- "! System Default - system_default TYPE ty_wda_integration_mode VALUE ' ', + "! System default + system_default TYPE ty_web_dynpro_integration_mode VALUE ' ', "!

Direct

"! Direct - direct TYPE ty_wda_integration_mode VALUE 'D', + direct TYPE ty_web_dynpro_integration_mode VALUE 'D', "!

Compatible

"! Compatible - compatible TYPE ty_wda_integration_mode VALUE 'C', + compatible TYPE ty_web_dynpro_integration_mode VALUE 'C', - END OF co_wda_integration_mode. + END OF co_web_dynpro_integration_mode. TYPES: - "!

WDA App Details

+ "!

Web Dynpro App Details

"! Web Dynpro specific app details - BEGIN OF ty_app_details_wda, + BEGIN OF ty_app_details_web_dynpro, - "!

App Id

- "! App id + "!

App ID

+ "! App ID "! $required app_id TYPE c LENGTH 30, - "!

Config Id

- "! Config id + "!

Config ID

+ "! Config ID config_id TYPE c LENGTH 32, - "!

Flavor Id

- "! Flavor id + "!

Flavor ID

+ "! Flavor ID flavor_id TYPE c LENGTH 32, "!

Integration Mode

"! Integration mode - integration_mode TYPE ty_wda_integration_mode, + integration_mode TYPE ty_web_dynpro_integration_mode, "!

Compatibility Mode

"! Compatibility mode compatibility_mode TYPE abap_bool, - END OF ty_app_details_wda. + END OF ty_app_details_web_dynpro. TYPES: "!

WCF App Details

"! Web Client specific app details - BEGIN OF ty_app_details_wcf, + BEGIN OF ty_app_details_web_client, - "!

Target Id

- "! Target id + "!

Target ID

+ "! Target ID "! $required target_id TYPE c LENGTH 10, - END OF ty_app_details_wcf. + END OF ty_app_details_web_client. TYPES: - "!

UrlTemplate Parameter

- "! UrlTemplate parameter + "!

Url Template Parameter

+ "! Url Template parameter BEGIN OF ty_url_template_parameter, "!

Name

@@ -145,17 +145,17 @@ INTERFACE zif_aff_uiad_v1 ty_url_template_parameters TYPE STANDARD TABLE OF ty_url_template_parameter WITH DEFAULT KEY. TYPES: - "!

UrlTemplate App Details

- "! UrlTemplate specific app details + "!

Url Template App Details

+ "! Url Template specific app details BEGIN OF ty_app_details_url_template, - "!

Template Id

- "! UrlTemplate id + "!

Template ID

+ "! Url Template ID "! $required template_id TYPE c LENGTH 32, "!

Parameters

- "! UrlTemplate parameters + "! Url Template parameters parameters TYPE ty_url_template_parameters, END OF ty_app_details_url_template. @@ -175,31 +175,31 @@ INTERFACE zif_aff_uiad_v1 transaction TYPE ty_app_type VALUE 'T', "!

Web Dynpro Application

- "! Web Dynpro Application - wda TYPE ty_app_type VALUE 'W', + "! Web Dynpro application + web_dynpro TYPE ty_app_type VALUE 'W', - "!

WebClient UI Application

- "! WebClient UI Application - wcf TYPE ty_app_type VALUE 'C', + "!

Web Client UI Application

+ "! Web Client UI application + web_client TYPE ty_app_type VALUE 'C', - "!

ui5

- "! SAPUI5 Fiori App + "!

UI5

+ "! SAPUI5 Fiori app ui5 TYPE ty_app_type VALUE 'U', "!

SAPUI5 Fiori App on SAP BTP

- "! SAPUI5 Fiori App on SAP BTP (Deprecated) + "! SAPUI5 Fiori app on SAP BTP (Deprecated) legacy_ui5 TYPE ty_app_type VALUE 'S', "!

URL App

- "! URL App + "! URL app url TYPE ty_app_type VALUE 'R', "!

Tile Only

- "! Tile Only + "! Tile only tile TYPE ty_app_type VALUE 'O', - "!

UrlTemplate

- "! UrlTemplate + "!

Url Template

+ "! Url Template url_template TYPE ty_app_type VALUE 'G', END OF co_app_type. @@ -224,14 +224,14 @@ INTERFACE zif_aff_uiad_v1 "!

WDA App Details

"! Web Dynpro specific app details - wda TYPE ty_app_details_wda, + web_dynpro TYPE ty_app_details_web_dynpro, - "!

WCF App Details

+ "!

Web Client App Details

"! Web Client specific app details - wcf TYPE ty_app_details_wcf, + web_client TYPE ty_app_details_web_client, - "!

UrlTemplate App Details

- "! UrlTemplate specific app details + "!

Url Template App Details

+ "! Url Template specific app details url_template TYPE ty_app_details_url_template, END OF ty_app_details. @@ -296,11 +296,11 @@ INTERFACE zif_aff_uiad_v1 "! Default value default_value TYPE string, - "!

Filter value

+ "!

Filter Value

"! Filter value filter_value TYPE string, - "!

Filter value Type

+ "!

Filter Value Type

"! Filter value type filter_value_type TYPE ty_filter_value_type, @@ -342,12 +342,12 @@ INTERFACE zif_aff_uiad_v1 "! Navigation details BEGIN OF ty_navigation, - "!

Id

- "! TargetMapping id - id TYPE c LENGTH 50, + "!

Target Mapping ID

+ "! Target mapping ID + target_mapping_id TYPE c LENGTH 50, "!

Target Url

- "! Target url used for 'Tile Only' and 'Url App' apps + "! Target url used for 'Tile only' and 'Url app' apps target_url TYPE string, "!

Supported Device Types

@@ -356,18 +356,18 @@ INTERFACE zif_aff_uiad_v1 supported_device_types TYPE ty_device_types, "!

Semantic Object

- "! Semantic object of the targetMapping + "! Semantic object of the target mapping semantic_object TYPE c LENGTH 30, "!

Action

- "! Action of the targetMapping + "! Action of the target mapping action TYPE c LENGTH 60, "!

Signature Items

- "! Signature describing the parameters of the targetMapping + "! Signature describing the parameters of the target mapping signature TYPE ty_signature_items, - "!

Additional Parameters Allowed

+ "!

Additional Param Handling

"! How additional parameters are handled additional_parameter_handling TYPE ty_additional_param_handling, @@ -443,7 +443,7 @@ INTERFACE zif_aff_uiad_v1 "! Navigation details of the tile BEGIN OF ty_tile_navigation, - "!

parameters

+ "!

Parameters

"! Parameters of the tile intent parameters TYPE ty_tile_parameters, @@ -514,8 +514,8 @@ INTERFACE zif_aff_uiad_v1 "! CHIP bag BEGIN OF ty_chip_bag, - "!

Id

- "! Bag id + "!

ID

+ "! Bag ID id TYPE c LENGTH 100, "!

Properties

@@ -531,8 +531,8 @@ INTERFACE zif_aff_uiad_v1 "! Custom tile specific details BEGIN OF ty_custom_tile_details, - "!

Base CHIP Id

- "! Base CHIP id + "!

Base CHIP ID

+ "! Base CHIP ID base_chip_id TYPE c LENGTH 255, "!

Configuration

@@ -550,8 +550,8 @@ INTERFACE zif_aff_uiad_v1 "! Details of a tile BEGIN OF ty_tile, - "!

Id

- "! Tile id + "!

ID

+ "! Tile ID "! $required id TYPE c LENGTH 50, diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index d926d0d8e..03be87e80 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -68,26 +68,26 @@ "maxLength": 255 }, "catalogId": { - "title": "Catalog Id", - "description": "Catalog id", + "title": "Catalog ID", + "description": "Catalog ID", "type": "string", "maxLength": 40 }, - "tcode": { - "title": "Tcode", - "description": "Tcode", + "transaction": { + "title": "Transaction", + "description": "Transaction", "type": "string", "maxLength": 20 }, "fioriId": { - "title": "Fiori Id", - "description": "Fiori id", + "title": "Fiori ID", + "description": "Fiori ID", "type": "string", "maxLength": 20 }, - "achComponent": { - "title": "ACH Component", - "description": "ACH component", + "supportComponent": { + "title": "Support Component", + "description": "Support component", "type": "string", "maxLength": 24 }, @@ -112,7 +112,7 @@ }, "successor": { "title": "Successor", - "description": "LADI id of the successor app", + "description": "LADI ID of the successor app", "type": "string", "maxLength": 32 } @@ -130,8 +130,8 @@ "type": "string", "enum": [ "transaction", - "wda", - "wcf", + "webDynpro", + "webClient", "ui5", "legacyUi5", "url", @@ -141,22 +141,22 @@ "enumTitles": [ "Transaction", "Web Dynpro Application", - "WebClient UI Application", - "ui5", + "Web Client UI Application", + "UI5", "SAPUI5 Fiori App on SAP BTP", "URL App", "Tile Only", - "UrlTemplate" + "Url Template" ], "enumDescriptions": [ "Transaction", - "Web Dynpro Application", - "WebClient UI Application", - "SAPUI5 Fiori App", - "SAPUI5 Fiori App on SAP BTP (Deprecated)", - "URL App", - "Tile Only", - "UrlTemplate" + "Web Dynpro application", + "Web Client UI application", + "SAPUI5 Fiori app", + "SAPUI5 Fiori app on SAP BTP (Deprecated)", + "URL app", + "Tile only", + "Url Template" ] }, "systemAlias": { @@ -171,8 +171,8 @@ "type": "object", "properties": { "appId": { - "title": "App Id", - "description": "SAP UI5 component id", + "title": "App ID", + "description": "SAP UI5 component ID", "type": "string", "maxLength": 70 }, @@ -187,26 +187,26 @@ "appId" ] }, - "wda": { + "webDynpro": { "title": "WDA App Details", "description": "Web Dynpro specific app details", "type": "object", "properties": { "appId": { - "title": "App Id", - "description": "App id", + "title": "App ID", + "description": "App ID", "type": "string", "maxLength": 30 }, "configId": { - "title": "Config Id", - "description": "Config id", + "title": "Config ID", + "description": "Config ID", "type": "string", "maxLength": 32 }, "flavorId": { - "title": "Flavor Id", - "description": "Flavor id", + "title": "Flavor ID", + "description": "Flavor ID", "type": "string", "maxLength": 32 }, @@ -225,7 +225,7 @@ "Compatible" ], "enumDescriptions": [ - "System Default", + "System default", "Direct", "Compatible" ], @@ -242,14 +242,14 @@ "appId" ] }, - "wcf": { - "title": "WCF App Details", + "webClient": { + "title": "Web Client App Details", "description": "Web Client specific app details", "type": "object", "properties": { "targetId": { - "title": "Target Id", - "description": "Target id", + "title": "Target ID", + "description": "Target ID", "type": "string", "maxLength": 10 } @@ -260,23 +260,23 @@ ] }, "urlTemplate": { - "title": "UrlTemplate App Details", - "description": "UrlTemplate specific app details", + "title": "Url Template App Details", + "description": "Url Template specific app details", "type": "object", "properties": { "templateId": { - "title": "Template Id", - "description": "UrlTemplate id", + "title": "Template ID", + "description": "Url Template ID", "type": "string", "maxLength": 32 }, "parameters": { "title": "Parameters", - "description": "UrlTemplate parameters", + "description": "Url Template parameters", "type": "array", "items": { - "title": "UrlTemplate Parameter", - "description": "UrlTemplate parameter", + "title": "Url Template Parameter", + "description": "Url Template parameter", "type": "object", "properties": { "name": { @@ -310,15 +310,15 @@ "description": "Navigation details", "type": "object", "properties": { - "id": { - "title": "Id", - "description": "TargetMapping id", + "targetMappingId": { + "title": "Target Mapping ID", + "description": "Target mapping ID", "type": "string", "maxLength": 50 }, "targetUrl": { "title": "Target Url", - "description": "Target url used for 'Tile Only' and 'Url App' apps", + "description": "Target url used for 'Tile only' and 'Url app' apps", "type": "string" }, "supportedDeviceTypes": { @@ -351,19 +351,19 @@ }, "semanticObject": { "title": "Semantic Object", - "description": "Semantic object of the targetMapping", + "description": "Semantic object of the target mapping", "type": "string", "maxLength": 30 }, "action": { "title": "Action", - "description": "Action of the targetMapping", + "description": "Action of the target mapping", "type": "string", "maxLength": 60 }, "signature": { "title": "Signature Items", - "description": "Signature describing the parameters of the targetMapping", + "description": "Signature describing the parameters of the target mapping", "type": "array", "items": { "title": "Signature Item", @@ -386,12 +386,12 @@ "type": "string" }, "filterValue": { - "title": "Filter value", + "title": "Filter Value", "description": "Filter value", "type": "string" }, "filterValueType": { - "title": "Filter value Type", + "title": "Filter Value Type", "description": "Filter value type", "type": "string", "enum": [ @@ -418,7 +418,7 @@ } }, "additionalParameterHandling": { - "title": "Additional Parameters Allowed", + "title": "Additional Param Handling", "description": "How additional parameters are handled", "type": "string", "enum": [ @@ -454,8 +454,8 @@ "type": "object", "properties": { "id": { - "title": "Id", - "description": "Tile id", + "title": "ID", + "description": "Tile ID", "type": "string", "maxLength": 50 }, @@ -555,7 +555,7 @@ "type": "object", "properties": { "parameters": { - "title": "parameters", + "title": "Parameters", "description": "Parameters of the tile intent", "type": "array", "items": { @@ -589,8 +589,8 @@ "type": "object", "properties": { "baseChipId": { - "title": "Base CHIP Id", - "description": "Base CHIP id", + "title": "Base CHIP ID", + "description": "Base CHIP ID", "type": "string", "maxLength": 255 }, @@ -609,8 +609,8 @@ "type": "object", "properties": { "id": { - "title": "Id", - "description": "Bag id", + "title": "ID", + "description": "Bag ID", "type": "string", "maxLength": 100 }, From 6b0c7881e1ccebd5b4e44c1fd81f7afcf642b28c Mon Sep 17 00:00:00 2001 From: Aaron Date: Thu, 15 Feb 2024 15:55:31 +0100 Subject: [PATCH 05/27] Fixed indentation of example --- .../uiad/examples/z_ui5_sample_app.uiad.json | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json index 16f00526b..2bc484412 100644 --- a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json +++ b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json @@ -1,45 +1,45 @@ { - "formatVersion": "1", - "header": { - "description": "UIAD Title", - "originalLanguage": "en" + "formatVersion": "1", + "header": { + "description": "UIAD Title", + "originalLanguage": "en" + }, + "generalInformation": { + "information": "UIAD Information", + "catalogId": "/UI2/FLP_DEMO_BC1_TEST", + "transaction": "F1234", + "fioriId": "F1234", + "supportComponent": "CA-FLP-FE-UI", + "defaultTile": "3WO90XZ1DX19DA1UD5RDXQXWK" + }, + "appDetails": { + "appType": "ui5", + "ui5": { + "appId": "sap.ushell.demo.NavigationSample", + "icfPath": "/sap/bc/ui5_ui5/ui2/navigationsample" + } + }, + "navigation": { + "targetMappingId": "3WO90XZ1DX1AO4ON8E556YJ10", + "supportedDeviceTypes": { + "desktop": true, + "tablet": true, + "phone": true }, - "generalInformation": { - "information": "UIAD Information", - "catalogId": "/UI2/FLP_DEMO_BC1_TEST", - "transaction": "F1234", - "fioriId": "F1234", - "supportComponent": "CA-FLP-FE-UI", - "defaultTile": "3WO90XZ1DX19DA1UD5RDXQXWK" - }, - "appDetails": { - "appType": "ui5", - "ui5": { - "appId": "sap.ushell.demo.NavigationSample", - "icfPath": "/sap/bc/ui5_ui5/ui2/navigationsample" - } - }, - "navigation": { - "targetMappingId": "3WO90XZ1DX1AO4ON8E556YJ10", - "supportedDeviceTypes": { - "desktop": true, - "tablet": true, - "phone": true - }, - "semanticObject": "BusinessPartner", - "action": "manage" - }, - "tiles": [ - { - "id": "3WO90XZ1DX19DA1UD5RDXQXWK", - "tileType": "static", - "standard": { - "title": "Tile Title", - "subtitle": "Tile Subtitle", - "information": "Tile Information", - "keywords": "Tile Keywords", - "icon": "sap-icon://ai" - } + "semanticObject": "BusinessPartner", + "action": "manage" + }, + "tiles": [ + { + "id": "3WO90XZ1DX19DA1UD5RDXQXWK", + "tileType": "static", + "standard": { + "title": "Tile Title", + "subtitle": "Tile Subtitle", + "information": "Tile Information", + "keywords": "Tile Keywords", + "icon": "sap-icon://ai" } - ] - } + } + ] +} From 9d661edd9fd2af8b46cc5a95be21b79c42c083d2 Mon Sep 17 00:00:00 2001 From: Aaron Date: Fri, 16 Feb 2024 11:24:27 +0100 Subject: [PATCH 06/27] Missed some abbreviations --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 4 ++-- file-formats/uiad/uiad-v1.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 174564d67..62ecb3520 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -116,7 +116,7 @@ INTERFACE zif_aff_uiad_v1 END OF ty_app_details_web_dynpro. TYPES: - "!

WCF App Details

+ "!

Web Client App Details

"! Web Client specific app details BEGIN OF ty_app_details_web_client, @@ -222,7 +222,7 @@ INTERFACE zif_aff_uiad_v1 "! UI5 specific app details ui5 TYPE ty_app_details_ui5, - "!

WDA App Details

+ "!

Web Dynpro App Details

"! Web Dynpro specific app details web_dynpro TYPE ty_app_details_web_dynpro, diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index 03be87e80..6445cf51c 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -188,7 +188,7 @@ ] }, "webDynpro": { - "title": "WDA App Details", + "title": "Web Dynpro App Details", "description": "Web Dynpro specific app details", "type": "object", "properties": { From 025b4e3720eb2e55061c086d3e66f7834f8d126b Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 19 Feb 2024 18:16:44 +0100 Subject: [PATCH 07/27] Added custom header description and additional properties --- .../uiad/type/zif_aff_uiad_v1.intf.abap | 27 +++++++++++++++++-- file-formats/uiad/uiad-v1.json | 17 ++++++++++-- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 62ecb3520..97358eafd 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -1,6 +1,21 @@ INTERFACE zif_aff_uiad_v1 PUBLIC. + TYPES: + "!

Header

+ "! The header for an ABAP main object (without source code) with a description of 255 characters + BEGIN OF ty_header, + "!

Description

+ "! Description of the ABAP object + "! $required + description TYPE c length 255, + + "! $required + original_language TYPE zif_aff_types_v1=>ty_original_language, + + abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version, + END OF ty_header. + TYPES: "!

General Information

"! General information @@ -28,7 +43,11 @@ INTERFACE zif_aff_uiad_v1 "!

Default Tile

"! Default tile - default_tile TYPE c LENGTH 30, + default_tile TYPE c LENGTH 50, + + "!

Suppress Tiles

+ "! Suppress tiles + suppress_tiles TYPE abap_bool, END OF ty_general_information. @@ -132,6 +151,10 @@ INTERFACE zif_aff_uiad_v1 "! Url Template parameter BEGIN OF ty_url_template_parameter, + "!

ID

+ "! ID + id TYPE string, + "!

Name

"! Parameter name name TYPE string, @@ -585,7 +608,7 @@ INTERFACE zif_aff_uiad_v1 "!

Header

"! Header "! $required - header TYPE zif_aff_types_v1=>ty_header_100_cloud, + header TYPE ty_header, "TYPE zif_aff_types_v1=>ty_header_100_cloud, "!

General Information

"! General information diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index 6445cf51c..cedeea184 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -21,7 +21,7 @@ "title": "Description", "description": "Description of the ABAP object", "type": "string", - "maxLength": 100 + "maxLength": 255 }, "originalLanguage": { "title": "Original Language", @@ -37,14 +37,17 @@ "type": "string", "enum": [ "standard", + "keyUser", "cloudDevelopment" ], "enumTitles": [ "Standard", + "ABAP for Key Users", "ABAP Cloud Development" ], "enumDescriptions": [ "Standard", + "ABAP for key user extensibility", "ABAP cloud development" ], "default": "standard" @@ -95,7 +98,12 @@ "title": "Default Tile", "description": "Default tile", "type": "string", - "maxLength": 30 + "maxLength": 50 + }, + "suppressTiles": { + "title": "Suppress Tiles", + "description": "Suppress tiles", + "type": "boolean" } }, "additionalProperties": false @@ -279,6 +287,11 @@ "description": "Url Template parameter", "type": "object", "properties": { + "id": { + "title": "ID", + "description": "ID", + "type": "string" + }, "name": { "title": "Name", "description": "Parameter name", From 3eebfd85522a3e77f20c0d91df9889dc6f6e10e7 Mon Sep 17 00:00:00 2001 From: Aaron <156784781+aaronbruchsap@users.noreply.github.com> Date: Mon, 19 Feb 2024 18:22:36 +0100 Subject: [PATCH 08/27] Update file-formats/uiad/type/zif_aff_uiad_v1.intf.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 97358eafd..c50eda51d 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -8,7 +8,7 @@ INTERFACE zif_aff_uiad_v1 "!

Description

"! Description of the ABAP object "! $required - description TYPE c length 255, + description TYPE c LENGTH 255, "! $required original_language TYPE zif_aff_types_v1=>ty_original_language, From 5277c7dc5cb6aa786a2ecdaf02559794a08687c3 Mon Sep 17 00:00:00 2001 From: Aaron Date: Tue, 20 Feb 2024 10:43:21 +0100 Subject: [PATCH 09/27] Fixed linting issues --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index c50eda51d..120116086 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -153,7 +153,7 @@ INTERFACE zif_aff_uiad_v1 "!

ID

"! ID - id TYPE string, + id TYPE string, "!

Name

"! Parameter name @@ -608,7 +608,7 @@ INTERFACE zif_aff_uiad_v1 "!

Header

"! Header "! $required - header TYPE ty_header, "TYPE zif_aff_types_v1=>ty_header_100_cloud, + header TYPE ty_header, "!

General Information

"! General information From 3a032cdd42317d7f9b845c66407d9cf8e7b3901e Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 4 Mar 2024 12:32:32 +0100 Subject: [PATCH 10/27] Remove ID and add defaultedTile --- .../uiad/type/zif_aff_uiad_v1.intf.abap | 9 +- file-formats/uiad/uiad-v1.json | 217 +++++++++++++++++- 2 files changed, 216 insertions(+), 10 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 120116086..86e41c926 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -151,10 +151,6 @@ INTERFACE zif_aff_uiad_v1 "! Url Template parameter BEGIN OF ty_url_template_parameter, - "!

ID

- "! ID - id TYPE string, - "!

Name

"! Parameter name name TYPE string, @@ -634,6 +630,11 @@ INTERFACE zif_aff_uiad_v1 "! $required tiles TYPE ty_tiles, + "!

Defaulted Tile

+ "! Defaulted (legacy) tile + "! $required + defaulted_tile TYPE ty_tile, + END OF ty_main. ENDINTERFACE. diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index cedeea184..5eeb8a5f8 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -287,11 +287,6 @@ "description": "Url Template parameter", "type": "object", "properties": { - "id": { - "title": "ID", - "description": "ID", - "type": "string" - }, "name": { "title": "Name", "description": "Parameter name", @@ -670,6 +665,215 @@ "tileType" ] } + }, + "defaultedTile": { + "title": "Defaulted Tile", + "description": "Defaulted (legacy) tile", + "type": "object", + "properties": { + "id": { + "title": "ID", + "description": "Tile ID", + "type": "string", + "maxLength": 50 + }, + "tileType": { + "title": "Tile Type", + "description": "Tile type", + "type": "string", + "enum": [ + "static", + "dynamic", + "custom" + ], + "enumTitles": [ + "Static", + "Dynamic", + "Custom" + ], + "enumDescriptions": [ + "Static Tile", + "Dynamic Tile", + "Custom Tile" + ], + "default": "static" + }, + "standard": { + "title": "Standard Tile Details", + "description": "Standard tile specific details", + "type": "object", + "properties": { + "reuseTextFromApp": { + "title": "Reuse Text From App", + "description": "Reuse text defined as part of the app", + "type": "boolean" + }, + "title": { + "title": "Title", + "description": "Tile title", + "type": "string", + "maxLength": 255 + }, + "subtitle": { + "title": "Subtitle", + "description": "Tile subtitle", + "type": "string", + "maxLength": 255 + }, + "information": { + "title": "Information", + "description": "Tile information", + "type": "string", + "maxLength": 255 + }, + "keywords": { + "title": "Keywords", + "description": "Tile keywords", + "type": "string", + "maxLength": 255 + }, + "icon": { + "title": "Icon", + "description": "Tile icon", + "type": "string" + }, + "dynamic": { + "title": "Dynamic Tile Details", + "description": "Dynamic tile specific details", + "type": "object", + "properties": { + "serviceBaseUrl": { + "title": "Service Base Url", + "description": "Service base url", + "type": "string" + }, + "servicePath": { + "title": "Service Path", + "description": "Service path", + "type": "string" + }, + "refreshInterval": { + "title": "Refresh Interval", + "description": "Timeout until the tile is refreshed", + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647 + }, + "numberUnit": { + "title": "Number Unit", + "description": "Number unit", + "type": "string" + } + }, + "additionalProperties": false + }, + "navigation": { + "title": "Tile Navigation", + "description": "Navigation details of the tile", + "type": "object", + "properties": { + "parameters": { + "title": "Parameters", + "description": "Parameters of the tile intent", + "type": "array", + "items": { + "title": "Tile Parameter", + "description": "Tile parameter", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Parameter name", + "type": "string" + }, + "value": { + "title": "Value", + "description": "Parameter value", + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "custom": { + "title": "Custom Tile Details", + "description": "Custom tile specific details", + "type": "object", + "properties": { + "baseChipId": { + "title": "Base CHIP ID", + "description": "Base CHIP ID", + "type": "string", + "maxLength": 255 + }, + "configuration": { + "title": "Configuration", + "description": "Configuration string of the CHIP", + "type": "string" + }, + "bags": { + "title": "Bags", + "description": "CHIP bags", + "type": "array", + "items": { + "title": "Bag", + "description": "CHIP bag", + "type": "object", + "properties": { + "id": { + "title": "ID", + "description": "Bag ID", + "type": "string", + "maxLength": 100 + }, + "properties": { + "title": "Properties", + "description": "CHIP bag properties", + "type": "array", + "items": { + "title": "CHIP Bag Property", + "description": "Property of a CHIP bag", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Property name", + "type": "string", + "maxLength": 100 + }, + "value": { + "title": "Value", + "description": "Property value", + "type": "string" + }, + "translatable": { + "title": "Translatable", + "description": "Whether the property is translatable", + "type": "boolean" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": [ + "id", + "tileType" + ] } }, "additionalProperties": false, @@ -679,6 +883,7 @@ "generalInformation", "appDetails", "navigation", - "tiles" + "tiles", + "defaultedTile" ] } From 7ddf29e1a2898222cd123b8bd4718fe8c14b4eba Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 4 Mar 2024 12:39:04 +0100 Subject: [PATCH 11/27] Fixed linting issues --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 1 - file-formats/uiad/uiad-v1.json | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 86e41c926..42efb5a82 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -632,7 +632,6 @@ INTERFACE zif_aff_uiad_v1 "!

Defaulted Tile

"! Defaulted (legacy) tile - "! $required defaulted_tile TYPE ty_tile, END OF ty_main. diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index 5eeb8a5f8..f6378ecef 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -883,7 +883,6 @@ "generalInformation", "appDetails", "navigation", - "tiles", - "defaultedTile" + "tiles" ] } From 3d61064da1c648189b4eb5ba54c96372adf90df5 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 11 Mar 2024 18:42:24 +0100 Subject: [PATCH 12/27] Updated schema according to latest discussion --- .../uiad/type/zif_aff_uiad_v1.intf.abap | 545 ++++++++-------- file-formats/uiad/uiad-v1.json | 615 ++++++------------ 2 files changed, 448 insertions(+), 712 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 42efb5a82..c447b78dc 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -1,472 +1,407 @@ -INTERFACE zif_aff_uiad_v1 - PUBLIC. +interface zif_aff_uiad_v1 + public. - TYPES: + types: "!

Header

"! The header for an ABAP main object (without source code) with a description of 255 characters - BEGIN OF ty_header, + begin of ty_header, "!

Description

"! Description of the ABAP object "! $required - description TYPE c LENGTH 255, + description type c length 255, "! $required - original_language TYPE zif_aff_types_v1=>ty_original_language, + original_language type zif_aff_types_v1=>ty_original_language, - abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version, - END OF ty_header. + abap_language_version type zif_aff_types_v1=>ty_abap_language_version, + end of ty_header. - TYPES: + "!

App Type

+ "! LADI app type + "! $values {@link zif_aff_uiad_v1.data:co_app_type} + types ty_app_type type c length 1. + + constants: + "!

App Type

+ "! LADI app type + begin of co_app_type, + + "!

Transaction

+ "! Transaction + transaction type ty_app_type value 'T', + + "!

Web Dynpro Application

+ "! Web Dynpro application + web_dynpro type ty_app_type value 'W', + + "!

Web Client UI Application

+ "! Web Client UI application + web_client type ty_app_type value 'C', + + "!

UI5

+ "! SAPUI5 Fiori app + ui5 type ty_app_type value 'U', + + "!

SAPUI5 Fiori App on SAP BTP

+ "! SAPUI5 Fiori app on SAP BTP (Deprecated) + legacy_ui5 type ty_app_type value 'S', + + "!

URL App

+ "! URL app + url type ty_app_type value 'R', + + "!

Tile Only

+ "! Tile only + tile type ty_app_type value 'O', + + "!

Url Template

+ "! Url Template + url_template type ty_app_type value 'G', + + end of co_app_type. + + types: "!

General Information

"! General information - BEGIN OF ty_general_information, + begin of ty_general_information, "!

Information

"! LADI information text - information TYPE c LENGTH 255, + information type c length 255, "!

Catalog ID

"! Catalog ID - catalog_id TYPE c LENGTH 40, + catalog_id type c length 40, "!

Transaction

"! Transaction - transaction TYPE c LENGTH 20, + transaction type c length 20, "!

Fiori ID

"! Fiori ID - fiori_id TYPE c LENGTH 20, + fiori_id type c length 20, "!

Support Component

"! Support component - support_component TYPE c LENGTH 24, - - "!

Default Tile

- "! Default tile - default_tile TYPE c LENGTH 50, + support_component type c length 24, "!

Suppress Tiles

"! Suppress tiles - suppress_tiles TYPE abap_bool, - - END OF ty_general_information. - - TYPES: - "!

Lifecycle

- "! Lifecycle state of the app - BEGIN OF ty_lifecycle, + suppress_tiles type abap_bool, - "!

Deprecated

- "! Whether the app is deprecated - deprecated TYPE abap_bool, + "!

App Type

+ "! LADI app type + "! $required + app_type type ty_app_type, - "!

Successor

- "! LADI ID of the successor app - successor TYPE c LENGTH 32, + "!

System Alias

+ "! System alias + system_alias type c length 32, - END OF ty_lifecycle. + end of ty_general_information. - TYPES: + types: "!

UI5 App Details

"! UI5 specific app details - BEGIN OF ty_app_details_ui5, + begin of ty_app_details_ui5, "!

App ID

"! SAP UI5 component ID "! $required - app_id TYPE c LENGTH 70, + app_id type c length 70, "!

ICF Path

"! ICF path - icf_path TYPE string, + icf_path type string, - END OF ty_app_details_ui5. + end of ty_app_details_ui5. "! Web Dynpro integration mode "! $values {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode} "! $default {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode.system_default} - TYPES ty_web_dynpro_integration_mode TYPE c LENGTH 1. + types ty_web_dynpro_integration_mode type c length 1. - CONSTANTS: + constants: "!

Integration Mode

"! Web Dynpro integration mode - BEGIN OF co_web_dynpro_integration_mode, + begin of co_web_dynpro_integration_mode, "!

System Default

"! System default - system_default TYPE ty_web_dynpro_integration_mode VALUE ' ', + system_default type ty_web_dynpro_integration_mode value ' ', "!

Direct

"! Direct - direct TYPE ty_web_dynpro_integration_mode VALUE 'D', + direct type ty_web_dynpro_integration_mode value 'D', "!

Compatible

"! Compatible - compatible TYPE ty_web_dynpro_integration_mode VALUE 'C', + compatible type ty_web_dynpro_integration_mode value 'C', - END OF co_web_dynpro_integration_mode. + end of co_web_dynpro_integration_mode. - TYPES: + types: "!

Web Dynpro App Details

"! Web Dynpro specific app details - BEGIN OF ty_app_details_web_dynpro, + begin of ty_app_details_web_dynpro, "!

App ID

"! App ID "! $required - app_id TYPE c LENGTH 30, + app_id type c length 30, "!

Config ID

"! Config ID - config_id TYPE c LENGTH 32, + config_id type c length 32, "!

Flavor ID

"! Flavor ID - flavor_id TYPE c LENGTH 32, + flavor_id type c length 32, "!

Integration Mode

"! Integration mode - integration_mode TYPE ty_web_dynpro_integration_mode, + integration_mode type ty_web_dynpro_integration_mode, "!

Compatibility Mode

"! Compatibility mode - compatibility_mode TYPE abap_bool, + compatibility_mode type abap_bool, - END OF ty_app_details_web_dynpro. + end of ty_app_details_web_dynpro. - TYPES: + types: "!

Web Client App Details

"! Web Client specific app details - BEGIN OF ty_app_details_web_client, + begin of ty_app_details_web_client, "!

Target ID

"! Target ID "! $required - target_id TYPE c LENGTH 10, + target_id type c length 10, - END OF ty_app_details_web_client. + end of ty_app_details_web_client. - TYPES: + types: "!

Url Template Parameter

"! Url Template parameter - BEGIN OF ty_url_template_parameter, + begin of ty_url_template_parameter, "!

Name

"! Parameter name - name TYPE string, + name type string, "!

Value

"! Parameter value - value TYPE string, + value type string, - END OF ty_url_template_parameter, + end of ty_url_template_parameter, - ty_url_template_parameters TYPE STANDARD TABLE OF ty_url_template_parameter WITH DEFAULT KEY. + ty_url_template_parameters type standard table of ty_url_template_parameter with default key. - TYPES: + types: "!

Url Template App Details

"! Url Template specific app details - BEGIN OF ty_app_details_url_template, + begin of ty_app_details_url_template, "!

Template ID

"! Url Template ID "! $required - template_id TYPE c LENGTH 32, + template_id type c length 32, "!

Parameters

"! Url Template parameters - parameters TYPE ty_url_template_parameters, - - END OF ty_app_details_url_template. - - "!

App Type

- "! LADI app type - "! $values {@link zif_aff_uiad_v1.data:co_app_type} - TYPES ty_app_type TYPE c LENGTH 1. - - CONSTANTS: - "!

App Type

- "! LADI app type - BEGIN OF co_app_type, - - "!

Transaction

- "! Transaction - transaction TYPE ty_app_type VALUE 'T', - - "!

Web Dynpro Application

- "! Web Dynpro application - web_dynpro TYPE ty_app_type VALUE 'W', - - "!

Web Client UI Application

- "! Web Client UI application - web_client TYPE ty_app_type VALUE 'C', - - "!

UI5

- "! SAPUI5 Fiori app - ui5 TYPE ty_app_type VALUE 'U', - - "!

SAPUI5 Fiori App on SAP BTP

- "! SAPUI5 Fiori app on SAP BTP (Deprecated) - legacy_ui5 TYPE ty_app_type VALUE 'S', - - "!

URL App

- "! URL app - url TYPE ty_app_type VALUE 'R', - - "!

Tile Only

- "! Tile only - tile TYPE ty_app_type VALUE 'O', - - "!

Url Template

- "! Url Template - url_template TYPE ty_app_type VALUE 'G', - - END OF co_app_type. - - TYPES: - "!

App Details

- "! Technology specific app details - BEGIN OF ty_app_details, - - "!

App Type

- "! LADI app type - "! $required - app_type TYPE ty_app_type, - - "!

System Alias

- "! System alias - system_alias TYPE c LENGTH 32, + parameters type ty_url_template_parameters, - "!

UI5 App Details

- "! UI5 specific app details - ui5 TYPE ty_app_details_ui5, - - "!

Web Dynpro App Details

- "! Web Dynpro specific app details - web_dynpro TYPE ty_app_details_web_dynpro, - - "!

Web Client App Details

- "! Web Client specific app details - web_client TYPE ty_app_details_web_client, - - "!

Url Template App Details

- "! Url Template specific app details - url_template TYPE ty_app_details_url_template, - - END OF ty_app_details. - - TYPES: - "!

Device Types

- "! Device type support - BEGIN OF ty_device_types, - - "!

Desktop

- "! Support for desktop - "! $required - desktop TYPE abap_bool, - - "!

Tablet

- "! Support for tablet - "! $required - tablet TYPE abap_bool, - - "!

Phone

- "! Support for phone - "! $required - phone TYPE abap_bool, - - END OF ty_device_types. + end of ty_app_details_url_template. "!

Filter Value Type

"! Type of the filter value "! $values {@link zif_aff_uiad_v1.data:co_filter_value_type} "! $default {@link zif_aff_uiad_v1.data:co_filter_value_type.plain} - TYPES ty_filter_value_type TYPE c LENGTH 1. + types ty_filter_value_type type c length 1. - CONSTANTS: + constants: "!

Filter Value Type

"! Type of the filter value - BEGIN OF co_filter_value_type, + begin of co_filter_value_type, "!

Plain

"! The filter value is used as is - plain TYPE ty_filter_value_type VALUE ' ', + plain type ty_filter_value_type value ' ', "!

Regex

"! The filter value is used as a regex - regex TYPE ty_filter_value_type VALUE 'R', + regex type ty_filter_value_type value 'R', - END OF co_filter_value_type. + end of co_filter_value_type. - TYPES: + types: "!

Signature Item

"! Signature item - BEGIN OF ty_signature_item, + begin of ty_signature_item, "!

Parameter Name

"! Parameter name - parameter_name TYPE string, + parameter_name type string, "!

Rename Parameter To

"! Rename parameter to - rename_parameter_to TYPE string, + rename_parameter_to type string, "!

Default Value

"! Default value - default_value TYPE string, + default_value type string, "!

Filter Value

"! Filter value - filter_value TYPE string, + filter_value type string, "!

Filter Value Type

"! Filter value type - filter_value_type TYPE ty_filter_value_type, + filter_value_type type ty_filter_value_type, "!

Required

"! Whether the parameter is required - required TYPE abap_bool, + required type abap_bool, - END OF ty_signature_item, + end of ty_signature_item, - ty_signature_items TYPE STANDARD TABLE OF ty_signature_item WITH DEFAULT KEY. + ty_signature_items type standard table of ty_signature_item with default key. "!

Additional Param Handling

"! How additional parameters are handled "! $values {@link zif_aff_uiad_v1.data:co_additional_param_handling} "! $default {@link zif_aff_uiad_v1.data:co_additional_param_handling.allowed} - TYPES ty_additional_param_handling TYPE c LENGTH 1. + types ty_additional_param_handling type c length 1. - CONSTANTS: + constants: "!

Additional Param Handling

"! How additional parameters are handled - BEGIN OF co_additional_param_handling, + begin of co_additional_param_handling, "!

Allowed

"! Additional parameters are allowed. - allowed TYPE ty_additional_param_handling VALUE 'A', + allowed type ty_additional_param_handling value 'A', "!

Ignored

"! Additional parameters are ignored. - ignored TYPE ty_additional_param_handling VALUE 'I', + ignored type ty_additional_param_handling value 'I', "!

Not Allowed

"! Additional parameters are not allowed. - not_allowed TYPE ty_additional_param_handling VALUE 'N', + not_allowed type ty_additional_param_handling value 'N', - END OF co_additional_param_handling. + end of co_additional_param_handling. - TYPES: + types: "!

Navigation Details

"! Navigation details - BEGIN OF ty_navigation, + begin of ty_navigation, "!

Target Mapping ID

"! Target mapping ID - target_mapping_id TYPE c LENGTH 50, + target_mapping_id type c length 50, "!

Target Url

"! Target url used for 'Tile only' and 'Url app' apps - target_url TYPE string, + target_url type string, + + "!

Desktop

+ "! Desktop is supported as device type + "! $required + desktop type abap_bool, - "!

Supported Device Types

- "! Supported device types + "!

Tablet

+ "! Tablet is supported as device type "! $required - supported_device_types TYPE ty_device_types, + tablet type abap_bool, + + "!

Phone

+ "! Phone is supported as device type + "! $required + phone type abap_bool, "!

Semantic Object

"! Semantic object of the target mapping - semantic_object TYPE c LENGTH 30, + semantic_object type c length 30, "!

Action

"! Action of the target mapping - action TYPE c LENGTH 60, + action type c length 60, "!

Signature Items

"! Signature describing the parameters of the target mapping - signature TYPE ty_signature_items, + signature type ty_signature_items, "!

Additional Param Handling

"! How additional parameters are handled - additional_parameter_handling TYPE ty_additional_param_handling, + additional_parameter_handling type ty_additional_param_handling, - END OF ty_navigation. + end of ty_navigation. "!

Tile Type

"! Tile type "! $values {@link zif_aff_uiad_v1.data:co_tile_type} "! $default {@link zif_aff_uiad_v1.data:co_tile_type.static} - TYPES ty_tile_type TYPE c LENGTH 1. + types ty_tile_type type c length 1. - CONSTANTS: + constants: "!

Tile Type

"! Tile type - BEGIN OF co_tile_type, + begin of co_tile_type, "!

Static

"! Static Tile - static TYPE ty_tile_type VALUE 'S', + static type ty_tile_type value 'S', "!

Dynamic

"! Dynamic Tile - dynamic TYPE ty_tile_type VALUE 'D', + dynamic type ty_tile_type value 'D', "!

Custom

"! Custom Tile - custom TYPE ty_tile_type VALUE 'C', + custom type ty_tile_type value 'C', - END OF co_tile_type. + end of co_tile_type. - TYPES: + types: "!

Dynamic Tile Details

"! Dynamic tile specific details - BEGIN OF ty_dynamic_tile_details, + begin of ty_dynamic_tile_details, "!

Service Base Url

"! Service base url - service_base_url TYPE string, + service_base_url type string, "!

Service Path

"! Service path - service_path TYPE string, + service_path type string, "!

Refresh Interval

"! Timeout until the tile is refreshed - refresh_interval TYPE i, + refresh_interval type i, "!

Number Unit

"! Number unit - number_unit TYPE string, + number_unit type string, - END OF ty_dynamic_tile_details. + end of ty_dynamic_tile_details. - TYPES: + types: "!

Tile Parameter

"! Tile parameter - BEGIN OF ty_tile_parameter, + begin of ty_tile_navigation_parameter, "!

Name

"! Parameter name - name TYPE string, + name type string, "!

Value

"! Parameter value - value TYPE string, + value type string, - END OF ty_tile_parameter, + end of ty_tile_navigation_parameter, - ty_tile_parameters TYPE STANDARD TABLE OF ty_tile_parameter WITH DEFAULT KEY. - - TYPES: - "!

Tile Navigation

- "! Navigation details of the tile - BEGIN OF ty_tile_navigation, - - "!

Parameters

- "! Parameters of the tile intent - parameters TYPE ty_tile_parameters, - - END OF ty_tile_navigation. + ty_tile_navigation_parameters type standard table of ty_tile_navigation_parameter with default key. TYPES: "!

Standard Tile Details

@@ -475,165 +410,197 @@ INTERFACE zif_aff_uiad_v1 "!

Reuse Text From App

"! Reuse text defined as part of the app - reuse_text_from_app TYPE abap_bool, + reuse_text_from_app TYPE abap_bool, "!

Title

"! Tile title - title TYPE c LENGTH 255, + title TYPE c LENGTH 255, "!

Subtitle

"! Tile subtitle - subtitle TYPE c LENGTH 255, + subtitle TYPE c LENGTH 255, "!

Information

"! Tile information - information TYPE c LENGTH 255, + information TYPE c LENGTH 255, "!

Keywords

"! Tile keywords - keywords TYPE c LENGTH 255, + keywords TYPE c LENGTH 255, "!

Icon

"! Tile icon - icon TYPE string, + icon TYPE string, "!

Dynamic Tile Details

"! Dynamic tile specific details - dynamic TYPE ty_dynamic_tile_details, + dynamic TYPE ty_dynamic_tile_details, - "!

Tile Navigation

- "! Navigation details of the tile - navigation TYPE ty_tile_navigation, + "!

Tile Navigation Parameters

+ "! Tile navigation parameters of the tile intent + tile_navigation_parameters TYPE ty_tile_navigation_parameters, END OF ty_standard_tile_details. - TYPES: + types: "!

CHIP Bag Property

"! Property of a CHIP bag - BEGIN OF ty_chip_bag_property, + begin of ty_chip_bag_property, "!

Name

"! Property name - name TYPE c LENGTH 100, + name type c length 100, "!

Value

"! Property value - value TYPE string, + value type string, "!

Translatable

"! Whether the property is translatable - translatable TYPE abap_bool, + translatable type abap_bool, - END OF ty_chip_bag_property, + end of ty_chip_bag_property, - ty_chip_bag_properties TYPE STANDARD TABLE OF ty_chip_bag_property WITH DEFAULT KEY. + ty_chip_bag_properties type standard table of ty_chip_bag_property with default key. - TYPES: + types: "!

Bag

"! CHIP bag - BEGIN OF ty_chip_bag, + begin of ty_chip_bag, "!

ID

"! Bag ID - id TYPE c LENGTH 100, + id type c length 100, "!

Properties

"! CHIP bag properties - properties TYPE ty_chip_bag_properties, + properties type ty_chip_bag_properties, - END OF ty_chip_bag, + end of ty_chip_bag, - ty_chip_bags TYPE STANDARD TABLE OF ty_chip_bag WITH DEFAULT KEY. + ty_chip_bags type standard table of ty_chip_bag with default key. - TYPES: + types: "!

Custom Tile Details

"! Custom tile specific details - BEGIN OF ty_custom_tile_details, + begin of ty_custom_tile_details, "!

Base CHIP ID

"! Base CHIP ID - base_chip_id TYPE c LENGTH 255, + base_chip_id type c length 255, "!

Configuration

"! Configuration string of the CHIP - configuration TYPE string, + configuration type string, "!

Bags

"! CHIP bags - bags TYPE ty_chip_bags, + bags type ty_chip_bags, - END OF ty_custom_tile_details. + end of ty_custom_tile_details. - TYPES: + types: "!

Tile

"! Details of a tile - BEGIN OF ty_tile, + begin of ty_tile, "!

ID

"! Tile ID "! $required - id TYPE c LENGTH 50, + id type c length 50, + + "!

default

+ "! Whether the tile is chosen by default + "! $required + default type abap_bool, + + "!

legacy

+ "! Whether the tile is stored as legacy tile + "! $required + legacy type abap_bool, "!

Tile Type

"! Tile type "! $required - tile_type TYPE ty_tile_type, + tile_type type ty_tile_type, "!

Standard Tile Details

"! Standard tile specific details - standard TYPE ty_standard_tile_details, + standard type ty_standard_tile_details, "!

Custom Tile Details

"! Custom tile specific details - custom TYPE ty_custom_tile_details, + custom type ty_custom_tile_details, - END OF ty_tile, + end of ty_tile, - ty_tiles TYPE STANDARD TABLE OF ty_tile WITH DEFAULT KEY. + ty_tiles type standard table of ty_tile with default key. - TYPES: + types: + "!

Lifecycle

+ "! Lifecycle state of the app + begin of ty_lifecycle, + + "!

Deprecated

+ "! Whether the app is deprecated + deprecated type abap_bool, + + "!

Successor

+ "! LADI ID of the successor app + successor type c length 32, + + end of ty_lifecycle. + + types: "!

LADI

"! Launchpad app descriptor item - BEGIN OF ty_main, + begin of ty_main, "!

Format Version

"! Format version "! $required - format_version TYPE zif_aff_types_v1=>ty_format_version, + format_version type zif_aff_types_v1=>ty_format_version, "!

Header

"! Header "! $required - header TYPE ty_header, + header type ty_header, "!

General Information

"! General information "! $required - general_information TYPE ty_general_information, + general_information type ty_general_information, - "!

Lifecycle

- "! Lifecycle state of the app - lifecycle TYPE ty_lifecycle, + "!

UI5 App Details

+ "! UI5 specific app details + app_details_ui5 type ty_app_details_ui5, - "!

App Details

- "! Details about the technology of the app - "! $required - app_details TYPE ty_app_details, + "!

Web Dynpro App Details

+ "! Web Dynpro specific app details + app_details_web_dynpro type ty_app_details_web_dynpro, + + "!

Web Client App Details

+ "! Web Client specific app details + app_details_web_client type ty_app_details_web_client, + + "!

Url Template App Details

+ "! Url Template specific app details + app_details_url_template type ty_app_details_url_template, "!

Navigation Details

"! Navigation details "! $required - navigation TYPE ty_navigation, + navigation type ty_navigation, "!

Tiles

"! Tiles related to the LADI "! $required - tiles TYPE ty_tiles, + tiles type ty_tiles, - "!

Defaulted Tile

- "! Defaulted (legacy) tile - defaulted_tile TYPE ty_tile, + "!

Lifecycle

+ "! Lifecycle state of the app + lifecycle type ty_lifecycle, - END OF ty_main. + end of ty_main. -ENDINTERFACE. +endinterface. diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index f6378ecef..dc0c8d875 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -94,44 +94,11 @@ "type": "string", "maxLength": 24 }, - "defaultTile": { - "title": "Default Tile", - "description": "Default tile", - "type": "string", - "maxLength": 50 - }, "suppressTiles": { "title": "Suppress Tiles", "description": "Suppress tiles", "type": "boolean" - } - }, - "additionalProperties": false - }, - "lifecycle": { - "title": "Lifecycle", - "description": "Lifecycle state of the app", - "type": "object", - "properties": { - "deprecated": { - "title": "Deprecated", - "description": "Whether the app is deprecated", - "type": "boolean" }, - "successor": { - "title": "Successor", - "description": "LADI ID of the successor app", - "type": "string", - "maxLength": 32 - } - }, - "additionalProperties": false - }, - "appDetails": { - "title": "App Details", - "description": "Details about the technology of the app", - "type": "object", - "properties": { "appType": { "title": "App Type", "description": "LADI app type", @@ -172,145 +139,145 @@ "description": "System alias", "type": "string", "maxLength": 32 + } + }, + "additionalProperties": false, + "required": [ + "appType" + ] + }, + "appDetailsUi5": { + "title": "UI5 App Details", + "description": "UI5 specific app details", + "type": "object", + "properties": { + "appId": { + "title": "App ID", + "description": "SAP UI5 component ID", + "type": "string", + "maxLength": 70 }, - "ui5": { - "title": "UI5 App Details", - "description": "UI5 specific app details", - "type": "object", - "properties": { - "appId": { - "title": "App ID", - "description": "SAP UI5 component ID", - "type": "string", - "maxLength": 70 - }, - "icfPath": { - "title": "ICF Path", - "description": "ICF path", - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "appId" - ] + "icfPath": { + "title": "ICF Path", + "description": "ICF path", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "appId" + ] + }, + "appDetailsWebDynpro": { + "title": "Web Dynpro App Details", + "description": "Web Dynpro specific app details", + "type": "object", + "properties": { + "appId": { + "title": "App ID", + "description": "App ID", + "type": "string", + "maxLength": 30 }, - "webDynpro": { - "title": "Web Dynpro App Details", - "description": "Web Dynpro specific app details", - "type": "object", - "properties": { - "appId": { - "title": "App ID", - "description": "App ID", - "type": "string", - "maxLength": 30 - }, - "configId": { - "title": "Config ID", - "description": "Config ID", - "type": "string", - "maxLength": 32 - }, - "flavorId": { - "title": "Flavor ID", - "description": "Flavor ID", - "type": "string", - "maxLength": 32 - }, - "integrationMode": { - "title": "Integration Mode", - "description": "Integration mode", - "type": "string", - "enum": [ - "systemDefault", - "direct", - "compatible" - ], - "enumTitles": [ - "System Default", - "Direct", - "Compatible" - ], - "enumDescriptions": [ - "System default", - "Direct", - "Compatible" - ], - "default": "systemDefault" - }, - "compatibilityMode": { - "title": "Compatibility Mode", - "description": "Compatibility mode", - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "appId" - ] + "configId": { + "title": "Config ID", + "description": "Config ID", + "type": "string", + "maxLength": 32 }, - "webClient": { - "title": "Web Client App Details", - "description": "Web Client specific app details", - "type": "object", - "properties": { - "targetId": { - "title": "Target ID", - "description": "Target ID", - "type": "string", - "maxLength": 10 - } - }, - "additionalProperties": false, - "required": [ - "targetId" - ] + "flavorId": { + "title": "Flavor ID", + "description": "Flavor ID", + "type": "string", + "maxLength": 32 }, - "urlTemplate": { - "title": "Url Template App Details", - "description": "Url Template specific app details", - "type": "object", - "properties": { - "templateId": { - "title": "Template ID", - "description": "Url Template ID", - "type": "string", - "maxLength": 32 - }, - "parameters": { - "title": "Parameters", - "description": "Url Template parameters", - "type": "array", - "items": { - "title": "Url Template Parameter", - "description": "Url Template parameter", - "type": "object", - "properties": { - "name": { - "title": "Name", - "description": "Parameter name", - "type": "string" - }, - "value": { - "title": "Value", - "description": "Parameter value", - "type": "string" - } - }, - "additionalProperties": false + "integrationMode": { + "title": "Integration Mode", + "description": "Integration mode", + "type": "string", + "enum": [ + "systemDefault", + "direct", + "compatible" + ], + "enumTitles": [ + "System Default", + "Direct", + "Compatible" + ], + "enumDescriptions": [ + "System default", + "Direct", + "Compatible" + ], + "default": "systemDefault" + }, + "compatibilityMode": { + "title": "Compatibility Mode", + "description": "Compatibility mode", + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "appId" + ] + }, + "appDetailsWebClient": { + "title": "Web Client App Details", + "description": "Web Client specific app details", + "type": "object", + "properties": { + "targetId": { + "title": "Target ID", + "description": "Target ID", + "type": "string", + "maxLength": 10 + } + }, + "additionalProperties": false, + "required": [ + "targetId" + ] + }, + "appDetailsUrlTemplate": { + "title": "Url Template App Details", + "description": "Url Template specific app details", + "type": "object", + "properties": { + "templateId": { + "title": "Template ID", + "description": "Url Template ID", + "type": "string", + "maxLength": 32 + }, + "parameters": { + "title": "Parameters", + "description": "Url Template parameters", + "type": "array", + "items": { + "title": "Url Template Parameter", + "description": "Url Template parameter", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Parameter name", + "type": "string" + }, + "value": { + "title": "Value", + "description": "Parameter value", + "type": "string" } - } - }, - "additionalProperties": false, - "required": [ - "templateId" - ] + }, + "additionalProperties": false + } } }, "additionalProperties": false, "required": [ - "appType" + "templateId" ] }, "navigation": { @@ -329,33 +296,20 @@ "description": "Target url used for 'Tile only' and 'Url app' apps", "type": "string" }, - "supportedDeviceTypes": { - "title": "Supported Device Types", - "description": "Supported device types", - "type": "object", - "properties": { - "desktop": { - "title": "Desktop", - "description": "Support for desktop", - "type": "boolean" - }, - "tablet": { - "title": "Tablet", - "description": "Support for tablet", - "type": "boolean" - }, - "phone": { - "title": "Phone", - "description": "Support for phone", - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "desktop", - "tablet", - "phone" - ] + "desktop": { + "title": "Desktop", + "description": "Desktop is supported as device type", + "type": "boolean" + }, + "tablet": { + "title": "Tablet", + "description": "Tablet is supported as device type", + "type": "boolean" + }, + "phone": { + "title": "Phone", + "description": "Phone is supported as device type", + "type": "boolean" }, "semanticObject": { "title": "Semantic Object", @@ -449,7 +403,9 @@ }, "additionalProperties": false, "required": [ - "supportedDeviceTypes" + "desktop", + "tablet", + "phone" ] }, "tiles": { @@ -467,6 +423,16 @@ "type": "string", "maxLength": 50 }, + "default": { + "title": "default", + "description": "Whether the tile is chosen by default", + "type": "boolean" + }, + "legacy": { + "title": "legacy", + "description": "Whether the tile is stored as legacy tile", + "type": "boolean" + }, "tileType": { "title": "Tile Type", "description": "Tile type", @@ -557,36 +523,28 @@ }, "additionalProperties": false }, - "navigation": { - "title": "Tile Navigation", - "description": "Navigation details of the tile", - "type": "object", - "properties": { - "parameters": { - "title": "Parameters", - "description": "Parameters of the tile intent", - "type": "array", - "items": { - "title": "Tile Parameter", - "description": "Tile parameter", - "type": "object", - "properties": { - "name": { - "title": "Name", - "description": "Parameter name", - "type": "string" - }, - "value": { - "title": "Value", - "description": "Parameter value", - "type": "string" - } - }, - "additionalProperties": false + "tileNavigationParameters": { + "title": "Tile Navigation Parameters", + "description": "Tile navigation parameters of the tile intent", + "type": "array", + "items": { + "title": "Tile Parameter", + "description": "Tile parameter", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Parameter name", + "type": "string" + }, + "value": { + "title": "Value", + "description": "Parameter value", + "type": "string" } - } - }, - "additionalProperties": false + }, + "additionalProperties": false + } } }, "additionalProperties": false @@ -662,218 +620,30 @@ "additionalProperties": false, "required": [ "id", + "default", + "legacy", "tileType" ] } }, - "defaultedTile": { - "title": "Defaulted Tile", - "description": "Defaulted (legacy) tile", + "lifecycle": { + "title": "Lifecycle", + "description": "Lifecycle state of the app", "type": "object", "properties": { - "id": { - "title": "ID", - "description": "Tile ID", - "type": "string", - "maxLength": 50 + "deprecated": { + "title": "Deprecated", + "description": "Whether the app is deprecated", + "type": "boolean" }, - "tileType": { - "title": "Tile Type", - "description": "Tile type", + "successor": { + "title": "Successor", + "description": "LADI ID of the successor app", "type": "string", - "enum": [ - "static", - "dynamic", - "custom" - ], - "enumTitles": [ - "Static", - "Dynamic", - "Custom" - ], - "enumDescriptions": [ - "Static Tile", - "Dynamic Tile", - "Custom Tile" - ], - "default": "static" - }, - "standard": { - "title": "Standard Tile Details", - "description": "Standard tile specific details", - "type": "object", - "properties": { - "reuseTextFromApp": { - "title": "Reuse Text From App", - "description": "Reuse text defined as part of the app", - "type": "boolean" - }, - "title": { - "title": "Title", - "description": "Tile title", - "type": "string", - "maxLength": 255 - }, - "subtitle": { - "title": "Subtitle", - "description": "Tile subtitle", - "type": "string", - "maxLength": 255 - }, - "information": { - "title": "Information", - "description": "Tile information", - "type": "string", - "maxLength": 255 - }, - "keywords": { - "title": "Keywords", - "description": "Tile keywords", - "type": "string", - "maxLength": 255 - }, - "icon": { - "title": "Icon", - "description": "Tile icon", - "type": "string" - }, - "dynamic": { - "title": "Dynamic Tile Details", - "description": "Dynamic tile specific details", - "type": "object", - "properties": { - "serviceBaseUrl": { - "title": "Service Base Url", - "description": "Service base url", - "type": "string" - }, - "servicePath": { - "title": "Service Path", - "description": "Service path", - "type": "string" - }, - "refreshInterval": { - "title": "Refresh Interval", - "description": "Timeout until the tile is refreshed", - "type": "integer", - "minimum": -2147483648, - "maximum": 2147483647 - }, - "numberUnit": { - "title": "Number Unit", - "description": "Number unit", - "type": "string" - } - }, - "additionalProperties": false - }, - "navigation": { - "title": "Tile Navigation", - "description": "Navigation details of the tile", - "type": "object", - "properties": { - "parameters": { - "title": "Parameters", - "description": "Parameters of the tile intent", - "type": "array", - "items": { - "title": "Tile Parameter", - "description": "Tile parameter", - "type": "object", - "properties": { - "name": { - "title": "Name", - "description": "Parameter name", - "type": "string" - }, - "value": { - "title": "Value", - "description": "Parameter value", - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "custom": { - "title": "Custom Tile Details", - "description": "Custom tile specific details", - "type": "object", - "properties": { - "baseChipId": { - "title": "Base CHIP ID", - "description": "Base CHIP ID", - "type": "string", - "maxLength": 255 - }, - "configuration": { - "title": "Configuration", - "description": "Configuration string of the CHIP", - "type": "string" - }, - "bags": { - "title": "Bags", - "description": "CHIP bags", - "type": "array", - "items": { - "title": "Bag", - "description": "CHIP bag", - "type": "object", - "properties": { - "id": { - "title": "ID", - "description": "Bag ID", - "type": "string", - "maxLength": 100 - }, - "properties": { - "title": "Properties", - "description": "CHIP bag properties", - "type": "array", - "items": { - "title": "CHIP Bag Property", - "description": "Property of a CHIP bag", - "type": "object", - "properties": { - "name": { - "title": "Name", - "description": "Property name", - "type": "string", - "maxLength": 100 - }, - "value": { - "title": "Value", - "description": "Property value", - "type": "string" - }, - "translatable": { - "title": "Translatable", - "description": "Whether the property is translatable", - "type": "boolean" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false + "maxLength": 32 } }, - "additionalProperties": false, - "required": [ - "id", - "tileType" - ] + "additionalProperties": false } }, "additionalProperties": false, @@ -881,7 +651,6 @@ "formatVersion", "header", "generalInformation", - "appDetails", "navigation", "tiles" ] From bf9cdafc60c683406798bc06551d4bb1cf22624c Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 11 Mar 2024 18:49:39 +0100 Subject: [PATCH 13/27] Fixed example and linting --- .../uiad/examples/z_ui5_sample_app.uiad.json | 20 +- .../uiad/type/zif_aff_uiad_v1.intf.abap | 338 +++++++++--------- 2 files changed, 177 insertions(+), 181 deletions(-) diff --git a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json index 2bc484412..3756c11f8 100644 --- a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json +++ b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json @@ -10,28 +10,24 @@ "transaction": "F1234", "fioriId": "F1234", "supportComponent": "CA-FLP-FE-UI", - "defaultTile": "3WO90XZ1DX19DA1UD5RDXQXWK" + "appType": "ui5" }, - "appDetails": { - "appType": "ui5", - "ui5": { - "appId": "sap.ushell.demo.NavigationSample", - "icfPath": "/sap/bc/ui5_ui5/ui2/navigationsample" - } + "ui5AppDetails": { + "appId": "sap.ushell.demo.NavigationSample", + "icfPath": "/sap/bc/ui5_ui5/ui2/navigationsample" }, "navigation": { "targetMappingId": "3WO90XZ1DX1AO4ON8E556YJ10", - "supportedDeviceTypes": { - "desktop": true, - "tablet": true, - "phone": true - }, + "desktop": true, + "tablet": true, + "phone": true, "semanticObject": "BusinessPartner", "action": "manage" }, "tiles": [ { "id": "3WO90XZ1DX19DA1UD5RDXQXWK", + "default": true, "tileType": "static", "standard": { "title": "Tile Title", diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index c447b78dc..40aa15197 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -1,407 +1,407 @@ -interface zif_aff_uiad_v1 - public. +INTERFACE zif_aff_uiad_v1 + PUBLIC. - types: + TYPES: "!

Header

"! The header for an ABAP main object (without source code) with a description of 255 characters - begin of ty_header, + BEGIN OF ty_header, "!

Description

"! Description of the ABAP object "! $required - description type c length 255, + description TYPE c LENGTH 255, "! $required - original_language type zif_aff_types_v1=>ty_original_language, + original_language TYPE zif_aff_types_v1=>ty_original_language, - abap_language_version type zif_aff_types_v1=>ty_abap_language_version, - end of ty_header. + abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version, + END OF ty_header. "!

App Type

"! LADI app type "! $values {@link zif_aff_uiad_v1.data:co_app_type} - types ty_app_type type c length 1. + TYPES ty_app_type TYPE c LENGTH 1. - constants: + CONSTANTS: "!

App Type

"! LADI app type - begin of co_app_type, + BEGIN OF co_app_type, "!

Transaction

"! Transaction - transaction type ty_app_type value 'T', + transaction TYPE ty_app_type VALUE 'T', "!

Web Dynpro Application

"! Web Dynpro application - web_dynpro type ty_app_type value 'W', + web_dynpro TYPE ty_app_type VALUE 'W', "!

Web Client UI Application

"! Web Client UI application - web_client type ty_app_type value 'C', + web_client TYPE ty_app_type VALUE 'C', "!

UI5

"! SAPUI5 Fiori app - ui5 type ty_app_type value 'U', + ui5 TYPE ty_app_type VALUE 'U', "!

SAPUI5 Fiori App on SAP BTP

"! SAPUI5 Fiori app on SAP BTP (Deprecated) - legacy_ui5 type ty_app_type value 'S', + legacy_ui5 TYPE ty_app_type VALUE 'S', "!

URL App

"! URL app - url type ty_app_type value 'R', + url TYPE ty_app_type VALUE 'R', "!

Tile Only

"! Tile only - tile type ty_app_type value 'O', + tile TYPE ty_app_type VALUE 'O', "!

Url Template

"! Url Template - url_template type ty_app_type value 'G', + url_template TYPE ty_app_type VALUE 'G', - end of co_app_type. + END OF co_app_type. - types: + TYPES: "!

General Information

"! General information - begin of ty_general_information, + BEGIN OF ty_general_information, "!

Information

"! LADI information text - information type c length 255, + information TYPE c LENGTH 255, "!

Catalog ID

"! Catalog ID - catalog_id type c length 40, + catalog_id TYPE c LENGTH 40, "!

Transaction

"! Transaction - transaction type c length 20, + transaction TYPE c LENGTH 20, "!

Fiori ID

"! Fiori ID - fiori_id type c length 20, + fiori_id TYPE c LENGTH 20, "!

Support Component

"! Support component - support_component type c length 24, + support_component TYPE c LENGTH 24, "!

Suppress Tiles

"! Suppress tiles - suppress_tiles type abap_bool, + suppress_tiles TYPE abap_bool, "!

App Type

"! LADI app type "! $required - app_type type ty_app_type, + app_type TYPE ty_app_type, "!

System Alias

"! System alias - system_alias type c length 32, + system_alias TYPE c LENGTH 32, - end of ty_general_information. + END OF ty_general_information. - types: + TYPES: "!

UI5 App Details

"! UI5 specific app details - begin of ty_app_details_ui5, + BEGIN OF ty_app_details_ui5, "!

App ID

"! SAP UI5 component ID "! $required - app_id type c length 70, + app_id TYPE c LENGTH 70, "!

ICF Path

"! ICF path - icf_path type string, + icf_path TYPE string, - end of ty_app_details_ui5. + END OF ty_app_details_ui5. "! Web Dynpro integration mode "! $values {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode} "! $default {@link zif_aff_uiad_v1.data:co_web_dynpro_integration_mode.system_default} - types ty_web_dynpro_integration_mode type c length 1. + TYPES ty_web_dynpro_integration_mode TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Integration Mode

"! Web Dynpro integration mode - begin of co_web_dynpro_integration_mode, + BEGIN OF co_web_dynpro_integration_mode, "!

System Default

"! System default - system_default type ty_web_dynpro_integration_mode value ' ', + system_default TYPE ty_web_dynpro_integration_mode VALUE ' ', "!

Direct

"! Direct - direct type ty_web_dynpro_integration_mode value 'D', + direct TYPE ty_web_dynpro_integration_mode VALUE 'D', "!

Compatible

"! Compatible - compatible type ty_web_dynpro_integration_mode value 'C', + compatible TYPE ty_web_dynpro_integration_mode VALUE 'C', - end of co_web_dynpro_integration_mode. + END OF co_web_dynpro_integration_mode. - types: + TYPES: "!

Web Dynpro App Details

"! Web Dynpro specific app details - begin of ty_app_details_web_dynpro, + BEGIN OF ty_app_details_web_dynpro, "!

App ID

"! App ID "! $required - app_id type c length 30, + app_id TYPE c LENGTH 30, "!

Config ID

"! Config ID - config_id type c length 32, + config_id TYPE c LENGTH 32, "!

Flavor ID

"! Flavor ID - flavor_id type c length 32, + flavor_id TYPE c LENGTH 32, "!

Integration Mode

"! Integration mode - integration_mode type ty_web_dynpro_integration_mode, + integration_mode TYPE ty_web_dynpro_integration_mode, "!

Compatibility Mode

"! Compatibility mode - compatibility_mode type abap_bool, + compatibility_mode TYPE abap_bool, - end of ty_app_details_web_dynpro. + END OF ty_app_details_web_dynpro. - types: + TYPES: "!

Web Client App Details

"! Web Client specific app details - begin of ty_app_details_web_client, + BEGIN OF ty_app_details_web_client, "!

Target ID

"! Target ID "! $required - target_id type c length 10, + target_id TYPE c LENGTH 10, - end of ty_app_details_web_client. + END OF ty_app_details_web_client. - types: + TYPES: "!

Url Template Parameter

"! Url Template parameter - begin of ty_url_template_parameter, + BEGIN OF ty_url_template_parameter, "!

Name

"! Parameter name - name type string, + name TYPE string, "!

Value

"! Parameter value - value type string, + value TYPE string, - end of ty_url_template_parameter, + END OF ty_url_template_parameter, - ty_url_template_parameters type standard table of ty_url_template_parameter with default key. + ty_url_template_parameters TYPE STANDARD TABLE OF ty_url_template_parameter WITH DEFAULT KEY. - types: + TYPES: "!

Url Template App Details

"! Url Template specific app details - begin of ty_app_details_url_template, + BEGIN OF ty_app_details_url_template, "!

Template ID

"! Url Template ID "! $required - template_id type c length 32, + template_id TYPE c LENGTH 32, "!

Parameters

"! Url Template parameters - parameters type ty_url_template_parameters, + parameters TYPE ty_url_template_parameters, - end of ty_app_details_url_template. + END OF ty_app_details_url_template. "!

Filter Value Type

"! Type of the filter value "! $values {@link zif_aff_uiad_v1.data:co_filter_value_type} "! $default {@link zif_aff_uiad_v1.data:co_filter_value_type.plain} - types ty_filter_value_type type c length 1. + TYPES ty_filter_value_type TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Filter Value Type

"! Type of the filter value - begin of co_filter_value_type, + BEGIN OF co_filter_value_type, "!

Plain

"! The filter value is used as is - plain type ty_filter_value_type value ' ', + plain TYPE ty_filter_value_type VALUE ' ', "!

Regex

"! The filter value is used as a regex - regex type ty_filter_value_type value 'R', + regex TYPE ty_filter_value_type VALUE 'R', - end of co_filter_value_type. + END OF co_filter_value_type. - types: + TYPES: "!

Signature Item

"! Signature item - begin of ty_signature_item, + BEGIN OF ty_signature_item, "!

Parameter Name

"! Parameter name - parameter_name type string, + parameter_name TYPE string, "!

Rename Parameter To

"! Rename parameter to - rename_parameter_to type string, + rename_parameter_to TYPE string, "!

Default Value

"! Default value - default_value type string, + default_value TYPE string, "!

Filter Value

"! Filter value - filter_value type string, + filter_value TYPE string, "!

Filter Value Type

"! Filter value type - filter_value_type type ty_filter_value_type, + filter_value_type TYPE ty_filter_value_type, "!

Required

"! Whether the parameter is required - required type abap_bool, + required TYPE abap_bool, - end of ty_signature_item, + END OF ty_signature_item, - ty_signature_items type standard table of ty_signature_item with default key. + ty_signature_items TYPE STANDARD TABLE OF ty_signature_item WITH DEFAULT KEY. "!

Additional Param Handling

"! How additional parameters are handled "! $values {@link zif_aff_uiad_v1.data:co_additional_param_handling} "! $default {@link zif_aff_uiad_v1.data:co_additional_param_handling.allowed} - types ty_additional_param_handling type c length 1. + TYPES ty_additional_param_handling TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Additional Param Handling

"! How additional parameters are handled - begin of co_additional_param_handling, + BEGIN OF co_additional_param_handling, "!

Allowed

"! Additional parameters are allowed. - allowed type ty_additional_param_handling value 'A', + allowed TYPE ty_additional_param_handling VALUE 'A', "!

Ignored

"! Additional parameters are ignored. - ignored type ty_additional_param_handling value 'I', + ignored TYPE ty_additional_param_handling VALUE 'I', "!

Not Allowed

"! Additional parameters are not allowed. - not_allowed type ty_additional_param_handling value 'N', + not_allowed TYPE ty_additional_param_handling VALUE 'N', - end of co_additional_param_handling. + END OF co_additional_param_handling. - types: + TYPES: "!

Navigation Details

"! Navigation details - begin of ty_navigation, + BEGIN OF ty_navigation, "!

Target Mapping ID

"! Target mapping ID - target_mapping_id type c length 50, + target_mapping_id TYPE c LENGTH 50, "!

Target Url

"! Target url used for 'Tile only' and 'Url app' apps - target_url type string, + target_url TYPE string, "!

Desktop

"! Desktop is supported as device type "! $required - desktop type abap_bool, + desktop TYPE abap_bool, "!

Tablet

"! Tablet is supported as device type "! $required - tablet type abap_bool, + tablet TYPE abap_bool, "!

Phone

"! Phone is supported as device type "! $required - phone type abap_bool, + phone TYPE abap_bool, "!

Semantic Object

"! Semantic object of the target mapping - semantic_object type c length 30, + semantic_object TYPE c LENGTH 30, "!

Action

"! Action of the target mapping - action type c length 60, + action TYPE c LENGTH 60, "!

Signature Items

"! Signature describing the parameters of the target mapping - signature type ty_signature_items, + signature TYPE ty_signature_items, "!

Additional Param Handling

"! How additional parameters are handled - additional_parameter_handling type ty_additional_param_handling, + additional_parameter_handling TYPE ty_additional_param_handling, - end of ty_navigation. + END OF ty_navigation. "!

Tile Type

"! Tile type "! $values {@link zif_aff_uiad_v1.data:co_tile_type} "! $default {@link zif_aff_uiad_v1.data:co_tile_type.static} - types ty_tile_type type c length 1. + TYPES ty_tile_type TYPE c LENGTH 1. - constants: + CONSTANTS: "!

Tile Type

"! Tile type - begin of co_tile_type, + BEGIN OF co_tile_type, "!

Static

"! Static Tile - static type ty_tile_type value 'S', + static TYPE ty_tile_type VALUE 'S', "!

Dynamic

"! Dynamic Tile - dynamic type ty_tile_type value 'D', + dynamic TYPE ty_tile_type VALUE 'D', "!

Custom

"! Custom Tile - custom type ty_tile_type value 'C', + custom TYPE ty_tile_type VALUE 'C', - end of co_tile_type. + END OF co_tile_type. - types: + TYPES: "!

Dynamic Tile Details

"! Dynamic tile specific details - begin of ty_dynamic_tile_details, + BEGIN OF ty_dynamic_tile_details, "!

Service Base Url

"! Service base url - service_base_url type string, + service_base_url TYPE string, "!

Service Path

"! Service path - service_path type string, + service_path TYPE string, "!

Refresh Interval

"! Timeout until the tile is refreshed - refresh_interval type i, + refresh_interval TYPE i, "!

Number Unit

"! Number unit - number_unit type string, + number_unit TYPE string, - end of ty_dynamic_tile_details. + END OF ty_dynamic_tile_details. - types: + TYPES: "!

Tile Parameter

"! Tile parameter - begin of ty_tile_navigation_parameter, + BEGIN OF ty_tile_navigation_parameter, "!

Name

"! Parameter name - name type string, + name TYPE string, "!

Value

"! Parameter value - value type string, + value TYPE string, - end of ty_tile_navigation_parameter, + END OF ty_tile_navigation_parameter, - ty_tile_navigation_parameters type standard table of ty_tile_navigation_parameter with default key. + ty_tile_navigation_parameters TYPE STANDARD TABLE OF ty_tile_navigation_parameter WITH DEFAULT KEY. TYPES: "!

Standard Tile Details

@@ -442,165 +442,165 @@ interface zif_aff_uiad_v1 END OF ty_standard_tile_details. - types: + TYPES: "!

CHIP Bag Property

"! Property of a CHIP bag - begin of ty_chip_bag_property, + BEGIN OF ty_chip_bag_property, "!

Name

"! Property name - name type c length 100, + name TYPE c LENGTH 100, "!

Value

"! Property value - value type string, + value TYPE string, "!

Translatable

"! Whether the property is translatable - translatable type abap_bool, + translatable TYPE abap_bool, - end of ty_chip_bag_property, + END OF ty_chip_bag_property, - ty_chip_bag_properties type standard table of ty_chip_bag_property with default key. + ty_chip_bag_properties TYPE STANDARD TABLE OF ty_chip_bag_property WITH DEFAULT KEY. - types: + TYPES: "!

Bag

"! CHIP bag - begin of ty_chip_bag, + BEGIN OF ty_chip_bag, "!

ID

"! Bag ID - id type c length 100, + id TYPE c LENGTH 100, "!

Properties

"! CHIP bag properties - properties type ty_chip_bag_properties, + properties TYPE ty_chip_bag_properties, - end of ty_chip_bag, + END OF ty_chip_bag, - ty_chip_bags type standard table of ty_chip_bag with default key. + ty_chip_bags TYPE STANDARD TABLE OF ty_chip_bag WITH DEFAULT KEY. - types: + TYPES: "!

Custom Tile Details

"! Custom tile specific details - begin of ty_custom_tile_details, + BEGIN OF ty_custom_tile_details, "!

Base CHIP ID

"! Base CHIP ID - base_chip_id type c length 255, + base_chip_id TYPE c LENGTH 255, "!

Configuration

"! Configuration string of the CHIP - configuration type string, + configuration TYPE string, "!

Bags

"! CHIP bags - bags type ty_chip_bags, + bags TYPE ty_chip_bags, - end of ty_custom_tile_details. + END OF ty_custom_tile_details. - types: + TYPES: "!

Tile

"! Details of a tile - begin of ty_tile, + BEGIN OF ty_tile, "!

ID

"! Tile ID "! $required - id type c length 50, + id TYPE c LENGTH 50, "!

default

"! Whether the tile is chosen by default "! $required - default type abap_bool, + default TYPE abap_bool, "!

legacy

"! Whether the tile is stored as legacy tile "! $required - legacy type abap_bool, + legacy TYPE abap_bool, "!

Tile Type

"! Tile type "! $required - tile_type type ty_tile_type, + tile_type TYPE ty_tile_type, "!

Standard Tile Details

"! Standard tile specific details - standard type ty_standard_tile_details, + standard TYPE ty_standard_tile_details, "!

Custom Tile Details

"! Custom tile specific details - custom type ty_custom_tile_details, + custom TYPE ty_custom_tile_details, - end of ty_tile, + END OF ty_tile, - ty_tiles type standard table of ty_tile with default key. + ty_tiles TYPE STANDARD TABLE OF ty_tile WITH DEFAULT KEY. - types: + TYPES: "!

Lifecycle

"! Lifecycle state of the app - begin of ty_lifecycle, + BEGIN OF ty_lifecycle, "!

Deprecated

"! Whether the app is deprecated - deprecated type abap_bool, + deprecated TYPE abap_bool, "!

Successor

"! LADI ID of the successor app - successor type c length 32, + successor TYPE c LENGTH 32, - end of ty_lifecycle. + END OF ty_lifecycle. - types: + TYPES: "!

LADI

"! Launchpad app descriptor item - begin of ty_main, + BEGIN OF ty_main, "!

Format Version

"! Format version "! $required - format_version type zif_aff_types_v1=>ty_format_version, + format_version TYPE zif_aff_types_v1=>ty_format_version, "!

Header

"! Header "! $required - header type ty_header, + header TYPE ty_header, "!

General Information

"! General information "! $required - general_information type ty_general_information, + general_information TYPE ty_general_information, "!

UI5 App Details

"! UI5 specific app details - app_details_ui5 type ty_app_details_ui5, + app_details_ui5 TYPE ty_app_details_ui5, "!

Web Dynpro App Details

"! Web Dynpro specific app details - app_details_web_dynpro type ty_app_details_web_dynpro, + app_details_web_dynpro TYPE ty_app_details_web_dynpro, "!

Web Client App Details

"! Web Client specific app details - app_details_web_client type ty_app_details_web_client, + app_details_web_client TYPE ty_app_details_web_client, "!

Url Template App Details

"! Url Template specific app details - app_details_url_template type ty_app_details_url_template, + app_details_url_template TYPE ty_app_details_url_template, "!

Navigation Details

"! Navigation details "! $required - navigation type ty_navigation, + navigation TYPE ty_navigation, "!

Tiles

"! Tiles related to the LADI "! $required - tiles type ty_tiles, + tiles TYPE ty_tiles, "!

Lifecycle

"! Lifecycle state of the app - lifecycle type ty_lifecycle, + lifecycle TYPE ty_lifecycle, - end of ty_main. + END OF ty_main. -endinterface. +ENDINTERFACE. From dc900d34abf706af618bafa84da62375cc0d7c71 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 11 Mar 2024 19:05:36 +0100 Subject: [PATCH 14/27] Renamed default to is_default --- .../uiad/examples/z_ui5_sample_app.uiad.json | 2 +- .../uiad/type/zif_aff_uiad_v1.intf.abap | 20 +++++++++---------- file-formats/uiad/uiad-v1.json | 16 +++++++-------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json index 3756c11f8..286ab8562 100644 --- a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json +++ b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json @@ -27,7 +27,7 @@ "tiles": [ { "id": "3WO90XZ1DX19DA1UD5RDXQXWK", - "default": true, + "isDefault": true, "tileType": "static", "standard": { "title": "Tile Title", diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 40aa15197..42d17947d 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -507,30 +507,30 @@ INTERFACE zif_aff_uiad_v1 "!

ID

"! Tile ID "! $required - id TYPE c LENGTH 50, + id TYPE c LENGTH 50, "!

default

"! Whether the tile is chosen by default "! $required - default TYPE abap_bool, + is_default TYPE abap_bool, "!

legacy

"! Whether the tile is stored as legacy tile "! $required - legacy TYPE abap_bool, + is_legacy TYPE abap_bool, "!

Tile Type

"! Tile type "! $required - tile_type TYPE ty_tile_type, + tile_type TYPE ty_tile_type, "!

Standard Tile Details

"! Standard tile specific details - standard TYPE ty_standard_tile_details, + standard TYPE ty_standard_tile_details, "!

Custom Tile Details

"! Custom tile specific details - custom TYPE ty_custom_tile_details, + custom TYPE ty_custom_tile_details, END OF ty_tile, @@ -573,19 +573,19 @@ INTERFACE zif_aff_uiad_v1 "!

UI5 App Details

"! UI5 specific app details - app_details_ui5 TYPE ty_app_details_ui5, + ui5_app_details TYPE ty_app_details_ui5, "!

Web Dynpro App Details

"! Web Dynpro specific app details - app_details_web_dynpro TYPE ty_app_details_web_dynpro, + web_dynpro_app_details TYPE ty_app_details_web_dynpro, "!

Web Client App Details

"! Web Client specific app details - app_details_web_client TYPE ty_app_details_web_client, + web_client_app_details TYPE ty_app_details_web_client, "!

Url Template App Details

"! Url Template specific app details - app_details_url_template TYPE ty_app_details_url_template, + url_template_app_details TYPE ty_app_details_url_template, "!

Navigation Details

"! Navigation details diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index dc0c8d875..ef3b8c525 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -146,7 +146,7 @@ "appType" ] }, - "appDetailsUi5": { + "ui5AppDetails": { "title": "UI5 App Details", "description": "UI5 specific app details", "type": "object", @@ -168,7 +168,7 @@ "appId" ] }, - "appDetailsWebDynpro": { + "webDynproAppDetails": { "title": "Web Dynpro App Details", "description": "Web Dynpro specific app details", "type": "object", @@ -223,7 +223,7 @@ "appId" ] }, - "appDetailsWebClient": { + "webClientAppDetails": { "title": "Web Client App Details", "description": "Web Client specific app details", "type": "object", @@ -240,7 +240,7 @@ "targetId" ] }, - "appDetailsUrlTemplate": { + "urlTemplateAppDetails": { "title": "Url Template App Details", "description": "Url Template specific app details", "type": "object", @@ -423,12 +423,12 @@ "type": "string", "maxLength": 50 }, - "default": { + "isDefault": { "title": "default", "description": "Whether the tile is chosen by default", "type": "boolean" }, - "legacy": { + "isLegacy": { "title": "legacy", "description": "Whether the tile is stored as legacy tile", "type": "boolean" @@ -620,8 +620,8 @@ "additionalProperties": false, "required": [ "id", - "default", - "legacy", + "isDefault", + "isLegacy", "tileType" ] } From 89d45870b2fc419bbc31088d85ce266ef38c51e8 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 11 Mar 2024 19:11:05 +0100 Subject: [PATCH 15/27] Removed required from is_legacy --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 1 - file-formats/uiad/uiad-v1.json | 1 - 2 files changed, 2 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 42d17947d..c71cb0b34 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -516,7 +516,6 @@ INTERFACE zif_aff_uiad_v1 "!

legacy

"! Whether the tile is stored as legacy tile - "! $required is_legacy TYPE abap_bool, "!

Tile Type

diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index ef3b8c525..e2bd61f63 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -621,7 +621,6 @@ "required": [ "id", "isDefault", - "isLegacy", "tileType" ] } From 3eeeed675e43de165de8521d500271fe0c907ab9 Mon Sep 17 00:00:00 2001 From: Aaron Date: Fri, 22 Mar 2024 15:55:22 +0100 Subject: [PATCH 16/27] Incorporated feedback from review --- .../uiad/type/zif_aff_uiad_v1.intf.abap | 33 +++++++++---------- file-formats/uiad/uiad-v1.json | 29 ++++++++-------- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index c71cb0b34..1e09d008e 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -42,7 +42,7 @@ INTERFACE zif_aff_uiad_v1 "! SAPUI5 Fiori app ui5 TYPE ty_app_type VALUE 'U', - "!

SAPUI5 Fiori App on SAP BTP

+ "!

SAPUI5 Fiori App on SAP BTP (Deprecated)

"! SAPUI5 Fiori app on SAP BTP (Deprecated) legacy_ui5 TYPE ty_app_type VALUE 'S', @@ -52,7 +52,7 @@ INTERFACE zif_aff_uiad_v1 "!

Tile Only

"! Tile only - tile TYPE ty_app_type VALUE 'O', + tile_only TYPE ty_app_type VALUE 'O', "!

Url Template

"! Url Template @@ -181,8 +181,8 @@ INTERFACE zif_aff_uiad_v1 END OF ty_app_details_web_client. TYPES: - "!

Url Template Parameter

- "! Url Template parameter + "!

Url Template Parameter Details

+ "! Url Template parameter details BEGIN OF ty_url_template_parameter, "!

Name

@@ -207,8 +207,8 @@ INTERFACE zif_aff_uiad_v1 "! $required template_id TYPE c LENGTH 32, - "!

Parameters

- "! Url Template parameters + "!

Url Template Parameters Details

+ "! Url Template parameters details parameters TYPE ty_url_template_parameters, END OF ty_app_details_url_template. @@ -235,8 +235,8 @@ INTERFACE zif_aff_uiad_v1 END OF co_filter_value_type. TYPES: - "!

Signature Item

- "! Signature item + "!

Signature Item Details

+ "! Signature item details BEGIN OF ty_signature_item, "!

Parameter Name

@@ -267,14 +267,14 @@ INTERFACE zif_aff_uiad_v1 ty_signature_items TYPE STANDARD TABLE OF ty_signature_item WITH DEFAULT KEY. - "!

Additional Param Handling

+ "!

Additional Parameter Handling

"! How additional parameters are handled "! $values {@link zif_aff_uiad_v1.data:co_additional_param_handling} "! $default {@link zif_aff_uiad_v1.data:co_additional_param_handling.allowed} TYPES ty_additional_param_handling TYPE c LENGTH 1. CONSTANTS: - "!

Additional Param Handling

+ "!

Additional Parameter Handling

"! How additional parameters are handled BEGIN OF co_additional_param_handling, @@ -332,7 +332,7 @@ INTERFACE zif_aff_uiad_v1 "! Signature describing the parameters of the target mapping signature TYPE ty_signature_items, - "!

Additional Param Handling

+ "!

Additional Parameter Handling

"! How additional parameters are handled additional_parameter_handling TYPE ty_additional_param_handling, @@ -500,7 +500,7 @@ INTERFACE zif_aff_uiad_v1 END OF ty_custom_tile_details. TYPES: - "!

Tile

+ "!

Tile Details

"! Details of a tile BEGIN OF ty_tile, @@ -509,12 +509,11 @@ INTERFACE zif_aff_uiad_v1 "! $required id TYPE c LENGTH 50, - "!

default

+ "!

Is Default Tile

"! Whether the tile is chosen by default - "! $required is_default TYPE abap_bool, - "!

legacy

+ "!

Is Legacy Tile

"! Whether the tile is stored as legacy tile is_legacy TYPE abap_bool, @@ -523,11 +522,11 @@ INTERFACE zif_aff_uiad_v1 "! $required tile_type TYPE ty_tile_type, - "!

Standard Tile Details

+ "!

Standard Details

"! Standard tile specific details standard TYPE ty_standard_tile_details, - "!

Custom Tile Details

+ "!

Custom Details

"! Custom tile specific details custom TYPE ty_custom_tile_details, diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index e2bd61f63..8865a9933 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -110,7 +110,7 @@ "ui5", "legacyUi5", "url", - "tile", + "tileOnly", "urlTemplate" ], "enumTitles": [ @@ -118,7 +118,7 @@ "Web Dynpro Application", "Web Client UI Application", "UI5", - "SAPUI5 Fiori App on SAP BTP", + "SAPUI5 Fiori App on SAP BTP (Deprecated)", "URL App", "Tile Only", "Url Template" @@ -252,12 +252,12 @@ "maxLength": 32 }, "parameters": { - "title": "Parameters", - "description": "Url Template parameters", + "title": "Url Template Parameters Details", + "description": "Url Template parameters details", "type": "array", "items": { - "title": "Url Template Parameter", - "description": "Url Template parameter", + "title": "Url Template Parameter Details", + "description": "Url Template parameter details", "type": "object", "properties": { "name": { @@ -328,8 +328,8 @@ "description": "Signature describing the parameters of the target mapping", "type": "array", "items": { - "title": "Signature Item", - "description": "Signature item", + "title": "Signature Item Details", + "description": "Signature item details", "type": "object", "properties": { "parameterName": { @@ -380,7 +380,7 @@ } }, "additionalParameterHandling": { - "title": "Additional Param Handling", + "title": "Additional Parameter Handling", "description": "How additional parameters are handled", "type": "string", "enum": [ @@ -413,7 +413,7 @@ "description": "Tiles related to the LADI", "type": "array", "items": { - "title": "Tile", + "title": "Tile Details", "description": "Details of a tile", "type": "object", "properties": { @@ -424,12 +424,12 @@ "maxLength": 50 }, "isDefault": { - "title": "default", + "title": "Is Default Tile", "description": "Whether the tile is chosen by default", "type": "boolean" }, "isLegacy": { - "title": "legacy", + "title": "Is Legacy Tile", "description": "Whether the tile is stored as legacy tile", "type": "boolean" }, @@ -455,7 +455,7 @@ "default": "static" }, "standard": { - "title": "Standard Tile Details", + "title": "Standard Details", "description": "Standard tile specific details", "type": "object", "properties": { @@ -550,7 +550,7 @@ "additionalProperties": false }, "custom": { - "title": "Custom Tile Details", + "title": "Custom Details", "description": "Custom tile specific details", "type": "object", "properties": { @@ -620,7 +620,6 @@ "additionalProperties": false, "required": [ "id", - "isDefault", "tileType" ] } From b0d6f6ba833e2b3b2ae7b3eacfaaaa12737f1136 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Wed, 10 Apr 2024 17:26:15 +0200 Subject: [PATCH 17/27] Fix schema due to changes in issue #582 --- file-formats/uiad/uiad-v1.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index 8865a9933..c93fa1124 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -27,9 +27,7 @@ "title": "Original Language", "description": "Original language of the ABAP object", "type": "string", - "minLength": 2, - "maxLength": 2, - "pattern": "^[a-z]+$" + "minLength": 2 }, "abapLanguageVersion": { "title": "ABAP Language Version", From 00fd3a30441b081baafbd14128fc4891fa1d0703 Mon Sep 17 00:00:00 2001 From: Viktoria Freidel Date: Mon, 6 May 2024 16:46:48 +0200 Subject: [PATCH 18/27] Update UIAD AFF --- file-formats/uiad/README.md | 2 +- .../uiad/examples/z_ui5_sample_app.uiad.json | 65 +++- .../uiad/type/zif_aff_uiad_v1.intf.abap | 265 ++++++++------- file-formats/uiad/uiad-v1.json | 311 ++++++++++-------- 4 files changed, 351 insertions(+), 292 deletions(-) diff --git a/file-formats/uiad/README.md b/file-formats/uiad/README.md index 824199399..e218ef146 100644 --- a/file-formats/uiad/README.md +++ b/file-formats/uiad/README.md @@ -2,4 +2,4 @@ File | Cardinality | Definition | Schema | Example :--- | :--- | :--- | :--- | :--- -`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) | [z_ui5_sample_app.uiad.json](./examples/z_ui5_sample_app.uiad.json) +`.uiad.json` | 1 | [`zif_aff_uiad_v1.intf.abap`](./type/zif_aff_uiad_v1.intf.abap) | [`uiad-v1.json`](./uiad-v1.json) | [`z_aff_example_uiad.uiad.json`](./examples/z_aff_example_uiad.uiad.json) diff --git a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json index 286ab8562..54c3702e6 100644 --- a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json +++ b/file-formats/uiad/examples/z_ui5_sample_app.uiad.json @@ -1,40 +1,69 @@ { "formatVersion": "1", "header": { - "description": "UIAD Title", + "description": "Example of UIAD AFF Format", "originalLanguage": "en" }, "generalInformation": { - "information": "UIAD Information", - "catalogId": "/UI2/FLP_DEMO_BC1_TEST", - "transaction": "F1234", - "fioriId": "F1234", - "supportComponent": "CA-FLP-FE-UI", - "appType": "ui5" + "appType": "ui5", + "catalogId": "ZLOCAL_TEST", + "information": "Not translated info text", + "supportComponent": "CA-FLP-ABA" }, "ui5AppDetails": { - "appId": "sap.ushell.demo.NavigationSample", - "icfPath": "/sap/bc/ui5_ui5/ui2/navigationsample" + "appId": "sap.ushell.demo.AppNavSample", + "icfPath": "/sap/bc/ui5_ui5/ui2/appnavsample" }, "navigation": { - "targetMappingId": "3WO90XZ1DX1AO4ON8E556YJ10", - "desktop": true, + "targetMappingId": "Z_AFF_EXAMPLE_TM", + "semanticObject": "NavSample", + "action": "display", "tablet": true, "phone": true, - "semanticObject": "BusinessPartner", - "action": "manage" + "signature": [ + { + "parameterName": "tmParamName", + "defaultValue": "Hello World!" + } + ] }, "tiles": [ { - "id": "3WO90XZ1DX19DA1UD5RDXQXWK", - "isDefault": true, + "id": "Z_AFF_EXAMPLE_TILE_STATIC", "tileType": "static", + "isDefault": true, "standard": { "title": "Tile Title", "subtitle": "Tile Subtitle", - "information": "Tile Information", - "keywords": "Tile Keywords", - "icon": "sap-icon://ai" + "information": "Tile Information Text", + "keywords": "Test Example AFF", + "icon": "sap-icon://action-settings", + "tileNavigationParameters": [ + { + "name": "ParamName", + "value": "ParamValue" + } + ] + } + }, + { + "id": "Z_AFF_EXAMPLE_TILE_DYNAMIC", + "tileType": "dynamic", + "standard": { + "title": "Dynamic Tile Title", + "subtitle": "Demo Subtitle", + "icon": "sap-icon://action-settings", + "dynamic": { + "serviceBaseUrl": "/sap/opu/odata/UI2/PAGE_BUILDER_PERS/Catalogs/$count", + "refreshInterval": 10, + "numberUnit": "Ctas" + }, + "tileNavigationParameters": [ + { + "name": "paramName", + "value": "paramValue" + } + ] } } ] diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 1e09d008e..56b1bdccc 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -16,14 +16,15 @@ INTERFACE zif_aff_uiad_v1 abap_language_version TYPE zif_aff_types_v1=>ty_abap_language_version, END OF ty_header. - "!

App Type

- "! LADI app type + "!

Application Type

+ "! LADI application type "! $values {@link zif_aff_uiad_v1.data:co_app_type} + "! $default {@link zif_aff_uiad_v1.data:co_app_type.ui5} TYPES ty_app_type TYPE c LENGTH 1. CONSTANTS: - "!

App Type

- "! LADI app type + "!

Application Type

+ "! LADI application type BEGIN OF co_app_type, "!

Transaction

@@ -38,24 +39,24 @@ INTERFACE zif_aff_uiad_v1 "! Web Client UI application web_client TYPE ty_app_type VALUE 'C', - "!

UI5

- "! SAPUI5 Fiori app + "!

SAPUI5 Fiori Application

+ "! SAPUI5 Fiori application ui5 TYPE ty_app_type VALUE 'U', - "!

SAPUI5 Fiori App on SAP BTP (Deprecated)

- "! SAPUI5 Fiori app on SAP BTP (Deprecated) + "!

SAPUI5 Fiori Application on SAP BTP (Deprecated)

+ "! SAPUI5 Fiori application on SAP BTP (deprecated) legacy_ui5 TYPE ty_app_type VALUE 'S', - "!

URL App

- "! URL app + "!

URL Application

+ "! URL application url TYPE ty_app_type VALUE 'R', "!

Tile Only

"! Tile only tile_only TYPE ty_app_type VALUE 'O', - "!

Url Template

- "! Url Template + "!

URL Template

+ "! URL template url_template TYPE ty_app_type VALUE 'G', END OF co_app_type. @@ -65,48 +66,45 @@ INTERFACE zif_aff_uiad_v1 "! General information BEGIN OF ty_general_information, - "!

Information

- "! LADI information text - information TYPE c LENGTH 255, + "!

Application Type

+ "! Application type + "! $required + app_type TYPE ty_app_type, - "!

Catalog ID

- "! Catalog ID + "!

Technical Catalog

+ "! Technical catalog + "! $required catalog_id TYPE c LENGTH 40, - "!

Transaction

- "! Transaction + "!

SAP Fiori ID

+ "! SAP Fiori ID + fiori_id TYPE c LENGTH 20, + + "!

Transaction Code

+ "! Transaction code transaction TYPE c LENGTH 20, - "!

Fiori ID

- "! Fiori ID - fiori_id TYPE c LENGTH 20, + "!

Target Mapping Information

+ "! Target mapping information + information TYPE c LENGTH 255, - "!

Support Component

- "! Support component + "!

Application Component

+ "! Application component support_component TYPE c LENGTH 24, "!

Suppress Tiles

"! Suppress tiles suppress_tiles TYPE abap_bool, - "!

App Type

- "! LADI app type - "! $required - app_type TYPE ty_app_type, - - "!

System Alias

- "! System alias - system_alias TYPE c LENGTH 32, - END OF ty_general_information. TYPES: - "!

UI5 App Details

- "! UI5 specific app details + "!

SAPUI5 Fiori Application Information

+ "! SAPUI5 Fiori application information BEGIN OF ty_app_details_ui5, - "!

App ID

- "! SAP UI5 component ID + "!

SAPUI5 Component

+ "! SAPUI5 Component "! $required app_id TYPE c LENGTH 70, @@ -122,7 +120,7 @@ INTERFACE zif_aff_uiad_v1 TYPES ty_web_dynpro_integration_mode TYPE c LENGTH 1. CONSTANTS: - "!

Integration Mode

+ "!

Web Dynpro Integration Mode

"! Web Dynpro integration mode BEGIN OF co_web_dynpro_integration_mode, @@ -141,36 +139,36 @@ INTERFACE zif_aff_uiad_v1 END OF co_web_dynpro_integration_mode. TYPES: - "!

Web Dynpro App Details

- "! Web Dynpro specific app details + "!

Web Dynpro Application Inforation

+ "! Web Dynpro application information BEGIN OF ty_app_details_web_dynpro, - "!

App ID

- "! App ID + "!

Web Dynpro Application

+ "! Web Dynpro application "! $required app_id TYPE c LENGTH 30, - "!

Config ID

- "! Config ID + "!

Application Configuration

+ "! Application configuration config_id TYPE c LENGTH 32, "!

Flavor ID

- "! Flavor ID + "! Flavor ID (deprecated) flavor_id TYPE c LENGTH 32, "!

Integration Mode

- "! Integration mode + "! Integration mode (deprecated) integration_mode TYPE ty_web_dynpro_integration_mode, "!

Compatibility Mode

- "! Compatibility mode + "! Compatibility mode (deprecated) compatibility_mode TYPE abap_bool, END OF ty_app_details_web_dynpro. TYPES: - "!

Web Client App Details

- "! Web Client specific app details + "!

Web Client Application Information

+ "! Web Client application information BEGIN OF ty_app_details_web_client, "!

Target ID

@@ -181,12 +179,13 @@ INTERFACE zif_aff_uiad_v1 END OF ty_app_details_web_client. TYPES: - "!

Url Template Parameter Details

- "! Url Template parameter details + "!

URL Template Parameter

+ "! URL template parameter BEGIN OF ty_url_template_parameter, "!

Name

"! Parameter name + "! $required name TYPE string, "!

Value

@@ -198,17 +197,17 @@ INTERFACE zif_aff_uiad_v1 ty_url_template_parameters TYPE STANDARD TABLE OF ty_url_template_parameter WITH DEFAULT KEY. TYPES: - "!

Url Template App Details

- "! Url Template specific app details + "!

URL Template Application Information

+ "! URL template application information BEGIN OF ty_app_details_url_template, - "!

Template ID

- "! Url Template ID + "!

URL Template

+ "! URL template "! $required template_id TYPE c LENGTH 32, - "!

Url Template Parameters Details

- "! Url Template parameters details + "!

URL Template Parameters

+ "! URL template parameters parameters TYPE ty_url_template_parameters, END OF ty_app_details_url_template. @@ -229,18 +228,19 @@ INTERFACE zif_aff_uiad_v1 plain TYPE ty_filter_value_type VALUE ' ', "!

Regex

- "! The filter value is used as a regex + "! The filter value is used as a regular expression regex TYPE ty_filter_value_type VALUE 'R', END OF co_filter_value_type. TYPES: - "!

Signature Item Details

- "! Signature item details + "!

Signature Item

+ "! Signature item BEGIN OF ty_signature_item, "!

Parameter Name

"! Parameter name + "! $required parameter_name TYPE string, "!

Rename Parameter To

@@ -279,57 +279,62 @@ INTERFACE zif_aff_uiad_v1 BEGIN OF co_additional_param_handling, "!

Allowed

- "! Additional parameters are allowed. + "! Additional parameters are allowed allowed TYPE ty_additional_param_handling VALUE 'A', "!

Ignored

- "! Additional parameters are ignored. + "! Additional parameters are ignored ignored TYPE ty_additional_param_handling VALUE 'I', "!

Not Allowed

- "! Additional parameters are not allowed. + "! Additional parameters are not allowed not_allowed TYPE ty_additional_param_handling VALUE 'N', END OF co_additional_param_handling. TYPES: - "!

Navigation Details

- "! Navigation details + "!

Navigation Information

+ "! Navigation information BEGIN OF ty_navigation, - "!

Target Mapping ID

- "! Target mapping ID + "!

Target Mapping

+ "! Target mapping + "! $required target_mapping_id TYPE c LENGTH 50, - "!

Target Url

- "! Target url used for 'Tile only' and 'Url app' apps + "!

Semantic Object

+ "! Semantic object of the target mapping + "! $required + semantic_object TYPE c LENGTH 30, + + "!

Action

+ "! Action of the target mapping + "! $required + action TYPE c LENGTH 60, + + "!

Target URL

+ "! Target URL used for apps of type 'Tile Only' and 'URL Application' target_url TYPE string, + "!

System Alias

+ "! System alias + system_alias TYPE c LENGTH 32, + "!

Desktop

"! Desktop is supported as device type - "! $required + "! $default 'X' desktop TYPE abap_bool, "!

Tablet

"! Tablet is supported as device type - "! $required tablet TYPE abap_bool, "!

Phone

"! Phone is supported as device type - "! $required phone TYPE abap_bool, - "!

Semantic Object

- "! Semantic object of the target mapping - semantic_object TYPE c LENGTH 30, - - "!

Action

- "! Action of the target mapping - action TYPE c LENGTH 60, - "!

Signature Items

- "! Signature describing the parameters of the target mapping + "! Signature parameters of the target mapping signature TYPE ty_signature_items, "!

Additional Parameter Handling

@@ -350,26 +355,26 @@ INTERFACE zif_aff_uiad_v1 BEGIN OF co_tile_type, "!

Static

- "! Static Tile + "! Static tile static TYPE ty_tile_type VALUE 'S', "!

Dynamic

- "! Dynamic Tile + "! Dynamic tile dynamic TYPE ty_tile_type VALUE 'D', "!

Custom

- "! Custom Tile + "! Custom tile custom TYPE ty_tile_type VALUE 'C', END OF co_tile_type. TYPES: "!

Dynamic Tile Details

- "! Dynamic tile specific details + "! Dynamic tile details BEGIN OF ty_dynamic_tile_details, - "!

Service Base Url

- "! Service base url + "!

Service Base URL

+ "! Service base URL service_base_url TYPE string, "!

Service Path

@@ -377,7 +382,7 @@ INTERFACE zif_aff_uiad_v1 service_path TYPE string, "!

Refresh Interval

- "! Timeout until the tile is refreshed + "! Duration until the tile is refreshed refresh_interval TYPE i, "!

Number Unit

@@ -387,12 +392,13 @@ INTERFACE zif_aff_uiad_v1 END OF ty_dynamic_tile_details. TYPES: - "!

Tile Parameter

- "! Tile parameter + "!

Tile Navigation Parameter

+ "! Tile navigation parameter BEGIN OF ty_tile_navigation_parameter, "!

Name

"! Parameter name + "! $required name TYPE string, "!

Value

@@ -405,7 +411,7 @@ INTERFACE zif_aff_uiad_v1 TYPES: "!

Standard Tile Details

- "! Standard tile specific details + "! Standard tile details BEGIN OF ty_standard_tile_details, "!

Reuse Text From App

@@ -414,6 +420,7 @@ INTERFACE zif_aff_uiad_v1 "!

Title

"! Tile title + "! $required title TYPE c LENGTH 255, "!

Subtitle

@@ -433,11 +440,11 @@ INTERFACE zif_aff_uiad_v1 icon TYPE string, "!

Dynamic Tile Details

- "! Dynamic tile specific details + "! Dynamic tile details dynamic TYPE ty_dynamic_tile_details, "!

Tile Navigation Parameters

- "! Tile navigation parameters of the tile intent + "! Tile navigation parameters tile_navigation_parameters TYPE ty_tile_navigation_parameters, END OF ty_standard_tile_details. @@ -449,6 +456,7 @@ INTERFACE zif_aff_uiad_v1 "!

Name

"! Property name + "! $required name TYPE c LENGTH 100, "!

Value

@@ -456,7 +464,7 @@ INTERFACE zif_aff_uiad_v1 value TYPE string, "!

Translatable

- "! Whether the property is translatable + "! Property is translatable translatable TYPE abap_bool, END OF ty_chip_bag_property, @@ -464,16 +472,17 @@ INTERFACE zif_aff_uiad_v1 ty_chip_bag_properties TYPE STANDARD TABLE OF ty_chip_bag_property WITH DEFAULT KEY. TYPES: - "!

Bag

- "! CHIP bag + "!

Property Bag

+ "! Property bag BEGIN OF ty_chip_bag, - "!

ID

+ "!

Bag ID

"! Bag ID + "! $required id TYPE c LENGTH 100, "!

Properties

- "! CHIP bag properties + "! Properties properties TYPE ty_chip_bag_properties, END OF ty_chip_bag, @@ -482,19 +491,19 @@ INTERFACE zif_aff_uiad_v1 TYPES: "!

Custom Tile Details

- "! Custom tile specific details + "! Custom tile details BEGIN OF ty_custom_tile_details, - "!

Base CHIP ID

- "! Base CHIP ID + "!

Base CHIP

+ "! Base CHIP base_chip_id TYPE c LENGTH 255, "!

Configuration

"! Configuration string of the CHIP configuration TYPE string, - "!

Bags

- "! CHIP bags + "!

Property Bags

+ "! Property bags bags TYPE ty_chip_bags, END OF ty_custom_tile_details. @@ -509,25 +518,25 @@ INTERFACE zif_aff_uiad_v1 "! $required id TYPE c LENGTH 50, + "!

Tile Type

+ "! Tile type + "! $required + tile_type TYPE ty_tile_type, + "!

Is Default Tile

- "! Whether the tile is chosen by default + "! Tile is chosen by default is_default TYPE abap_bool, "!

Is Legacy Tile

- "! Whether the tile is stored as legacy tile + "! Tile is stored as legacy tile is_legacy TYPE abap_bool, - "!

Tile Type

- "! Tile type - "! $required - tile_type TYPE ty_tile_type, - "!

Standard Details

- "! Standard tile specific details + "! Standard tile details standard TYPE ty_standard_tile_details, "!

Custom Details

- "! Custom tile specific details + "! Custom tile details custom TYPE ty_custom_tile_details, END OF ty_tile, @@ -536,22 +545,22 @@ INTERFACE zif_aff_uiad_v1 TYPES: "!

Lifecycle

- "! Lifecycle state of the app + "! Lifecycle state BEGIN OF ty_lifecycle, "!

Deprecated

- "! Whether the app is deprecated + "! Application is deprecated deprecated TYPE abap_bool, "!

Successor

- "! LADI ID of the successor app + "! LADI of the successor application successor TYPE c LENGTH 32, END OF ty_lifecycle. TYPES: "!

LADI

- "! Launchpad app descriptor item + "! Launchpad application descriptor item (LADI) BEGIN OF ty_main, "!

Format Version

@@ -569,34 +578,34 @@ INTERFACE zif_aff_uiad_v1 "! $required general_information TYPE ty_general_information, - "!

UI5 App Details

- "! UI5 specific app details + "!

SAPUI5 Application Information

+ "! SAPUI5 application information ui5_app_details TYPE ty_app_details_ui5, - "!

Web Dynpro App Details

- "! Web Dynpro specific app details + "!

Web Dynpro Application Information

+ "! Web Dynpro application information web_dynpro_app_details TYPE ty_app_details_web_dynpro, - "!

Web Client App Details

- "! Web Client specific app details + "!

Web Client Application Information

+ "! Web Client application information web_client_app_details TYPE ty_app_details_web_client, - "!

Url Template App Details

- "! Url Template specific app details + "!

URL Template Application Information

+ "! URL Template application information url_template_app_details TYPE ty_app_details_url_template, - "!

Navigation Details

- "! Navigation details + "!

Navigation Information

+ "! Navigation information "! $required navigation TYPE ty_navigation, "!

Tiles

- "! Tiles related to the LADI + "! Tiles "! $required tiles TYPE ty_tiles, "!

Lifecycle

- "! Lifecycle state of the app + "! Lifecycle state lifecycle TYPE ty_lifecycle, END OF ty_main. diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index c93fa1124..dc866deca 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -3,7 +3,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/uiad/uiad-v1.json", "title": "LADI", - "description": "Launchpad app descriptor item", + "description": "Launchpad application descriptor item (LADI)", "type": "object", "properties": { "formatVersion": { @@ -62,44 +62,9 @@ "description": "General information", "type": "object", "properties": { - "information": { - "title": "Information", - "description": "LADI information text", - "type": "string", - "maxLength": 255 - }, - "catalogId": { - "title": "Catalog ID", - "description": "Catalog ID", - "type": "string", - "maxLength": 40 - }, - "transaction": { - "title": "Transaction", - "description": "Transaction", - "type": "string", - "maxLength": 20 - }, - "fioriId": { - "title": "Fiori ID", - "description": "Fiori ID", - "type": "string", - "maxLength": 20 - }, - "supportComponent": { - "title": "Support Component", - "description": "Support component", - "type": "string", - "maxLength": 24 - }, - "suppressTiles": { - "title": "Suppress Tiles", - "description": "Suppress tiles", - "type": "boolean" - }, "appType": { - "title": "App Type", - "description": "LADI app type", + "title": "Application Type", + "description": "Application type", "type": "string", "enum": [ "transaction", @@ -115,43 +80,74 @@ "Transaction", "Web Dynpro Application", "Web Client UI Application", - "UI5", - "SAPUI5 Fiori App on SAP BTP (Deprecated)", - "URL App", + "SAPUI5 Fiori Application", + "SAPUI5 Fiori Application on SAP BTP (Deprecated)", + "URL Application", "Tile Only", - "Url Template" + "URL Template" ], "enumDescriptions": [ "Transaction", "Web Dynpro application", "Web Client UI application", - "SAPUI5 Fiori app", - "SAPUI5 Fiori app on SAP BTP (Deprecated)", - "URL app", + "SAPUI5 Fiori application", + "SAPUI5 Fiori application on SAP BTP (deprecated)", + "URL application", "Tile only", - "Url Template" - ] + "URL template" + ], + "default": "ui5" }, - "systemAlias": { - "title": "System Alias", - "description": "System alias", + "catalogId": { + "title": "Technical Catalog", + "description": "Technical catalog", "type": "string", - "maxLength": 32 + "maxLength": 40 + }, + "fioriId": { + "title": "SAP Fiori ID", + "description": "SAP Fiori ID", + "type": "string", + "maxLength": 20 + }, + "transaction": { + "title": "Transaction Code", + "description": "Transaction code", + "type": "string", + "maxLength": 20 + }, + "information": { + "title": "Target Mapping Information", + "description": "Target mapping information", + "type": "string", + "maxLength": 255 + }, + "supportComponent": { + "title": "Application Component", + "description": "Application component", + "type": "string", + "maxLength": 24 + }, + "suppressTiles": { + "title": "Suppress Tiles", + "description": "Suppress tiles", + "type": "boolean" } }, "additionalProperties": false, "required": [ - "appType" + "appType", + "catalogId" ] }, "ui5AppDetails": { - "title": "UI5 App Details", - "description": "UI5 specific app details", + "title": "SAPUI5 Application Information", + "description": "SAPUI5 application information", "type": "object", "properties": { "appId": { - "title": "App ID", - "description": "SAP UI5 component ID", + "title": "SAPUI5 Component", + "description": "SAPUI5 Component", "type": "string", "maxLength": 70 }, @@ -167,31 +163,31 @@ ] }, "webDynproAppDetails": { - "title": "Web Dynpro App Details", - "description": "Web Dynpro specific app details", + "title": "Web Dynpro Application Information", + "description": "Web Dynpro application information", "type": "object", "properties": { "appId": { - "title": "App ID", - "description": "App ID", + "title": "Web Dynpro Application", + "description": "Web Dynpro application", "type": "string", "maxLength": 30 }, "configId": { - "title": "Config ID", - "description": "Config ID", + "title": "Application Configuration", + "description": "Application configuration", "type": "string", "maxLength": 32 }, "flavorId": { "title": "Flavor ID", - "description": "Flavor ID", + "description": "Flavor ID (deprecated)", "type": "string", "maxLength": 32 }, "integrationMode": { "title": "Integration Mode", - "description": "Integration mode", + "description": "Integration mode (deprecated)", "type": "string", "enum": [ "systemDefault", @@ -212,7 +208,7 @@ }, "compatibilityMode": { "title": "Compatibility Mode", - "description": "Compatibility mode", + "description": "Compatibility mode (deprecated)", "type": "boolean" } }, @@ -222,8 +218,8 @@ ] }, "webClientAppDetails": { - "title": "Web Client App Details", - "description": "Web Client specific app details", + "title": "Web Client Application Information", + "description": "Web Client application information", "type": "object", "properties": { "targetId": { @@ -239,23 +235,23 @@ ] }, "urlTemplateAppDetails": { - "title": "Url Template App Details", - "description": "Url Template specific app details", + "title": "URL Template Application Information", + "description": "URL Template application information", "type": "object", "properties": { "templateId": { - "title": "Template ID", - "description": "Url Template ID", + "title": "URL Template", + "description": "URL template", "type": "string", "maxLength": 32 }, "parameters": { - "title": "Url Template Parameters Details", - "description": "Url Template parameters details", + "title": "URL Template Parameters", + "description": "URL template parameters", "type": "array", "items": { - "title": "Url Template Parameter Details", - "description": "Url Template parameter details", + "title": "URL Template Parameter", + "description": "URL template parameter", "type": "object", "properties": { "name": { @@ -269,7 +265,10 @@ "type": "string" } }, - "additionalProperties": false + "additionalProperties": false, + "required": [ + "name" + ] } } }, @@ -279,25 +278,44 @@ ] }, "navigation": { - "title": "Navigation Details", - "description": "Navigation details", + "title": "Navigation Information", + "description": "Navigation information", "type": "object", "properties": { "targetMappingId": { - "title": "Target Mapping ID", - "description": "Target mapping ID", + "title": "Target Mapping", + "description": "Target mapping", "type": "string", "maxLength": 50 }, + "semanticObject": { + "title": "Semantic Object", + "description": "Semantic object of the target mapping", + "type": "string", + "maxLength": 30 + }, + "action": { + "title": "Action", + "description": "Action of the target mapping", + "type": "string", + "maxLength": 60 + }, "targetUrl": { - "title": "Target Url", - "description": "Target url used for 'Tile only' and 'Url app' apps", + "title": "Target URL", + "description": "Target URL used for apps of type 'Tile Only' and 'URL Application'", "type": "string" }, + "systemAlias": { + "title": "System Alias", + "description": "System alias", + "type": "string", + "maxLength": 32 + }, "desktop": { "title": "Desktop", "description": "Desktop is supported as device type", - "type": "boolean" + "type": "boolean", + "default": true }, "tablet": { "title": "Tablet", @@ -309,25 +327,13 @@ "description": "Phone is supported as device type", "type": "boolean" }, - "semanticObject": { - "title": "Semantic Object", - "description": "Semantic object of the target mapping", - "type": "string", - "maxLength": 30 - }, - "action": { - "title": "Action", - "description": "Action of the target mapping", - "type": "string", - "maxLength": 60 - }, "signature": { "title": "Signature Items", - "description": "Signature describing the parameters of the target mapping", + "description": "Signature parameters of the target mapping", "type": "array", "items": { - "title": "Signature Item Details", - "description": "Signature item details", + "title": "Signature Item", + "description": "Signature item", "type": "object", "properties": { "parameterName": { @@ -364,7 +370,7 @@ ], "enumDescriptions": [ "The filter value is used as is", - "The filter value is used as a regex" + "The filter value is used as a regular expression" ], "default": "plain" }, @@ -374,7 +380,10 @@ "type": "boolean" } }, - "additionalProperties": false + "additionalProperties": false, + "required": [ + "parameterName" + ] } }, "additionalParameterHandling": { @@ -392,23 +401,23 @@ "Not Allowed" ], "enumDescriptions": [ - "Additional parameters are allowed.", - "Additional parameters are ignored.", - "Additional parameters are not allowed." + "Additional parameters are allowed", + "Additional parameters are ignored", + "Additional parameters are not allowed" ], "default": "allowed" } }, "additionalProperties": false, "required": [ - "desktop", - "tablet", - "phone" + "targetMappingId", + "semanticObject", + "action" ] }, "tiles": { "title": "Tiles", - "description": "Tiles related to the LADI", + "description": "Tiles", "type": "array", "items": { "title": "Tile Details", @@ -421,16 +430,6 @@ "type": "string", "maxLength": 50 }, - "isDefault": { - "title": "Is Default Tile", - "description": "Whether the tile is chosen by default", - "type": "boolean" - }, - "isLegacy": { - "title": "Is Legacy Tile", - "description": "Whether the tile is stored as legacy tile", - "type": "boolean" - }, "tileType": { "title": "Tile Type", "description": "Tile type", @@ -446,15 +445,25 @@ "Custom" ], "enumDescriptions": [ - "Static Tile", - "Dynamic Tile", - "Custom Tile" + "Static tile", + "Dynamic tile", + "Custom tile" ], "default": "static" }, + "isDefault": { + "title": "Is Default Tile", + "description": "Tile is chosen by default", + "type": "boolean" + }, + "isLegacy": { + "title": "Is Legacy Tile", + "description": "Tile is stored as legacy tile", + "type": "boolean" + }, "standard": { "title": "Standard Details", - "description": "Standard tile specific details", + "description": "Standard tile details", "type": "object", "properties": { "reuseTextFromApp": { @@ -493,12 +502,12 @@ }, "dynamic": { "title": "Dynamic Tile Details", - "description": "Dynamic tile specific details", + "description": "Dynamic tile details", "type": "object", "properties": { "serviceBaseUrl": { - "title": "Service Base Url", - "description": "Service base url", + "title": "Service Base URL", + "description": "Service base URL", "type": "string" }, "servicePath": { @@ -508,7 +517,7 @@ }, "refreshInterval": { "title": "Refresh Interval", - "description": "Timeout until the tile is refreshed", + "description": "Duration until the tile is refreshed", "type": "integer", "minimum": -2147483648, "maximum": 2147483647 @@ -523,11 +532,11 @@ }, "tileNavigationParameters": { "title": "Tile Navigation Parameters", - "description": "Tile navigation parameters of the tile intent", + "description": "Tile navigation parameters", "type": "array", "items": { - "title": "Tile Parameter", - "description": "Tile parameter", + "title": "Tile Navigation Parameter", + "description": "Tile navigation parameter", "type": "object", "properties": { "name": { @@ -541,20 +550,26 @@ "type": "string" } }, - "additionalProperties": false + "additionalProperties": false, + "required": [ + "name" + ] } } }, - "additionalProperties": false + "additionalProperties": false, + "required": [ + "title" + ] }, "custom": { "title": "Custom Details", - "description": "Custom tile specific details", + "description": "Custom tile details", "type": "object", "properties": { "baseChipId": { - "title": "Base CHIP ID", - "description": "Base CHIP ID", + "title": "Base CHIP", + "description": "Base CHIP", "type": "string", "maxLength": 255 }, @@ -564,23 +579,23 @@ "type": "string" }, "bags": { - "title": "Bags", - "description": "CHIP bags", + "title": "Property Bags", + "description": "Property bags", "type": "array", "items": { - "title": "Bag", - "description": "CHIP bag", + "title": "Property Bag", + "description": "Property bag", "type": "object", "properties": { "id": { - "title": "ID", + "title": "Bag ID", "description": "Bag ID", "type": "string", "maxLength": 100 }, "properties": { "title": "Properties", - "description": "CHIP bag properties", + "description": "Properties", "type": "array", "items": { "title": "CHIP Bag Property", @@ -600,15 +615,21 @@ }, "translatable": { "title": "Translatable", - "description": "Whether the property is translatable", + "description": "Property is translatable", "type": "boolean" } }, - "additionalProperties": false + "additionalProperties": false, + "required": [ + "name" + ] } } }, - "additionalProperties": false + "additionalProperties": false, + "required": [ + "id" + ] } } }, @@ -624,17 +645,17 @@ }, "lifecycle": { "title": "Lifecycle", - "description": "Lifecycle state of the app", + "description": "Lifecycle state", "type": "object", "properties": { "deprecated": { "title": "Deprecated", - "description": "Whether the app is deprecated", + "description": "Application is deprecated", "type": "boolean" }, "successor": { "title": "Successor", - "description": "LADI ID of the successor app", + "description": "LADI of the successor application", "type": "string", "maxLength": 32 } From 983a52c40896cb20f0041de140c213ddfbd99d39 Mon Sep 17 00:00:00 2001 From: Viktoria Freidel Date: Mon, 6 May 2024 17:03:38 +0200 Subject: [PATCH 19/27] Update AFF Example filename UIAD --- .../{z_ui5_sample_app.uiad.json => z_aff_example_uiad.uiad.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename file-formats/uiad/examples/{z_ui5_sample_app.uiad.json => z_aff_example_uiad.uiad.json} (100%) diff --git a/file-formats/uiad/examples/z_ui5_sample_app.uiad.json b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json similarity index 100% rename from file-formats/uiad/examples/z_ui5_sample_app.uiad.json rename to file-formats/uiad/examples/z_aff_example_uiad.uiad.json From c97e47f33deb6846b5f4bf3ea882f4e12996ca86 Mon Sep 17 00:00:00 2001 From: Viktoria Freidel Date: Mon, 13 May 2024 18:58:03 +0200 Subject: [PATCH 20/27] Update UIAD titles, descripions and remove default --- .../examples/z_aff_example_uiad.uiad.json | 1 + .../uiad/type/zif_aff_uiad_v1.intf.abap | 39 +++++++++---------- file-formats/uiad/uiad-v1.json | 37 +++++++++--------- 3 files changed, 38 insertions(+), 39 deletions(-) diff --git a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json index 54c3702e6..07d6d321e 100644 --- a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json +++ b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json @@ -18,6 +18,7 @@ "targetMappingId": "Z_AFF_EXAMPLE_TM", "semanticObject": "NavSample", "action": "display", + "desktop": true, "tablet": true, "phone": true, "signature": [ diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 56b1bdccc..ef5eaec92 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -88,8 +88,8 @@ INTERFACE zif_aff_uiad_v1 "! Target mapping information information TYPE c LENGTH 255, - "!

Application Component

- "! Application component + "!

Application Component (ACH)

+ "! Application component (ACH) support_component TYPE c LENGTH 24, "!

Suppress Tiles

@@ -103,8 +103,8 @@ INTERFACE zif_aff_uiad_v1 "! SAPUI5 Fiori application information BEGIN OF ty_app_details_ui5, - "!

SAPUI5 Component

- "! SAPUI5 Component + "!

SAPUI5 Component ID

+ "! SAPUI5 Component ID "! $required app_id TYPE c LENGTH 70, @@ -212,14 +212,14 @@ INTERFACE zif_aff_uiad_v1 END OF ty_app_details_url_template. - "!

Filter Value Type

+ "!

Filter Type

"! Type of the filter value "! $values {@link zif_aff_uiad_v1.data:co_filter_value_type} "! $default {@link zif_aff_uiad_v1.data:co_filter_value_type.plain} TYPES ty_filter_value_type TYPE c LENGTH 1. CONSTANTS: - "!

Filter Value Type

+ "!

Filter Type

"! Type of the filter value BEGIN OF co_filter_value_type, @@ -234,8 +234,8 @@ INTERFACE zif_aff_uiad_v1 END OF co_filter_value_type. TYPES: - "!

Signature Item

- "! Signature item + "!

Navigation Parameter

+ "! Navigation parameter BEGIN OF ty_signature_item, "!

Parameter Name

@@ -243,8 +243,8 @@ INTERFACE zif_aff_uiad_v1 "! $required parameter_name TYPE string, - "!

Rename Parameter To

- "! Rename parameter to + "!

Parameter in Target Application

+ "! Parameter in target application rename_parameter_to TYPE string, "!

Default Value

@@ -255,8 +255,8 @@ INTERFACE zif_aff_uiad_v1 "! Filter value filter_value TYPE string, - "!

Filter Value Type

- "! Filter value type + "!

Filter Type

+ "! Filter type filter_value_type TYPE ty_filter_value_type, "!

Required

@@ -297,8 +297,8 @@ INTERFACE zif_aff_uiad_v1 "! Navigation information BEGIN OF ty_navigation, - "!

Target Mapping

- "! Target mapping + "!

Target Mapping ID

+ "! Target mapping ID "! $required target_mapping_id TYPE c LENGTH 50, @@ -322,7 +322,6 @@ INTERFACE zif_aff_uiad_v1 "!

Desktop

"! Desktop is supported as device type - "! $default 'X' desktop TYPE abap_bool, "!

Tablet

@@ -333,8 +332,8 @@ INTERFACE zif_aff_uiad_v1 "! Phone is supported as device type phone TYPE abap_bool, - "!

Signature Items

- "! Signature parameters of the target mapping + "!

Navigation Parameters

+ "! Navigation parameters of the target mapping signature TYPE ty_signature_items, "!

Additional Parameter Handling

@@ -373,8 +372,8 @@ INTERFACE zif_aff_uiad_v1 "! Dynamic tile details BEGIN OF ty_dynamic_tile_details, - "!

Service Base URL

- "! Service base URL + "!

Service URL

+ "! Service URL service_base_url TYPE string, "!

Service Path

@@ -414,7 +413,7 @@ INTERFACE zif_aff_uiad_v1 "! Standard tile details BEGIN OF ty_standard_tile_details, - "!

Reuse Text From App

+ "!

Reuse Text From Application

"! Reuse text defined as part of the app reuse_text_from_app TYPE abap_bool, diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index dc866deca..2a59e1111 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -123,8 +123,8 @@ "maxLength": 255 }, "supportComponent": { - "title": "Application Component", - "description": "Application component", + "title": "Application Component (ACH)", + "description": "Application component (ACH)", "type": "string", "maxLength": 24 }, @@ -146,8 +146,8 @@ "type": "object", "properties": { "appId": { - "title": "SAPUI5 Component", - "description": "SAPUI5 Component", + "title": "SAPUI5 Component ID", + "description": "SAPUI5 Component ID", "type": "string", "maxLength": 70 }, @@ -283,8 +283,8 @@ "type": "object", "properties": { "targetMappingId": { - "title": "Target Mapping", - "description": "Target mapping", + "title": "Target Mapping ID", + "description": "Target mapping ID", "type": "string", "maxLength": 50 }, @@ -314,8 +314,7 @@ "desktop": { "title": "Desktop", "description": "Desktop is supported as device type", - "type": "boolean", - "default": true + "type": "boolean" }, "tablet": { "title": "Tablet", @@ -328,12 +327,12 @@ "type": "boolean" }, "signature": { - "title": "Signature Items", - "description": "Signature parameters of the target mapping", + "title": "Navigation Parameters", + "description": "Navigation parameters of the target mapping", "type": "array", "items": { - "title": "Signature Item", - "description": "Signature item", + "title": "Navigation Parameter", + "description": "Navigation parameter", "type": "object", "properties": { "parameterName": { @@ -342,8 +341,8 @@ "type": "string" }, "renameParameterTo": { - "title": "Rename Parameter To", - "description": "Rename parameter to", + "title": "Parameter in Target Application", + "description": "Parameter in target application", "type": "string" }, "defaultValue": { @@ -357,8 +356,8 @@ "type": "string" }, "filterValueType": { - "title": "Filter Value Type", - "description": "Filter value type", + "title": "Filter Type", + "description": "Filter type", "type": "string", "enum": [ "plain", @@ -467,7 +466,7 @@ "type": "object", "properties": { "reuseTextFromApp": { - "title": "Reuse Text From App", + "title": "Reuse Text From Application", "description": "Reuse text defined as part of the app", "type": "boolean" }, @@ -506,8 +505,8 @@ "type": "object", "properties": { "serviceBaseUrl": { - "title": "Service Base URL", - "description": "Service base URL", + "title": "Service URL", + "description": "Service URL", "type": "string" }, "servicePath": { From c364211ae8e150ce57ca0b2d5553a0071ae96551 Mon Sep 17 00:00:00 2001 From: Viktoria Freidel Date: Mon, 10 Jun 2024 10:22:27 +0200 Subject: [PATCH 21/27] Rename field definition for navigation parameters --- .../examples/z_aff_example_uiad.uiad.json | 2 +- .../uiad/type/zif_aff_uiad_v1.intf.abap | 30 +++++++++---------- file-formats/uiad/uiad-v1.json | 6 ++-- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json index 07d6d321e..faeeb7099 100644 --- a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json +++ b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json @@ -21,7 +21,7 @@ "desktop": true, "tablet": true, "phone": true, - "signature": [ + "parameters": [ { "parameterName": "tmParamName", "defaultValue": "Hello World!" diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index ef5eaec92..df9599dc3 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -214,38 +214,38 @@ INTERFACE zif_aff_uiad_v1 "!

Filter Type

"! Type of the filter value - "! $values {@link zif_aff_uiad_v1.data:co_filter_value_type} - "! $default {@link zif_aff_uiad_v1.data:co_filter_value_type.plain} - TYPES ty_filter_value_type TYPE c LENGTH 1. + "! $values {@link zif_aff_uiad_v1.data:co_filter_type} + "! $default {@link zif_aff_uiad_v1.data:co_filter_type.plain} + TYPES ty_filter_type TYPE c LENGTH 1. CONSTANTS: "!

Filter Type

"! Type of the filter value - BEGIN OF co_filter_value_type, + BEGIN OF co_filter_type, "!

Plain

"! The filter value is used as is - plain TYPE ty_filter_value_type VALUE ' ', + plain TYPE ty_filter_type VALUE ' ', "!

Regex

"! The filter value is used as a regular expression - regex TYPE ty_filter_value_type VALUE 'R', + regex TYPE ty_filter_type VALUE 'R', - END OF co_filter_value_type. + END OF co_filter_type. TYPES: "!

Navigation Parameter

"! Navigation parameter - BEGIN OF ty_signature_item, + BEGIN OF ty_parameter_item, "!

Parameter Name

"! Parameter name "! $required - parameter_name TYPE string, + name TYPE string, "!

Parameter in Target Application

"! Parameter in target application - rename_parameter_to TYPE string, + rename_to TYPE string, "!

Default Value

"! Default value @@ -257,15 +257,15 @@ INTERFACE zif_aff_uiad_v1 "!

Filter Type

"! Filter type - filter_value_type TYPE ty_filter_value_type, + filter_type TYPE ty_filter_type, "!

Required

"! Whether the parameter is required required TYPE abap_bool, - END OF ty_signature_item, + END OF ty_parameter_item, - ty_signature_items TYPE STANDARD TABLE OF ty_signature_item WITH DEFAULT KEY. + ty_parameter_items TYPE STANDARD TABLE OF ty_parameter_item WITH DEFAULT KEY. "!

Additional Parameter Handling

"! How additional parameters are handled @@ -318,7 +318,7 @@ INTERFACE zif_aff_uiad_v1 "!

System Alias

"! System alias - system_alias TYPE c LENGTH 32, + system_alias TYPE c LENGTH 32, "!

Desktop

"! Desktop is supported as device type @@ -334,7 +334,7 @@ INTERFACE zif_aff_uiad_v1 "!

Navigation Parameters

"! Navigation parameters of the target mapping - signature TYPE ty_signature_items, + parameters TYPE ty_parameter_items, "!

Additional Parameter Handling

"! How additional parameters are handled diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index 2a59e1111..00c0742a9 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -326,7 +326,7 @@ "description": "Phone is supported as device type", "type": "boolean" }, - "signature": { + "parameters": { "title": "Navigation Parameters", "description": "Navigation parameters of the target mapping", "type": "array", @@ -340,7 +340,7 @@ "description": "Parameter name", "type": "string" }, - "renameParameterTo": { + "renameTo": { "title": "Parameter in Target Application", "description": "Parameter in target application", "type": "string" @@ -355,7 +355,7 @@ "description": "Filter value", "type": "string" }, - "filterValueType": { + "filterType": { "title": "Filter Type", "description": "Filter type", "type": "string", From c35696a72b4125a2d83784139f8e9c355f6cbed2 Mon Sep 17 00:00:00 2001 From: ViktoriaFreidel <126160451+ViktoriaFreidel@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:23:04 +0200 Subject: [PATCH 22/27] Update file-formats/uiad/type/zif_aff_uiad_v1.intf.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index df9599dc3..a03f73261 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -241,7 +241,7 @@ INTERFACE zif_aff_uiad_v1 "!

Parameter Name

"! Parameter name "! $required - name TYPE string, + name TYPE string, "!

Parameter in Target Application

"! Parameter in target application From e15be42d3ccc20d77f13bc1f85ea38a88bd9bc84 Mon Sep 17 00:00:00 2001 From: ViktoriaFreidel <126160451+ViktoriaFreidel@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:25:25 +0200 Subject: [PATCH 23/27] Update file-formats/uiad/type/zif_aff_uiad_v1.intf.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index a03f73261..e23811829 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -245,7 +245,7 @@ INTERFACE zif_aff_uiad_v1 "!

Parameter in Target Application

"! Parameter in target application - rename_to TYPE string, + rename_to TYPE string, "!

Default Value

"! Default value From 5cce477d441cc65ad11f730c7259bc6c0dc8db04 Mon Sep 17 00:00:00 2001 From: ViktoriaFreidel <126160451+ViktoriaFreidel@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:26:36 +0200 Subject: [PATCH 24/27] Update file-formats/uiad/type/zif_aff_uiad_v1.intf.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index e23811829..04525fd10 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -249,7 +249,7 @@ INTERFACE zif_aff_uiad_v1 "!

Default Value

"! Default value - default_value TYPE string, + default_value TYPE string, "!

Filter Value

"! Filter value From 0d813d72e114fecd19e77cccb7028f764e7c9242 Mon Sep 17 00:00:00 2001 From: ViktoriaFreidel <126160451+ViktoriaFreidel@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:27:33 +0200 Subject: [PATCH 25/27] Update file-formats/uiad/type/zif_aff_uiad_v1.intf.abap AbapLint Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index 04525fd10..f9598f973 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -253,7 +253,7 @@ INTERFACE zif_aff_uiad_v1 "!

Filter Value

"! Filter value - filter_value TYPE string, + filter_value TYPE string, "!

Filter Type

"! Filter type From fa23e7fcea4703b51b2a50963e85ad8770937e4b Mon Sep 17 00:00:00 2001 From: ViktoriaFreidel <126160451+ViktoriaFreidel@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:30:13 +0200 Subject: [PATCH 26/27] Update file-formats/uiad/type/zif_aff_uiad_v1.intf.abap abapLint Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- file-formats/uiad/type/zif_aff_uiad_v1.intf.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap index f9598f973..17ae86b4d 100644 --- a/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap +++ b/file-formats/uiad/type/zif_aff_uiad_v1.intf.abap @@ -261,7 +261,7 @@ INTERFACE zif_aff_uiad_v1 "!

Required

"! Whether the parameter is required - required TYPE abap_bool, + required TYPE abap_bool, END OF ty_parameter_item, From a439a5a9fb80a5e1722bf03aec86db267770ed68 Mon Sep 17 00:00:00 2001 From: Viktoria Freidel Date: Mon, 10 Jun 2024 10:55:22 +0200 Subject: [PATCH 27/27] Correct name defination after rename --- file-formats/uiad/examples/z_aff_example_uiad.uiad.json | 2 +- file-formats/uiad/uiad-v1.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json index faeeb7099..94e8086bb 100644 --- a/file-formats/uiad/examples/z_aff_example_uiad.uiad.json +++ b/file-formats/uiad/examples/z_aff_example_uiad.uiad.json @@ -23,7 +23,7 @@ "phone": true, "parameters": [ { - "parameterName": "tmParamName", + "name": "tmParamName", "defaultValue": "Hello World!" } ] diff --git a/file-formats/uiad/uiad-v1.json b/file-formats/uiad/uiad-v1.json index 00c0742a9..11c028cd0 100644 --- a/file-formats/uiad/uiad-v1.json +++ b/file-formats/uiad/uiad-v1.json @@ -335,7 +335,7 @@ "description": "Navigation parameter", "type": "object", "properties": { - "parameterName": { + "name": { "title": "Parameter Name", "description": "Parameter name", "type": "string" @@ -381,7 +381,7 @@ }, "additionalProperties": false, "required": [ - "parameterName" + "name" ] } },