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.
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.
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.
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).
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.
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.
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.
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.
Abbildung 8: Die neue Anwendung ist nun Teil der Packaged Apps Gallery
Die Installation erfolgt wie bei jeder anderen Packaged Application (Abbildung 9).
Abbildung 9: 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.
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.
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.
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).
Abbildung 13: Packaged Application Images
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.
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.
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).
Abbildung 17: CSS-Klasse eines Icons als "Image Identifier" eintragen
Dann ist es soweit fertig. Die Packaged Application Gallery sieht dann wie folgt aus.
Abbildung 18: Packaged Application Gallery
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
|