APEX 4.0: Erste Schritte

In diesem Tipp finden Sie einige Hinweise zur Installation und zu generellen Neuerungen beim Umgang mit dem neuen Release. APEX 4.0 bringt so viele Neuerungen - daher kann dieser eine Tipp unmöglich alle abdecken; es wird also weitere geben. Die wichtigsten neuen Features zur Entwicklung von Anwendungen wurden bereits mit dem Erscheinen des ersten Betarelease in einem Community-Tipp beschrieben - diese Feature-Liste ist nach wie vor gültig. Zu den ebenfalls neuen Websheets, zum Team Development oder zur Entwicklung von APEX 4.0 Plugins wird es noch eigene Community-Tipps geben. Bleiben Sie also dran.

Installation

Zunächst ein Hinweis: APEX 4.0 ist im Gegensatz zu den älteren Versionen nicht mehr auf einer Oracle9i-Datenbank lauffähig: die Datenbankversion muss mindestens 10g sein. Außerdem können APEX-Anwendungen nicht mehr mit dem Internet Explorer 6 (IE6) entwickelt werden, da der Application Builder mit diesem Browser nicht mehr funktioniert. Anwendungen, die mit IE6 funktionieren, können allerdings weiterhin entwickelt werden - auch funktionieren alle bereits bestehenden Anwendungen wie bisher.

Nach dem Auspacken des ZIP-Archivs installieren Sie APEX wie gewohnt. Melden Sie sich mit SQL*Plus als SYS an Ihrer Datenbank an und starten Sie das Skript apexins.sql wie folgt.

SQL> @apexins SYSAUX SYSAUX TEMP /i/

Die Argumente sind im Skript selbst dokumentiert.

Arguments:
    Position 1: Name of tablespace for Application Express application user
    Position 2: Name of tablespace for Application Express files user
    Position 3: Name of temporary tablespace
    Position 4: Virtual directory for APEX images

Wie immer wird für die neue APEX-Version ein eigenes Datenbankschema (APEX_040000) erzeugt. Wenn schon eine APEX-Version vorhanden ist, werden die Metadaten Ihrer Anwendungen aus der alten Version in die neue kopiert. Zum Abschluß werden die Public Synonyms von der alten auf die neue APEX-Version umgestellt - damit steht Ihnen APEX 4.0 zur Verfügung.

-- Copying preferences to new schema. -------
Upgrade completed successfully no errors encountered.
-- Upgrade is complete -----------------------------------------
timing for: Upgrade
Elapsed: 00:00:52.98
...End of install if runtime install
...create null.sql
timing for: Development Installation
Elapsed: 00:13:17.69
not spooling currently

Als nächstes müssen Sie (wie immer) dafür sorgen, dass die Bild- und JavaScript-Dateien bereitstehen. Sie befinden sich im APEX-Archiv im Ordner /images. Je nach verwendetem Webserver ist die Vorgehensweise hier unterschiedlich:

  • Wenn Sie den Apache Webserver mit mod_plsql verwenden, muss in der Webserver-Konfiguration ein Verzeichnis-Alias /i/ definiert sein. Dieser muss auf das Verzeichnis /images im APEX 4.0-Archiv zeigen. Kopieren Sie die Dateien entweder oder passen Sie den Alias an.
  • Wenn die das PL/SQL Embedded Gateway in Oracle11g verwenden, können Sie die Dateien mit dem Skript apex_epg_config.sql in die Datenbank kopieren. Geben Sie als Parameter das Verzeichnis an, in das Sie das APEX 4.0-Archiv ausgepackt haben.
    SQL> @apex_epg_config.sql /home/oracle
    
  • Wenn Sie den neuen APEX J2EE-Listener nutzen, hängt es vom verwendeten J2EE Application Server ab, wie und wohin Sie die Dateien kopieren müssen - hierzu wird es einen eigenen Community-Tipp geben.

Den Suchindex der Online-Hilfe erstellen

Wie in den früheren Versionen besitzt auch APEX 4.0 eine Online-Hilfe mit Suchfunktion. Übrigens wird für diese Suchfunktion Oracle TEXT verwendet. Man erreicht sie auf der Hilfeseite durch einen Klick auf Find (initial index creation may take several seconds). Beim ersten Mal wird der Oracle TEXT-Index erstellt, der zur Stichwortsuche nötig ist. Damit die Indexerstellung funktioniert, sind allerdings noch ein paar Handgriffe erforderlich.

Vor allem auf 11g-Datenbanken tritt der in Abbildung a) dargestellte Fehler auf.

Fehlermeldung bei Erstellung des Index für die Suche in der Onlinehilfe

Abbildung a): Fehlermeldung bei Erstellung des Index für die Suche in der Onlinehilfe

Hier fehlt dem User APEX_040000 ein Privileg. Setzen Sie als SYS folgende Kommandos ab, um die Privilegien einzuräumen.

create role text_file_role not identified
/

grant text_file_role to APEX_040000
/

begin
  ctxsys.ctx_adm.set_parameter('file_access_role','text_file_role');
end;
/

Klicken Sie danach nochmals auf Find (initial index creation may take several seconds). Nun ist eine zweite Meldung zu erwarten (Abbildung b).

Zweite Fehlermeldung bei Erstellung des Index für die Suche in der Onlinehilfe

Abbildung b): Fehlermeldung bei Erstellung des Index für die Suche in der Onlinehilfe

Hier wurde offensichtlich eine HTML-Datei der Onlinehilfe falsch referenziert. Dies ist aber einfach zu korrigieren. Wenn Sie mit dem PL/SQL Embedded Gateway arbeiten, können Sie das per SQL erledigen. Setzen Sie (wieder als SYS) folgendes Kommando ab.

declare
  r boolean;
begin
  r:= dbms_xdb.createresource(
    '/images/doc/AEADM/wrkspc001.htm',
    xdburitype('/images/doc/AEADM/wrkspc.htm').getclob()
  );
end;
/

commit
/

Wenn Sie mit dem Oracle HTTP Server mit mod_plsql arbeiten, liegen die Dateien im Dateisystem. Navigieren Sie in das Verzeichnis, auf das der Web-Alias /i/ zeigt und von dort in den Unterordner /doc/AEADM. Kopieren Sie dann die Datei wrkspc.htm in wrkspc001.htm oder erzeugen Sie (auf Unix/Linux) einen Link.

Versuchen Sie die Indexerstellung danach nochmals - nun sollte sie funktionieren (Abbildung c).

Der Suchindex wurde erstellt und funktioniert

Abbildung c): Der Suchindex wurde erstellt und funktioniert

Ein neuer Webserver: Der APEX Listener

Zusammen mit APEX 4.0 wurde der neue APEX J2EE Listener veröffentlicht. Damit steht nun neben dem "Apache Webserver mit mod_plsql" und dem "PL/SQL Embedded Gateway" eine weitere Alternative bereit. Der neue APEX Listener zeichnet sich durch seine Implementierung als Java (J2EE)-Applikation aus. Damit kann er in jeden beliebigen Java Application Server installiert werden. APEX fügt sich damit wesentlich besser in die Infrastruktur eines Rechenzentrums ein.

Der APEX Listener wird separat heruntergeladen und künftig auch einen eigenen Release-Zyklus haben. Zur Installation steht auch ein Installation Guide zur Verfügung.

Neuigkeiten im APEX-Workspace

Dass die Ansicht zur Bearbeitung einer APEX-Seite komplett überarbeitet wurde, hatten wir bereits mit der Vorstellung des ersten Betarelease beschrieben. Standardmäßig wird Ihnen die neue Baumansicht gezeigt (Abbildung 1). Sie können aber problemlos auf die alte Ansicht "zurückschalten".

Neue Tree View einer APEX-Seite in APEX 4.0

Abbildung 1: Neue Tree View einer APEX-Seite in APEX 4.0

Als Workspace-Administrator können Sie festlegen, ob der SQL Workshop, der Application Builder oder das neue Team Development für Entwickler sichtbar sein sollen oder nicht. Navigieren Sie dazu in den Bereich Administration, dort zu Manage Service und dann auf Set Workspace Preferences (Abbildung 2).

APEX-Workspace-Features ein- und ausschalten

Abbildung 2: APEX-Workspace-Features ein- und ausschalten

Direkt auf der Homepage des Workspace finden den Bereich News. Dort können Sie den Kollegen, mit denen Sie in diesem Workspace zusammenarbeiten, Nachrichten hinterlassen.

APEX-Workspace News

Abbildung 3: APEX-Workspace News

Außerdem kann APEX Sie nun, wenn Patches und Updates zur Verfügung stehen, darauf hinweisen. Rechts mittig sollte der Text System is up-to-date stehen.

APEX-Update-Check

Abbildung 4: APEX-Update-Check

Damit APEX feststellen kann, ob ein Patch bereitsteht, muss es die installierte Versionsnummer und Informationen zur Plattform an Oracle übermitteln. Wenn Sie das nicht möchten, klicken Sie auf den kleinen Bleistift. Im dann folgenden Dialog können Sie die Übermittlung abschalten. Sie sehen dann den Text Update Check Disabled.

APEX-Update-Check abschalten

Abbildung 5: APEX-Update-Check abschalten

Applikationen in APEX 4.0

Wie bislang immer bei APEX sind Ihre Anwendungen nach dem Upgrade des APEX-Servers auf die neue Version automatisch lauffähig. Benutzer der Anwendung sollten das Upgrade gar nicht bemerken. Auch neue Formularelemente wie der neue jQuery Date Picker werden von Ihren alten Anwendungen zunächst nicht verwendet. Hierfür gibt es im Application Builder im Bereich Utilities einen neuen Abschnitt Upgrade Applications (Abbildung 6).

Bereich "Utilities" im Application Builder

Abbildung 6: Bereich "Utilities" im Application Builder

APEX stellt Ihnen hier eine Liste mit Anwendungskomponenten für die ein neues APEX 4.0-Feature in Frage kommt (Abbildung 7).

Anwendungskomponenten als Kandidaten für ein neues APEX 4.0-Feature

Abbildung 7: Anwendungskomponenten als Kandidaten für ein neues APEX 4.0-Feature

So hat APEX in diesem Beispiel festgestellt, dass die Anwendung an zwei Stellen den HTML-Editor verwendet. Da in APEX 4.0 ein neuer HTML-Editor enthalten ist, wird hier ein Upgrade angeboten. Ein Klick auf diesen Eintrag verzweigt zu einer neuen Liste mit Details ...

Detailinfos zur Verwendung des HTML-Editors

Abbildung 8: Detailinfos zur Verwendung des HTML-Editors

Markieren Sie die Komponenten, die Sie upgraden möchten und klicken Sie dann auf die Schaltfläche Upgrade.

Formulare in APEX 4.0: Neue Elementtypen

Bereits im ersten Betarelease war erkennbar, dass APEX 4.0 einige Neuerungen für Formulare mitbringt. Neben einigen neuen Elementtypen wie dem Textfeld mit Autocomplete wurde hier generell aufgeräumt und vervollständigt. So gibt es nun nur noch ein Datepicker-Element - die verschiedenen Formate sind nun eine Einstellung desselben. Elemente für den Datei-Upload können nun direkt mit der Zieltabelle versehen werden - das Schreiben von PL/SQL-Code zum Übertragen der Datei von WWV_FLOW_FILES auf die eigene Tabelle entfällt. Es gibt Elemente zur Darstellung von Bildern und vieles mehr.

Formularelemente in APEX 4.0

Abbildung 9: Formularelemente in APEX 4.0

Debug-Modus in APEX 4.0

Der Debug-Modus wurde in APEX 4.0 neu gestaltet. Nach wie vor befindet sich in der Developer Toolbar unterhalb der Anwendung der Schalter Debug.

APEX 4.0 Developer Toolbar

Abbildung 10: APEX 4.0 Developer Toolbar"

Zusätzlich ist allerdings nun noch View Debug enthalten. Im Gegensatz zu den früheren Versionen werden die Debug-Meldungen nun nicht mehr einfach auf die Webseite geschrieben, sondern in Tabellen gesammelt - daher sieht die Anwendungsseite nach Klick auf Debug auch genauso aus wie vorher. Ein Klick auf View Debug zeigt dann aber die Meldungen mitsamt einem Diagramm zur verbrauchten Zeit an.

APEX 4.0 Debugging: Meldungen im Detail

Abbildung 11: APEX 4.0 Debugging: Meldungen im Detail

Wie in jedem interaktiven Bericht kann auch hier gefiltert und hervorgehoben werden: APEX 4.0 macht das Debugging so wesentlich leichter.

Der SQL Workshop in APEX 4.0

Auch im SQL Workshop gibt es einige Neuerungen, wenn auch nicht ganz soviele wie im Application Builder. Am auffälligsten dürfte das Syntax Highlighting im Code-Editor sein (Abbildung 12).

APEX 4.0 SQL Workshop: Syntax Highlighting im PL/SQL Editor

Abbildung 12: APEX 4.0 SQL Workshop: Syntax Highlighting im PL/SQL Editor

Ein weiteres neues Feature hat alledings einen etwas undankbaren Platz bekommen: Klicken Sie im Workspace auf SQL Workshop und scrollen Sie dann ganz nach unten. Sie finden dann rechts den Link Methods On Tables - damit können Sie ein PL/SQL-Paket generieren lassen, welches dann die INSERT, UPDATE oder DELETE-Methoden für von Ihnen angegebene Tabellen enthält. Es ist ja Best Practice in PL/SQL, nicht direkt auf Tabellen zu arbeiten, sondern die DML-Aktionen durch PL/SQL-Pakete zu kapseln. Vorteile ergeben sich dann, wenn Sie Änderungen an den Tabellen vornehmen.

PL/SQL-Pakete für Tabellenzugriffe generieren

Abbildung 13: PL/SQL-Pakete für Tabellenzugriffe generieren

Das generierte PL/SQL-Paket im Code-Editor

Abbildung 14: PL/SQL-Pakete für Tabellenzugriffe generieren

In den nächsten Community-Tipps werden wir uns weiteren APEX 4.0-Themen wie Team Development, Websheets, AJAX-Programmierung mit Dynamic Actions oder den APEX 4.0 Plugins widmen. Bleiben Sie bis dahin neugierig und schauen Sie sich in Ihrer Installation um: Es gibt sehr viel zu entdecken.

Zurück zur Community-Seite