Zum Inhalt springen
  • Von: Carsten Czarski
  • APEX Development
  • 23.02.2017

APEX 5.1: Kleine aber feine Neuerungen

Neben den „großen“ Funktionen wie das Interactive Grid und Oracle JET bringt Application Express 5.1 (APEX) viele weitere Neuerungen mit. Carsten Czarski gibt hier einen Überblick über eher unbekannte aber umso nützlichere Features.

Live Template Options

Bereits mit APEX 5.0 wurden die „Template Options“ eingeführt. Damit können Darstellungsvarianten eines Templates ein- oder ausgeschaltet werden. Sehr häufig wird das genutzt, um den Rahmen oder den Titel einer Region je nach Bedarf ein- oder auszuschalten. In der Praxis hat sich die Arbeit mit Template Options allerdings als etwas umständlich erwiesen: Nach der Änderung einer Template Option im Page Designer wechselt man zur Seitenansicht, um den Effekt zu prüfen. Ist man mit dem Ergebniss nicht zufrieden muss wieder in den Page Designer gewechselt werden. Application Express 5.1 bringt mit Live Template Options eine Verbesserung des Workflows: Ähnlich zum ThemeRoller wird ein Template Options Dialog auf der Live-Seitenansicht bereitgestellt. Änderungen werden sofort aktiv. Das macht die Arbeit mit Template Options um ein Vielfaches einfacher und effizienter.

Dynamische Theme Styles

Theme Styles als Darstellungsvarianten eines Themes wurden ebenfalls bereits mit der Version 5.0 eingeführt. Eine APEX-Anwendung verwendet ein Theme (das Universal Theme) und einen Theme Style, welcher das Aussehen und die Bedienung genauer bestimmt. In APEX 5.1 wird der Theme Style dynamisch und kann für einzelne Nutzer oder gar für einzelne APEX-Sessions gesetzt werden. Eine Anwendung kann für unterschiedliche Mandanten nun auch unterschiedlich aussehen: Dazu muss der Entwickler lediglich etwas PL/SQL-Code hinterlegen, der nach dem Login ausgeführt wird. Dieser Code setzt, abhängig vom aktuellen Mandanten, mit dem PL/SQL-Paket „APEX_THEME“ den Theme Style für die Session. Doch damit nicht genug: Der Entwickler kann Theme Styles als öffentlich markieren, so dass der Endbenutzer die Möglichkeit bekommt, den Theme Style per Customize-Dialog selbst zu wählen.

Warnung vor dem Verlassen der Seite

Insbesondere bei komplexen Dialogen oder Eingabemasken ist es lästig, wenn man als Endanwender versehentlich den Browser schließt, einen Link oder Bookmark erstellt, ohne die Änderungen vorher gespeichert zu haben. In 5.1 kann der Entwickler für jede Anwendungsseite festlegen, ob der Nutzer gewarnt werden soll, bevor er die Seite verlässt. Natürlich wird die Warnung nur dann ausgelöst, wenn Änderungen in den Eingabefeldern vorgenommen wurden. In bestehenden Anwendungen ist das Feature nicht aktiv. Diese sollen sich durch ein APEX-Upgrade ja nicht ändern. Es ist für den Entwickler aber nicht umständlich, die Funktion einzuschalten.

Font APEX Icon Bibliothek

Mit APEX 5.0 wurde die populäre Icon Bibliothek Font Awesome integriert, mit der Icons per CSS-Klasse eingebunden werden können. Bilddateien sind nicht mehr nötig. Um den Icons einer APEX-Anwendung das gewisse Etwas zu verleihen, hat das Entwicklerteam für die Version 5.1 mit Font APEX eine eigene, zu Font Awesome kompatible Icon Bibliothek erstellt. Die neue Bibliothek enthält die Icons aus Font Awesome, verwendet aber ein eigenes Aussehen. Die Universal Theme Sample Application enthält eine Übersicht über die verfügbaren Icons.

Neuerungen für die Kalender-Region

Einige Neuerungen hat auch die Kalender-Region erfahren. So bietet diese nun Dynamic Actions an, mit denen man auf Änderungen der Kalenderansicht reagieren kann, zum Beispiel das Vor- oder Zurückblättern. Ein Kalender-Objekt kann nun mit eigenem Javascript-Code konfiguriert und verändert werden. Als Entwickler können nun alle Funktionen der zugrundeliegenden jQuery FullCalendar Bibliothek genutzt werden. Es ist möglich, Kalender nur mit Javascript mit anderen Seitenregionen wie Berichten oder Diagrammen zu synchronisieren oder auch neue Ereignisse hinzuzufügen. Die Calendar Sample Application wurde analog zum Kalender aktualisiert und enthält Demonstrationsseiten für all diese Möglichkeiten.

Neue Packaged Applications

Die Sammlung mitgelieferter Anwendungen (Packaged Applications) ist mit dem Release 5.1 gewachsen. Die Anwendungen unterteilen sich nach wie vor in zwei Typen:

  • Sample Applications dienen vor allem der Demonstration von APEX-Features. Sie sind nach der Installation „offen“, können also betrachtet und auch beliebig verändert werden.
  • Packaged Applications dienen einem ganz bestimmten, fachlichen Zweck. Diese Anwendungen sind zur konkreten, produktiven Nutzung vorgesehen. Diese Anwendungen werden von APEX unterstützt und bei Upgrades auch aktualisiert. Nach Installation können solche Anwendungen zunächst nur gestartet, aber nicht verändert werden. Dazu ist ein separates „Unlock“ nötig. Nach dem Unlock kann die Anwendung wie eine eigene bearbeitet werden, wird dann allerdings nicht mehr von Oracle unterstützt.

Quick SQL

Quick SQL ist ein SQL Scratchpad, mit dem sich SQL Scripts erstellen lassen. Es stellt eine sehr kompakte Markdown-ähnliche Syntax zum Erstellen von Tabellen bereit. Boilerplate Code fällt damit weg. Aus den Eingaben generiert Quick SQL das syntaktisch korrekte SQL Skript, welches man in eine Oracle-Datenbank einspielen kann. Quick SQL kann INSERT-Kommandos generieren und erlaubt das schnelle Anlegen von Parent-Child Tabellen mit den entsprechenden Fremdschlüsseln. Neue Tabellen und einfache Datenmodelle lassen sich mit Quick SQL effizient generieren.

REST Client Assistant und REST Sample Application

Zum Thema REST Services bringt APEX 5.1 gleich zwei Packaged Applications mit. Die REST Sample Application führt vor, wie man einen APEX-Bericht und ein Formular nicht auf eine lokale Tabelle, sondern auf einen entfernten REST Service einrichtet. Der Bericht ruft den REST Service auf und zeigt die Daten an. Das Formular ruft ebenfalls einen REST Service zum Speichern der Änderung auf. Der REST Client Assistant hilft beim Einbinden von REST Services in eigene Anwen-dungen. Diese Anwendung verbindet sich mit dem REST Service, zeigt die zurückgegebenen Daten tabellarisch an und generiert den SQL und PL/SQL Code, den man zur Nutzung des REST Service in der eigenen Anwendung benötigt.

Competetive Analysis

Diese Packaged Application unterstützt beim Vergleich von Alternativen – und zwar völlig losgelöst von der IT. In der Anwendung werden Kriterien und deren Wichtigkeit definiert. Die einzelnen Alternativen werden erfasst und anhand der Kriterien bewertet. Die An-wendung stellt dann eine Übersicht bereit, die bei der Auswahl einer Alternative hilft.

Weitere Informationen: