Logo Oracle Deutschland   Application Express Community

Eigene APEX-Anwendungen zu den Packaged Applications hinzufügen

Stand APEX-Version Datenbankversion
April 2016 5.0 11.1

Den meisten APEX-Anwendern ist die umfangreiche Sammlung der Packaged Applications wohlbekannt: Im Lieferumfang sind etwa 40 fertige Anwendungen enthalten, die per Mausklick einfach in den Workspace installiert werden können.

Packaged Applications in APEX 5.0

Abbildung 1: Packaged Applications in APEX 5.0

  • Packaged Applications sind produktiv nutzbare Anwendungen - sie werden von Oracle ebenso unterstützt wie die Datenbank und APEX selbst. Nach Installation können sie zunächst nicht verändert, sondern nur ausgeführt werden. Wenn eine neue Version der Anwendung vorliegt (bspw. nach einem APEX-Upgrade), so kann sie aktualisiert werden. Möchte man die Anwendung aber dennoch verändern, so kann man ein "Unlock" durchführen. Die Anwendung wird dadurch editierbar wie jede andere APEX-Anwendung; allerdings verliert man den Oracle-Support und die Fähigkeit für künftige Upgrades.
    "Unlock" einer Packaged Application

    Abbildung 2: "Unlock" einer Packaged Application

  • Sample Applications sind Anwendungen, mit denen bestimmte APEX- oder Datenbankfunktionen demonstriert und veranschaulicht werden. Oft zeigen sie Möglichkeiten, die aus den APEX-Wizards oder den Attributen des Page Designer nicht direkt ersichtlich sind. Logischerweise sind diese Anwendungen nicht für den produktiven Einsatz vorgesehen; werden also von Oracle dafür nicht unterstützt oder automatisch aktualisiert. Zum Editieren und Anschauen braucht es auch kein "Unlock"; unmittelbar nach Installation kann man sich direkt darin umsehen und sich so Anregungen für die eigene Arbeit mit APEX holen.

Eigene Packaged Applications

So weit, so gut. Aber wussten Sie schon, dass Sie dieser Packaged Applications Gallery auch eigene Anwendungen hinzufügen können? Eine so, auf Ebene der APEX-Instanz, hinzugefügte Anwendung steht dann in allen Workspaces zur Installation bereit. Das eignet sich, insbesondere in größeren APEX-Installationen, ganz hervorragend zur Bereitstellung von Beispiel- oder "Kochbuch"-Anwendungen. Solche Anwendungen können für das Unternehmen typische Komponenten wie List of Values, Themes und Templates oder Beispiele für gebräuchliche APEX-Dialoge, Berichte oder Formulare, enthalten. Denken Sie auch an Standard-Tabellen, Views oder PL/SQL-Objekte, die mit einer solchen Anwendung (als Supporting Objects) verteilt werden können.

Entwickler können diese Anwendungen dann installieren, betrachten und die Komponenten per Copy in eigene Anwendungen übernehmen. Verwendet man den Copy & Subscribe-Mechanismus (Community Tipp), so lassen sich die Komponenten der Sample-Anwendung sogar abonnieren und bei einer neuen Version aktualisieren.

Um eine solche Anwendung bereitzustellen, müssen Sie diese zuerst (natürlich) erstellen. Zum Ausprobieren nehmen Sie einfach irgendeine Anwendung. Exportieren Sie diese ganz normal aus Ihrem APEX-Workspace. Loggen Sie sich dann als APEX-Administrator am Workspace INTERNAL an. Navigieren Sie dann zum Bereich Manage Instance.

Application Express - Instanzverwaltung

Abbildung 3: Application Express - Instanzverwaltung

Klicken Sie auf Packaged Applications (oben rechts). Sie sehen daraufhin eine Liste aller Packaged Applications (und sogar noch einige mehr).

Liste der im System vorhandenen Packaged Applications

Abbildung 4: Liste der im System vorhandenen Packaged Applications

Eigene Anwendung als Packaged Application hochladen

Einige der Einträge stehen auf dem Status Hidden - gehen Sie aber davon aus, dass das seinen Grund hat: diese Anwendungen werden nicht funktionieren. Viel interessanter ist es, mit Klick auf den Button Create, seine eigenen Anwendungen hinzufügen zu können. Im ersten Dialog laden Sie die APEX-Exportdatei einfach hoch.

Applikations-Export hochladen

Abbildung 5: Applikations-Export hochladen

Der nächste Dialog ist sehr interessant: Hier geben Sie der Anwendung den Namen, unter dem sie in der Packaged Apps Gallery erscheinen soll. Außerdem legen Sie eine kurze Beschreibung fest. Sehr wichtig wird die neue Application ID und die Gruppe (Group), in welche die Anwendung eingeordnet werden soll. Für die Application ID sollten Sie sich eine besondere Zahl überlegen, die den Status als eigene Packaged Application deutlich macht und möglichst nicht mit anderen IDs oder im Unternehmen verwendeten Nummernkreisen kollidiert - bspw. 12000.

Bei der Gruppe können Sie im Prinzip zwischen Packaged, Sample und Custom Application wählen. Für Packaged und Sample Applications ist die Anwendungs-ID auf die Bereiche zwischen 5000 und 9000 beschränkt (das sehen Sie, wenn Sie eine andere ID verwenden möchten). Allerdings ist das der Bereich, der für Oracle selbst reserviert ist. Sie müssten also eine ID aus dem für Oracle reservierten Nummernkreis verwenden. Insofern ist von diesen beiden Gruppen abzuraten - denn was ist, wenn Oracle diese ID in der nächsten APEX-Version verwendet ...?

Nehmen Sie also (immer) die Gruppe Custom Application und wählen Sie eine Application ID.

Namen, Beschreibung, Gruppe und ID festlegen

Abbildung 6: Namen, Beschreibung, Gruppe und ID festlegen

Im folgenden Dialog bekommen Sie eine Übersicht und können die Anwendung mit Klick auf den Button Create einrichten. Danach gehört Ihre Anwendung zu den Packaged Applications.

Die hochgeladene Anwendung ist nun Teil der Packaged Applications

Abbildung 7: Die hochgeladene Anwendung ist nun Teil der Packaged Applications

Wechseln Sie nun einen normalen Workspace und navigeren Sie zur Packaged Applications Gallery. Ihre neue Anwendung ist nun Teil der Liste.

Die neue Anwendung ist nun Teil der Packaged Apps Gallery

Abbildung 8: Die neue Anwendung ist nun Teil der Packaged Apps Gallery

Die Installation erfolgt wie bei jeder anderen Packaged Application (Abbildung 9).

Installation der neuen Packaged Application

Abbildung 9: Installation der neuen Packaged Application

Nach der Installation der neuen Packaged Application

Abbildung 10: Nach der Installation der neuen Packaged Application

Die Präsentation der Packaged Application verbessern

Allerdings ist die Darstellung der Packaged Application - im Vergleich zu denen von Oracle - im Moment noch etwas mager. So gibt es kein Icon, keine Details und keine Screenshots. Das ist zwar bei einer Beispielanwendung für Entwickler nicht entscheidend, gehört aber zu den oft unterschätzten Kleinigkeiten; man möchte ja, dass die Entwickler der APEX-Instanz diese Anwendung gerne installieren. Also: tun wir noch ein wenig was an der Verpackung.

Zunächst soll ein Screenshot bereitgestellt werden. Das ist möglich; allerdings können Sie diesen nicht einfach im Workspace INTERNAL hochladen. Vielmehr muss es zu den statischen Dateien auf dem APEX-Webserver hinzugefügt werden. Wie das genau funktioniert, hängt vom verwendeten Webserver ab. Wenn Oracle HTTP Server mit mod_plsql oder Oracle REST Data Services (ORDS) zum Einsatz kommen, muss die Datei typischerweise im Unix- oder Windows-Dateisystem des Webservers abgelegt werden. Bei Verwendung des PL/SQL Embedded Gateway muss die Datei in die Datenbank geladen werden (wie man das mit FTP machen kann, ist in diesem Community-Tipp beschrieben). Ausgangspunkt ist dabei stets das APEX-Images-Verzeichnis, also das Verzeichnis, auf welches der URL-Präfix /i/ des Webservers abgebildet ist. Von dort aus muss die Datei ins Verzeichnis eba/img/app_screenshots platziert werden.

... images/
    +-- apex 
    +-- apex_ui
    |   :
    |
    +-- eba/
    |   +-- css
    |   +-- icons
    |   +-- img/
    |       +-- app_screenshots/
    |           +-- anyco-it.png
    |           +-- archive-sample.png
    |           +-- :
    |           +-- mein_screenshot.png
    :
    +-- editor
    |   :

Laden Sie das Bild (oder mehrere) also zum APEX-Webserver hoch; achten Sie dabei auf Dateinamen, die auch in Zukunft möglichst nicht mit anderen kollidieren können. Wichtig ist noch, dass Sie diesen Schritt nach einem künftigen APEX-Upgrade wiederholen müssen.

Danach geht es zurück in den Workspace INTERNAL und dort zur Verwaltung Ihrer Packaged Application. Klicken Sie in der Listenübersicht auf den Bleistift zum Editieren eines Eintrags.

Packaged Application bearbeiten

Abbildung 11: Packaged Application bearbeiten

Hier können nun viele Details der Packaged Applications bearbeitet werden; so lassen sich Name, Beschreibung und Kategorie im ersten Abschnitt nochmals ändern.

Packaged Application bearbeiten - allgemeine Details

Abbildung 12: Packaged Application bearbeiten - allgemeine Details

In den anderen Abschnitten können Sie weitere Details hinterlegen (u.a. Firma, Mailadresse) sie können Angaben zur Seitenzahl und zur Zahl der Datenbankobjekte machen. Keine der Angaben ist wirklich "mandatory"; machen Sie dort Einträge, wo es für Ihren Fall sinnvoll ist.

Wichtig für Screenshots ist der Abschnitt der Application Images. Klicken Sie dort auf den Button Add, um ein neues Image zu erzeugen (Abbildungen 13 und 14).

Packaged Application Images

Abbildung 13: Packaged Application Images

Packaged Application Image - Details

Abbildung 14: Packaged Application Image - Details

Tragen Sie bei File Name genau den Dateinamen ein, unter dem Sie das Bild in den Ordner eba/img/app_screenshots im APEX-Image-Verzeichnis hochgeladen haben; den Titel und die Beschreibung können Sie frei wählen. Speichern Sie das Bild mit einem Klick auf Create Image.

Speichern Sie dann alle Ihre Änderungen ab. Wechseln Sie dann zurück zum Entwicklerworkspace und gehen Sie wieder zur Packaged Application Gallery. Klicken Sie Ihre Anwendung nochmals an - die Beschreibung ist nun viel aussagekräftiger.

Packaged Application Gallery: Nun mit mehr Details

Abbildung 15: Packaged Application Gallery: Nun mit mehr Details

Bleibt noch das Icon selbst. Hier muss man sicherlich die stärkste Einschränkung in Kauf nehmen: Da die Icons in den CSS-Dateien des APEX Application Builder definiert sind und nicht als Bilddateien vorliegen, ist das Bereitstellen eines eigenen Icons in APEX 5.0 nicht möglich. Fortgeschrittene Nutzer können aber eines der in APEX bereits vorhandenen Icons verwenden.

Navigieren Sie dazu mit dem Browser nochmals zur Packaged Application Gallery und öffnen Sie Ihre Web Developer Tools (F12). Wechseln Sie in den Inspect Mode und klicken Sie auf das Icon, welches Ihnen am besten gefällt. In Abbildung 16 wäre das der Data Reporter.

Icon des Data Reporters unter der Lupe der Browser Developer Tools

Abbildung 16: Icon des Data Reporters unter der Lupe der Browser Developer Tools

Das Icon wird durch die verwendete CSS-Klasse (hier: app-data-reporter) bestimmt. Für das Icon der Sample Database Application wäre das app-sample-database-application. Das konkrete Icon selbst ist in einer der CSS-Dateien von APEX selbst definiert. Sie können übrigens auch andere APEX-Icons heraussuchen - so wird das Icon SQL Commands im SQL Workshop mit gi-icon-sql-workshop-commands angesprochen.

Suchen Sie sich also die CSS-Klasse des Icons von Interesse heraus, navigieren Sie zurück zur Definition der Packaged Application im Workspace INTERNAL und tragen Sie die Klasse als Image Identifier ein (Abbildung 17).

CSS-Klasse eines Icons als "Image Identifier" eintragen

Abbildung 17: CSS-Klasse eines Icons als "Image Identifier" eintragen

Dann ist es soweit fertig. Die Packaged Application Gallery sieht dann wie folgt aus.

Packaged Application Gallery

Abbildung 18: Packaged Application Gallery

Packaged Application - Details

Abbildung 19: Packaged Application - Details

Fazit

APEX erlaubt es, eigene Applikationen zu den bereits vorhandenen Packaged Applications hinzuzufügen. Diese stehen dann in allen APEX-Workspaces bereit. Das ist vor allem für größere APEX-Umgebungen mit vielen Workspaces sehr interessant - unternehmensspezifische Beispiel- oder "Kochbuch"-Anwendungen lassen sich so prominent und professionell platzieren. Mit aussagekräftigen Details und Screenshots kann die Anwendung für den Entwickler interessant gestaltet werden. Da APEX die Installationen mitzählt, hat man außerdem eine gute Kontrolle darüber, ob die Anwendung tatsächlich verwendet wird.

Da Screenshots als Static Files auf dem APEX-Webserver bereitgestellt werden müssen, sollten die eigenen Packaged Applications nach einem APEX-Upgrade überprüft werden; ggfs. müssen die Screenshots erneut bereitgestellt werden. Auch die Auswahl eines Icons ist möglich; es können aber nur in APEX vorhandene Icons verwendet werden. Auch hier muss nach einem APEX-Upgrade geprüft werden, ob das verwendete Icon noch da ist.

Zurück zur Community-Seite