docs

Glossary

List of terms used in OpenUI5.

Term Meaning Source/Comments Link
SAPUI5 ABAP repository Used to store SAPUI5 apps, components, and libraries; based on the Business Server Page \(BSP\) repository of the ABAP server. A SAPUI5 application stored in the ABAP repository can be deployed and executed in a browser directly. It is connected to the ABAP transport system. SAPUI5 only  
aggregation An **aggregation** is a special relation between two UI element types. It is used to define the parent-child relationship within the tree structure. The parent end of the aggregation has cardinality 0..1, while the child end may have 0..1 or 0..\*. The element's API offers convenient and consistent methods to deal with aggregations \(e.g. to get, set, or remove target elements\). Examples are table rows and cells, or the content of a table cell. SAPUI5/OpenUI5 [Essentials](/docs/04_Essentials/essentials-ec699e0.html)
association An **association** is a type of relation between two UI element types which is independent of the parent-child relationship within the tree structure. Directed outgoing associations to a target of cardinality 0..1 are supported. They represent a loose coupling only and are thus implemented by storing the target element instance's ID. The most prominent example is the association between a label and its field. SAPUI5/OpenUI5 [Essentials](/docs/04_Essentials/essentials-ec699e0.html)
ARIA *WAI-ARIA, the Accessible Rich Internet Applications Suite, defines a way to make Web content and Web applications more accessible to people with disabilities. It especially helps with dynamic content and advanced user interface controls developed with Ajax, HTML, JavaScript, and related technologies.* \(Quote from w3c.org\) `w3c.org` [W3C ARIA](https://www.w3.org/WAI/intro/aria)
asynchronous \(async\) processing In contrast to synchronous processing this processing mode does not keep the browser thread busy but does the processing in the background and continues with the next task. Code can be executed asynchronously and a callback function is triggered when a certain condition is met. Similarly, a file can be loaded asynchronously. Asynchronous processing is highly recommended for performance reasons and to not freeze the UI. SAPUI5/OpenUI5
asynchronous module definition \(AMD\) A mechanism for defining a module in a way that modules and their dependencies can be loaded asynchronously. `requirejs.org`
asynchronous action An asynchronous action is one that the backend can execute sometime after the users initially trigger it. The users should then be allowed to work on the UI without any interruption to their flow. SAP Fiori elements  
bootstrap To use the OpenUI5 features in your web page, you have to load and initialize – or "bootstrap" – the OpenUI5 runtime in your HTML page. SAPUI5/OpenUI5 [Bootstrapping: Loading and Initializing](/docs/04_Essentials/bootstrapping-loading-and-initializing-a04b0d1.html)
BPMN *A standard Business Process Model and Notation \(BPMN\) will provide businesses with the capability of understanding their internal business procedures in a graphical notation and will give organizations the ability to communicate these procedures in a standard manner. Furthermore, the graphical notation will facilitate the understanding of the performance collaborations and business transactions between the organizations.* `bpmn.org` [BPMN.org](http://www.bpmn.org)
\(application\) cache buster A cache buster allows the application to notify the browser to refresh the resources only when the application resources have been changed. Otherwise the resources can always be fetched from the browser's cache. The application cache buster is a special mechanism to extend this function to application resources SAPUI5/OpenUI5 [Cache Buster for OpenUI5](/docs/04_Essentials/cache-buster-for-openui5-91f0809.html) [Application Cache Buster](/docs/04_Essentials/application-cache-buster-ff7aced.html)
cache busting: single application resources Cache busting on the level of a single app, component, or library in the SAPUI5 ABAP repository SAPUI5 only  
cache busting; multiple application resources Cache busting on the level of multiple apps, components, or libraries in the SAPUI5 ABAP repository SAPUI5 only  
clickjacking Clickjacking, or UI redressing, tricks the user into triggering actions within an application by redirecting clicks. This is done, for example, by using an invisible iFrame which is positioned above a fake UI. When the user clicks on something on the fake UI, the content of the invisible iFrame handles the click. SAPUI5/OpenUI5 [Browser Security](/docs/05_Developing_Apps/browser-security-91f3b66.html)
composite control Composite controls are intended for reuse within control development and allow you to include existing controls in a complex control. SAPUI5/OpenUI5 [Standard Composite Controls](/docs/07_Developing_Controls/standard-composite-controls-c1512f6.html)
content density The devices used to run apps that are developed with SAPUI5 run on various different operating systems and have very different screen sizes. SAPUI5 contains different content densities for certain controls that allow your app to adapt to the device in question, allowing you to display larger controls for touch-enabled devices and a smaller, more compact design for devices that are operated by mouse. SAPUI5/OpenUI5 [Content Densities](/docs/04_Essentials/content-densities-e54f729.html)
control UI elements that can be used independently. From a developer's point of view, a **control** \(e.g. `Button`, `Label`, `TextField`, or `Table`\) is the most important artifact. It is an object which controls the appearance and user interaction of a rectangular screen region. It is a special kind of user interface element which can be used as the root of such a tree structure. In this way, it serves as an entry point, especially for rendering. Besides controls, there are also other **non-control elements**, which cannot be used as the root of such a tree structure, but only as a dependent part within it \(e.g. `TableRow`, `TableCell`\). SAPUI5/OpenUI5 [More About Controls](/docs/08_More_About_Controls/more-about-controls-3ec6808.html) [Samples](https://ui5.sap.com/explored.html) [API Reference](https://ui5.sap.com/#/api/since) [Essentials](/docs/04_Essentials/essentials-ec699e0.html)
controller An application unit containing the active part of the application. It is the logical interface between a model and a view, and corresponds to the model view controller \(MVC\) concept. SAPUI5/OpenUI5 [Controller](/docs/04_Essentials/controller-121b8e6.html)
Cross-Site Scripting \(XSS\) Cross-site scripting is about injecting script code into a web page, which is then executed in the context of the page. Therefore it can access any information which is currently displayed on the screen. Additionally, XSS attacks can access session information contained in cookies, or send new requests to the server within the current session, or even try to exploit browser vulnerabilities to get full access to the machine that the browser is running on. SAPUI5/OpenUI5 [Cross-Site Scripting](/docs/05_Developing_Apps/cross-site-scripting-91f0bd3.html)
data binding A technique that binds two data sources together in order to keep them in sync. All changes in one data source are automatically reflected in the other; the involved layers are the view and the model. SAPUI5/OpenUI5 [Data Binding](/docs/04_Essentials/data-binding-68b9644.html)
data type **Data types** are first-class entities in the meta model. This allows reuse of types across libraries and extensibility of the type system. The core library \(technically, this is the `sap.ui.core` library\) already defines a core set of types that can be used in other libraries. SAPUI5/OpenUI5 [Essentials](/docs/04_Essentials/essentials-ec699e0.html)
Demo Kit The Demo Kit is the OpenUI5 software development kit \(SDK\). The Demo Kit is your one-stop shop for all information about OpenUI5: documentation, API reference, samples, demo apps. SAPUI5/OpenUI5  
diagnostics A diagnostics window is available in OpenUI5 applications. To open it, use the following [shortcut](/docs/02_Read-Me-First/keyboard-shortcuts-for-openui5-tools-154844c.html): [Ctrl\] + [Shift\] + [Alt\] /[Option\][S\] SAPUI5/OpenUI5 [Diagnostics](/docs/04_Essentials/diagnostics-6ec18e8.html#loio6ec18e80b0ce47f290bc2645b0cc86e6)
distribution layer Contains the control libraries and theme libraries; also known as SAPUI5 distribution layer. SAPUI5 only  
Document Object Model \(DOM\) *The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page.* \(Quote from w3c.org\) `w3c.org` [W3C DOM](http://www.w3.org/DOM/)
element A \(UI\) **element** is the basic building block of our user interfaces; it is a reusable entity with properties, events, methods, and relations. The most important relations are aggregations to other UI elements, and in this way a tree structure of elements can be created. SAPUI5/OpenUI5 [Essentials](/docs/04_Essentials/essentials-ec699e0.html)
entity In an OData definition of a data model, an entity corresponds to a business object in an application. The data model also defines the association among the entity types. For example, for a sales order processing application, the data model can define sales order as an entity and sales order item as its child entity. In the application interface, this association allows the users to navigate from the sales order to the sales order item. SAP Fiori elements  
SAP Fiori launchpad SAP Fiori launchpad is a shell that hosts SAP Fiori apps, and provides the apps with services such as navigation, personalization, embedded support, and application configuration. SAP Fiori [http://help.sap.com/fiori](http://help.sap.com/fiori)
event An **event** has a name as well as any number of parameters. The element's API offers support to manage event subscriptions. SAPUI5/OpenUI5 [Essentials](/docs/04_Essentials/essentials-ec699e0.html)
JAWS Screen Reader *JAWS, Job Access With Speech, is the world's most popular screen reader, developed for computer users whose vision loss prevents them from seeing screen content or navigating with a mouse. JAWS provides speech and Braille output for the most popular computer applications on your PC.* Freedom Scientific [Freedom Scientific JAWS](http://www.freedomscientific.com/Products/Blindness/JAWS)
jQuery JavaScript library that is packaged with OpenUI5. *jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.* \(Quote from jquery.com\) `jquery.com` [jQuery Home Page](https://jquery.com/)
key annotations Key annotations are the most important annotations that defines the rendering or behavior of a control. For example: - `LineItem` annotation defines the column seen when the table is rendered. - `SelectionFields` annotation defines the filter fields that are by default visible when the application is launched. - `InsertRestrictions` annotation checks if *Create* action should be allowed for the table or not. SAP Fiori elements
layout management Layout Management refers to how the information in the object page is displayed on the UI. The SAPUI5 `ObjectPageLayout` controls the layout that enables the display of the business information \(for example, if the data should be displayed in a 2 column layout or a 3 column layout\). SAP Fiori elements allows some flexibility for the applications by allowing them to group the data in their own blocks \(individual subsection with no peer blocks\) or by making it part of a container that holds more than one block in the same row \(subsection with peers\). SAP Fiori elements  
library The top-level structural unit is called a **library**. Libraries are the main artifacts in the extensibility concept. They bundle a set of controls and related types and make them consumable by Web applications. There are predefined and standard libraries, like `sap.m`, with many commonly used controls. At the same time, it treats custom UI libraries as first-class citizens, making it easy for you to write and use your own controls alongside the predefined ones. SAPUI5/OpenUI5 [Essentials](/docs/04_Essentials/essentials-ec699e0.html)
main entity Main entity refers to the entry entity that holds the information displayed in the SAP Fiori elements template. For example, in a typical Manage Sales Order application, the `SalesOrder` is the main entity. SAP Fiori elements  
mock server A mock server is a mocking framework for HTTP and HTTPS that is used to simplify integration testing and to decouple development teams by allowing them to develop against a service that is incomplete or unstable. The mock server included with OpenUI5 mimics OData V2 back-end calls. Mock server functionality for OData V4 is included with CAP Node.js. SAPUI5/OpenUI5 [Mock Server](/docs/04_Essentials/mock-server-69d3cbd.html)
model Data provider for the application where the model instance is assigned to the UI and the controls are bound to the model. Various model types are available; the model type used depends on the data format available on the server side. SAPUI5/OpenUI5 [Models](/docs/04_Essentials/models-e1b6259.html)
MVC concept A UI programming model that separates the layout \(view\) from the content \(model\) and the behavior \(controller\). The MVC concept is used by the framework to model the architecture of the applications. SAPUI5/OpenUI5 [Model View Controller \(MVC\)](/docs/04_Essentials/model-view-controller-mvc-91f2334.html)
navigation entity Navigation entity refers to the other entities associated with the given entity set. The associated entity has more detailed information about the objects associated with the main object. For example, the `SalesOrder` entity might have `SalesOrderItems` entity as the navigation entity set. It can be a 1:n association \(1 `SalesOrder` can have n `SalesOrderItems` associated with it\), or a 1:1 association \(1 `SalesOrder` can have only 1 associated `PurchaseOrder`\). SAP Fiori elements  
notepad control A control that is defined on the fly without a library definition or running generation steps. SAPUI5/OpenUI5 [Developing Controls](/docs/07_Developing_Controls/developing-controls-8dcab00.html)
OData OData \(Open Data Protocol\) is a standard protocol that defines best practices for building and consuming an interface to backend systems over the web. SAP Fiori elements  
OData model A model implementation for the Open Data \(OData\) Web Protocol format. SAPUI5/OpenUI5 [OData V2 Model](/docs/04_Essentials/odata-v2-model-6c47b2b.html#loio6c47b2b39db9404582994070ec3d57a2) [OData V4 Model](/docs/04_Essentials/odata-v4-model-5de13cf.html)
OPA5 OPA5 is an API for OpenUI5 controls. It hides asynchronicity and eases access to OpenUI5 elements. This makes OPA especially helpful for testing user interactions, integration with OpenUI5, navigation, and data binding. SAPUI5/OpenUI5 [Integration Testing with One Page Acceptance Tests \(OPA5\)](/docs/04_Essentials/integration-testing-with-one-page-acceptance-tests-opa5-2696ab5.html)
property A **property** has a name and an associated data type. It has a well-defined default value expressed as a literal of that data type. Properties are accessible to application code via the element's API as getters and setters, but are also used by a control's renderer in a read-only way. SAPUI5/OpenUI5 [Essentials](/docs/04_Essentials/essentials-ec699e0.html)
SAPUI5 repository upload and download reports Alternative for the team repository provider, with similar functionality. SAPUI5 only  
right-to-left \(RTL\) text directionality *The `dir` attribute is used to set the base direction of text for display. It is essential for enabling HTML in right-to-left scripts such as Arabic, Hebrew, Syriac, and Thaana. Numerous different languages are written with these scripts, including Arabic, Hebrew, Pashto, Persian, Sindhi, Syriac, Dhivehi, Urdu, Yiddish, etc.* \(Quote from w3c.org\) `w3c.org` [HTML Text Directionality](http://www.w3.org/TR/html4/struct/dirlang.html)
resource model Used to bind texts of a control to language-dependent resource bundle properties. SAPUI5/OpenUI5 [Resource Model](/docs/04_Essentials/resource-model-91f122a.html#loio91f122a36f4d1014b6dd926db0e91070)
service A service is code that delivers one or more functionalities or capabilities on the backend system, such as, the retrieval of data or execution of a series of actions. The code can be reused for various purposes by different client applications. SAP Fiori elements  
single SAPUI5 repository The SAPUI5 ABAP repository consists of *n* single SAPUI5 repositories, each represented by an individual BSP application \(with specific characteristics\) in the BSP repository. SAPUI5 only  
SAP Fiori elements App developers can use SAP Fiori elements to create SAP Fiori applications based on OData services and annotations requiring no JavaScript UI coding. An app based on SAP Fiori elements uses predefined template views and controllers that are provided centrally, so no application-specific view instances are required. The SAPUI5 runtime interprets metadata and annotations of the underlying OData service and creates the corresponding views for the SAP Fiori app at startup. The predefined view templates and controllers ensure UI design consistency across similar apps. Additionally, the metadata-driven development model significantly reduces the amount of frontend code per app, so the developer can focus on the business logic. SAP Fiori elements comprise templates for "List Report", "Object Page", and "Overview Page". SAPUI5 only  
scalable vector graphics \(SVG\) *SVG is a markup language for describing two-dimensional graphics applications and images, and a set of related graphics script interfaces* \(Quote from w3c.org\) `w3c.org` [W3C SVG](https://www.w3.org/Graphics/SVG/)
synchronous \(sync\) processing Synchronous processing keeps the current browser thread until the task is finished. The UI is not updated and no other tasks can be done in parallel. Consider using asynchronous processing for loading files and executing long-running code. SAPUI5/OpenUI5
synchronous action A synchronous action is one that the backend executes immediately after the user triggers it. Until the execution is complete, the user is blocked from performing any other actions on the UI. SAP Fiori elements  
SAPUI5 ABAP text repository Part of the SAPUI5 ABAP repository; only to be used as a fallback mechanism if translation using properties files is not possible SAPUI5 only  
view An application unit containing the control definitions for the user interface layer in the application, or in other words: defines how the user interface looks like. SAPUI5/OpenUI5 [Views](/docs/04_Essentials/views-91f27e3.html)
wdi5 It is Webdriver.IO service, designed to run cross-platform end-to-end tests on a OpenUI5 applications, with selectors compatible to OPA5. SAPUI5/OpenUI5 [Testing](/docs/04_Essentials/testing-7cdee40.html)