1.5M ratings
277k ratings

See, that’s what the app is perfect for.

Sounds perfect Wahhhh, I don’t wanna
Attention! This blog is no longer updated. For alternative information resources, please visit our community page — http://openui5.org/community/

First Preview of OpenUI5 1.30

About six weeks after each quarterly stable release we usually give an update as to what’s going on in development for the next release, so now it’s time to talk about 1.30. Today we’re also offering the first beta/preview version of 1.30 for downloading or trying online, so you can test the new features and give us your feedback (or report compatibility issues).
Please clear your browser cache when something fails.

The main new features are:

Extensive new UI5 Tutorials and Best Practices, “SAPUI5 Walkthrough”

  • Starting from a simple Hello World app and going through MANY topics in 35 steps - just to name a few: Expression Binding, Mock Servers, Reuse Dialogs, Unit and Integration Tests, Routing and Navigation,…
  • The documentation can be found here
  • The resulting apps for each step can be run standalone (choose the respective step from this list) or in the “Explored” app
  • The Best Practice applications "Worklist" and "Master-Detail" provided in 1.28 are still being improved and have been temporarily moved out of the main UI5 repository (for dependency reasons). You can still look at the sources in the 1.28 branch, though: Master-Detail (split screen), Worklist (fullscreen). The good news: these apps now have their own actual documentation (which talks about “templates”, but just ignore that… that’s the next step after providing them as example apps; the template version of them is not yet available, though).
  • Further tutorials are being finalized right now and will also be part of the final 1.30 release (e.g. tutorials dealing with data binding and navigation/routing).

Various performance improvements

  • Asynchronous View loading loads View definitions… well, asynchronously. A loaded() promise is provided to do stuff once the View is loaded. Try it live in this Plunker example; the API is described here
  • Rendering performance of sap.ui.table.* controls has been improved (time reduced by 80%), see the respective change on GitHub.
  • We’ve also been working on reusing elements in aggregation bindings, which improves performance and avoids flickering in Lists/Tables. However, it’s not yet clear, whether this change can stay in as-is.

Support for the Islamic Calendar

  • When e.g. the current locale is “en_US” but the calendar type is set to “Islamic” (either globally or on a data binding type or in a date formatter), the date “May 6th, 2015” is formatted as: “Raj. 17, 1436 AH” - try it live on jsbin.
  • Alternatively, see the Calendar control that uses it automatically - try it live on jsbin.
  • The available Calendar types can be found in the API documentation.
  • This feature has also been downported to the 1.28 branch.

New control: sap.m.semantic.SemanticPage

  • SemanticPage is an enhanced sap.m.Page that provides support for content with semantic meaning (e.g. sap.m.semantic.AddAction, sap.m.semantic.EditAction, sap.m.semantic.SortAction etc.) that has predefined visualization properties and positioning in the page.
  • There are in fact three new controls: sap.m.semantic.MasterPage, sap.m.semantic.DetailPage, sap.m.semantic.FullscreenPage, which are all based on sap.m.semantic.SemanticPage.
    image

New control sap.m.QuickView

  • The aim of the QuickView control is to display content in the form of a business card. It uses the sap.m.ResponsivePopover control: the content occupies the entire screen when using a mobile phone, whereas a popover is displayed on other devices. image

New control sap.m.MessageStrip

  • MessageStrip is a simple control for showing messages as text with semantic color, an icon depending on the message type, and optionally a link (leading to additional information). image

Further new features include:

  • Expression binding: Arrays and In-Operator
  • ODataModel v2 - delta updates for two-way changes: By default these now send only the modified properties in a MERGE request.
  • ODataModel: The “change” event on bindings to be informed about updates is now public
  • For debugging purposes or compatibility checks an existing UI5 application can now easily be launched using a different UI5 version: the Ctrl-Alt-Shift-P popup and the “Debugging” panel in the Ctrl-Alt-Shift-S popup offer a list of existing public UI5 installations and the choice to point to a custom UI5 URL. During the next startup, UI5 will then be loaded from there - without modifying the application. Note that this will only work when the UI5 core is loaded “the standard way” - it probably won’t work for the Fiori launchpad and other cases of customized bootstraps.
  • Binding Fragment Names in XML Templating: Up to now, the name of a fragment that was to be included in an XML view in XML templating needed to be specified as a string constant. Starting with 1.30, the name can also be specified via binding. The documentation can be found here.
  • sap.m.TextArea - new “valueLiveUpdate” property: Starting with 1.30, the “value” property of sap.m.TextArea is not updated on every keystroke, but only when the user presses Enter or leaves the input. The change was necessary to fully support the standard UI5 data binding with formatters and types. If you still need an immediate update, you have two options: handle “liveChange” events or enable the boolean property “valueLiveUpdate”.
  • sap.m.OverflowToolbar version 2: For release 1.30, OverflowToolbar was enriched with a couple of new features, the most important being the ability to move more controls to its overflow area.
  • sap.m.Page: setBusy(true) now covers header and footer correctly, the “contentOnlyBusy” property has been added to leave them uncovered (as was previously the case, mistakenly), e.g. when the user is expected to keep typing text into a SearchField in the sub header while data is being updated.
  • sap.m.Page and sap.m.ScrollContainer: The method “scrollToElement” for scrolling to a specific child element has been added.
  • sap.m.MultiInput and sap.m.MultiComboBox: Support copy & paste from Microsoft Excel/Notepad.
  • sap.m.MessagePopover: New “markupDescription” property, which enables the usage of HTML markup as message content.
  • sap.m.Panel: The property “backgroundDesign” has been added.
  • sap.m.UploadCollection: Attributes have been added to display additional information about files, and multiple files from different folders can now be added to a list and uploaded using the “Ok” button.
  • sap.ui.layout.FixFlex: The “minFlexSize” property has been added.
  • sap.ui.table.TreeTable and v2.ODataTreeBinding now support sorting operations.
  • The locale data has been updated to CLDR version 26.
  • The component manifest.json (new in 1.28) has been extended a lot, e.g. with declarative model creation.
  • Screenreader support (ARIA) vastly improved (informal state: “pretty complete”) for the sap.m controls
  • The Developer Guide in the SDK now has a search field on top to filter the documentation pages by a term of interest

Noteworthy:

  • ODataModel operation mode “Auto” has been added in addition to “Client” (which was added in 1.28 to force loading ALL data to the client). The overall feature is still a work in progress.
  • The included jQuery unit testing library “QUnit” has been upgraded to version 1.16.0. If you have written qunit-based unit tests, please check them: you might need to adapt these.

 

We didn’t count the exact number of changes since the last stable release this time. But there are now about 7000 commits on the master branch since last October (when we moved to GitHub). So there’s a lot going on. :-)

 

Have fun!

The OpenUI5 Team

counter