map.apps Manager

Der map.apps Manager dient zur Verwaltung von Apps, App- und Bericht-Vorlagen sowie Bundles über einen Browser. Um den Manager zu öffnen, rufen Sie die URL https://<yourserver>/mapapps/manager auf oder klicken Sie auf Manager rechts oben in der App-Übersicht unter https://<yourserver>/mapapps.

Zugangsberechtigung

Der Zugang kann mit zwei unterschiedlichen Berechtigungen erfolgen:

Administrationsrechte

Eine Person mit Administrationsrechten darf map.apps in vollem Umfang verwalten (Apps, App-Vorlagen, Bundles und Bericht-Vorlagen).

Sie darf neue Inhalte hochladen, bestehende verändern und löschen.

Redaktionsrechte

Eine Person mit Redaktionsrechten darf im map.apps Manager nur Apps verwalten.

Dazu darf sie App-Vorlagen, Bundles sowie Bericht-Vorlagen verwenden, die eine Person mit Administrationsrechten bereitgestellt hat. Veränderungen an diesen Ressourcen darf sie nicht durchführen.

Die Zugänge werden, wie im Abschnitt Authentifizierung beschrieben, in der Konfiguration der Anwendung festgelegt.

Apps

Neue App erstellen

Um eine neue App zu erstellen, klicken Sie auf + Erstellen im Reiter Apps.

create

Vergeben Sie anschließend einen Titel für Ihre App. Dieser wird bei Verwendung des Standard-Layouts innerhalb der App angezeigt und außerdem als Titel für das Browserfenster genutzt.

Anhand des Titels wird eine App-ID vorgeschlagen. Diese ID wird in der URL verwendet, mit der die App aufgerufen wird. Sie können die ID anpassen.

Erstellen Sie keine Apps mit IDs, die sich nur in der Groß-/Kleinschreibung von bereits bestehenden Apps unterscheiden.

Beim Erstellen neuer Apps können drei Modi gewählt werden:

  • Standard-App

  • App-Vorlage nutzen

  • App hochladen

Standard-App

Wählen Sie Standard-App, um eine neue App mit den am häufigsten verwendeten Funktionen zu erstellen. Inhalte und weitere Funktionen können der App im Anschluss hinzugefügt werden. Lesen Sie hierzu die Seite Konfiguration von Apps.

Die Vorlage für die Standard-App (default-app-4.zip) liegt im map.apps Arbeitsverzeichnis. Die App kann dort angepasst bzw. durch andere Apps ausgetauscht werden, damit diese als Standard-App verwendet werden.

App-Vorlage nutzen

Wenn Apps auf Basis einer App-Vorlage erstellt werden, werden alle Eigenschaften der Vorlage als Grundkonfiguration in die App übernommen. Im Anschluss können Inhalte und Funktionen in der konkreten App verändert werden.

App hochladen

Eine App kann direkt als ZIP-Datei hochgeladen werden.

App freigeben

Eine App kann einen der folgenden Zustände haben:

  • Entwurf (Standard)

  • Bearbeitet

  • Verifiziert

  • Freigegeben

  • Archiviert

Nur freigegebene Apps können mit anonymem Zugriff gesehen und gestartet werden. Personen mit Administrations- oder Redaktionsrechten haben Zugriff auf alle Apps.

Wird map.apps mit der Möglichkeit zur individuellen Authentifizierung betrieben, kann der Zugriff auf freigegebene Apps auf bestimmte Rollen eingeschränkt werden.

Führen Sie die folgenden Schritte durch, um eine App zu schützen:

  1. Öffnen Sie den App-Publikationsdialog und setzen Sie den Status einer App auf Freigegeben:

    publish app

  2. Fahren Sie fort bis zum Freigabedialog und wählen Sie die Rollen, für die die App zugreifbar sein soll. Aus Sicherheitsgründen dürfen Personen mit Administrations- oder Redaktionsrechten eine Rollenfreigabe nur für die Rollen erwirken, denen sie selber zugeordnet sind.

    select roles

  3. Schließen Sie den Publikationsdialog und speichern Sie die App.

Die App ist nun geschützt und für nicht angemeldete Personen nicht sichtbar. Nach erfolgreicher Anmeldung sehen sie neben den öffentlichen (nicht geschützten) Apps diejenigen aufgeführt, für die sie berechtigt sind. Geschützte Apps können dann ohne gesonderte Anmeldung gestartet werden.

Wird eine App direkt über die App-URL geöffnet, wird zuerst ein Anmeldedialog angezeigt. Nach erfolgreicher Anmeldung wird die App gestartet.

Um Informationen zur angemeldeten Person sowie einen Logout-Button innerhalb der App anzuzeigen, fügen Sie das Bundle authentication zur App-Konfiguration hinzu.

App löschen

Eine Person mit Administrations- oder Redaktionsrechten kann Apps über den map.apps Manager löschen. Diese werden beim Löschen aus der Datenbank entfernt und sind nicht wiederherstellbar. Setzen Sie eine App auf den Zustand Archiviert, um sie nicht mehr zugänglich zu machen, ohne sie zu löschen.

Ist eine App als Element in ArcGIS Online/ArcGIS Enterprise-Portal registriert, wird dieses Element beim Löschen der App ebenfalls entfernt.

App exportieren

Apps können als ZIP-Datei exportiert werden. Dabei werden alle mit der App gespeicherten Daten (beispielsweise Bilder oder CSS-Dateien) exportiert. Exportieren Sie eine App, um sie als App-Vorlage hochzuladen, sie zu archivieren oder sie mit anderen auszutauschen.

App in ArcGIS Online bzw. ArcGIS Enterprise-Portal registrieren

Über den map.apps Manager kann eine App als Portal-Element registriert werden. Titel, Beschreibung und Vorschaubild werden aus den Metadaten der App in das Portal-Element übernommen. Der map.apps Dialog enthält einen Link zum entsprechenden Portal-Element. Die verwendete Portal-Instanz kann in der globalen Konfiguration festgelegt werden.

Beim Anlegen eines Portal-Elements ist eine Anmeldung am Portal nötig. Dieser Schritt entfällt, wenn map.apps das Portal als Identitätsanbieter verwendet (siehe Authentifizierung mit ArcGIS Enterprise-Portal).

Der Zustand der Portal-Registrierung wird im map.apps Manager durch folgende Symbole dargestellt:

App ist nicht registriert

kein Symbol

App ist als Portal-Element registriert

registered

App ist als Portal-Element registriert, das Portal dient als Identitätsanbieter (OAuth)

not registered

Die Darstellung in der App-Übersicht wird nicht aktualisiert, wenn Sie die Registrierung im App-Editor entfernen oder das Element direkt in ArcGIS Online oder ArcGIS Enterprise-Portal löschen. Rufen Sie den Dialog Portal-Registrierung auf, um den Zustand zu aktualisieren.

Bundle-Versionen für App festsetzen

Bundles, die in einer App verwendet werden, müssen immer in zueinander kompatiblen Versionen verwendet werden.

Das Werkzeug Produktversion in ausgewählten Apps verwalten ermöglicht es, die Versionen aller verwendeten Bundles eines Produkts (z.B. map.apps oder einer Produkterweiterung) gleichzeitig zu ändern. Hierzu muss zunächst das Produkt und anschließend die entsprechende Version gewählt werden.

Neben der Auswahl der Minimal-Version kann eine der folgenden Update-Richtlinien gewählt werden:

Auswahl Bedeutung

Keine Updates

Die App ist nur mit exakt der angegeben Version kompatibel.

Bugfixes

Die App ist mit allen Bugfix-Versionen ab der definierten Version kompatibel.

Minor Updates

Die App ist mit allen Minor-Versionen ab der definierten Version kompatibel.

Bundle-Versionen manuell festsetzen

Die verwendeten Versionen von Bundles können auch im App-Editor festgelegt werden. Der Bundlename muss dazu durch ein @ von der Version getrennt werden. Beispiel: toc@1.2.3. Die Versionsnummer kann gemäß der Semantic Versioning-Spezifikation definiert werden.

Das map.apps-System wird unabhängig von den Versionen der einzelnen Bundles konfiguriert. Um die Version des map.apps-Systems zu definieren, setzen Sie die folgende Eigenschaft im Abschnitt properties der Datei app.json:

app.json
{
    "properties": {
        "amdPackages": "apprt@1.2.3"
    }
}

App für native App exportieren

Das Werkzeug Export für native App ermöglicht es, jede App inklusive aller Ressourcen als ZIP-Datei zu exportieren. Die App-Konfiguration sowie die in der App verwendeten Bundles werden analysiert und anschließend als Download bereitgestellt. Im Vergleich zum Werkzeug App exportieren können diese Ergebnisse als Grundlage für die Erstellung einer nativen App verwendet werden.

native de

Um alle benötigten JavaScript-Dateien zu exportieren, integriert das Werkzeug alle AMD-Module der konfigurierten Bundles. Verwendet eine App eigene Bundles, muss sichergestellt werden, dass diese optimiert sind und eine dependencies.json Datei vorliegt. Nutzen Sie das entsprechende Eingabefeld, um weitere Module oder Dateien zu spezifizieren.

Verwenden Sie in einer App immer absolute URLs, da die Verwendung von protokoll-relativen URLs wie //www.example.com bei nativen Apps zu Problemen führen kann.

JavaScript-Dateien werden zum Teil zur Laufzeit einer App nachgeladen. Beim Export werden diese nicht vorab ermittelt und somit nicht in die ZIP-Datei integriert. Die fehlenden Dateien können entweder über die Experteneinstellungen manuell ergänzt oder über separate Bundles geladen werden. Wenn die Bundles map-preload-2D und map-preload-3D der App hinzugefügt werden, werden die Dateien bereits beim Start der App geladen und beim Export mit in die ZIP-Datei integriert.

App voroptimieren (Beta)

Diese Funktion befindet sich in der Betaphase und kann sich daher noch ändern. Die Voroptimierung verbessert die Startleistung in bestimmten Fällen, ist aber für den produktiven Betrieb von Apps nicht erforderlich.

Ihr Feedback zu dieser Funktion ist sehr willkommen!

Voroptimierung aktivieren

Um den Start einer App zu beschleunigen, klicken Sie im Konfigurationsfenster der App auf die Schaltfläche Voroptimierung aktivieren. Der Voroptimierungsprozess kann einige Minuten dauern.

pre optimization confirmation de

Voroptimierte Apps sind in der App-Tabelle des Managers zu erkennen.

pre optimization manager flag de

Um die Voroptimierung zu deaktivieren, klicken Sie erneut auf dieselbe Schaltfläche im App-Konfigurationsfenster.

In welchen Fällen wird die Performance verbessert?

Die Voroptimierung verbessert die Start-Performance einer App in folgenden Fällen:

Bei wiederholten Aufrufen einer App durch eine Person über längere Zeiträume

Normalerweise werden statische Dateien nach spätestens einem halben Tag (wenn dieser Wert nicht anders in der globalen Konfiguration gesetzt wurde) nicht mehr aus dem Browser-Cache geladen, sondern erneut vom Server abgerufen. Bei voroptimierten Apps werden bestimmte Dateien, die zur Ausführung der App benötigt werden, mit einer statischen ID als Dateiname versehen. Diese Dateien werden unbegrenzt lange aus dem Browser-Cache geladen, was die Datenmenge und somit die Ladezeit beim erneuten Aufruf einer App deutlich reduziert.

Bei vielen gleichzeitigen Aufrufen durch unterschiedliche Personen

Normalerweise werden die unterschiedlichen Abhängigkeiten der in einer App verwendeten Bundles bei jedem Aufruf einer App analysiert, um sicherzustellen, dass alle erforderlichen Bundles geladen werden. In voroptimierten Apps wird die Bundle-Zusammenstellung als abgeschlossen und statisch betrachtet und diese Abhängigkeits-Analyse entfällt. Dies reduziert die Datenbank-Abfragen deutlich, was vor allem bei vielen gleichzeitigen Zugriffen einen Performance-Vorteil bietet.

Was muss nach der Aktivierung beachtet werden?

Voroptimierte Apps sind von der dynamischen Abhängigkeitsauflösung entkoppelt. Dies hat zur Folge, dass aktualisierte Bundles oder neu hochgeladene Bundles einer voroptimierten App nicht bekannt sind.

Verbesserungen oder Fehlerbehebungen in einem Bundle werden somit nicht in der App sichtbar. Außerdem kann es vorkommen, dass je nach Änderungen an den Bundles die App gar nicht oder nicht korrekt startet. Um sicherzustellen, dass Änderungen in voroptimierten Apps wirksam werden, deaktivieren Sie die Voroptimierung und aktivieren sie anschließend wieder. Die Voroptimierung wird deaktiviert, wenn eine App erneut hochgeladen wird.

Aktivieren Sie daher die Voroptimierung nur für Apps, die als fertig und produktionsreif angesehen werden.

Wenn map.apps auf eine neuere Version aktualisiert wird, sind voroptimierte Apps nicht mehr in der Lage, erforderliche Bundles zu erkennen, da sie nicht mehr im System vorhanden sind. Auch globale Einstellungen, die von Bundles in manifest.json Dateien über @@key@@ Ausdrücke referenziert wurden, aktualisieren sich bei Änderung nicht. Die Voroptimierung muss deaktiviert und erneut aktiviert werden.

App-Vorlagen

Personen mit Administrationsrechten haben die Möglichkeit App-Vorlagen bereitzustellen. Vorlagen definieren Grundeinstellungen (Bundles und deren Konfiguration, Dienste, Layout), die von jeder App, die mithilfe dieser Vorlage erstellt wird, übernommen werden.

Personen mit Redaktionsrechten dürfen keine Vorlagen verwalten, jedoch als Grundlage für Apps nutzen.

Bundles

Bundles hinzufügen

Neue Funktionen können in Form von sog. Bundles ergänzt werden. Bundles müssen als ZIP- oder JAR-Datei hochgeladen werden. Die hochgeladenen Bundles werden zentral in einer Datenbank abgelegt. Existierende Bundles werden überschrieben, wenn Bundles mit identischer Version erneut hochgeladen werden. Vorinstallierte Bundles können nicht überschrieben werden.

Bundles exportieren

Bundles, die zu den Standard-Bundles hinzugefügt wurden, können über den folgenden URL-Aufruf exportiert werden:

/resources/jsregistry/files/<file id>/download

Beispiel:

https://<yourserver>/mapapps/resources/jsregistry/files/dn_querybuilder@1.0.0@MAIN/download

Bundles löschen

Das Löschen von Bundles ist nur möglich, wenn diese über den map.apps Manager hochgeladen wurden.

Bundles aus dem con terra Developer Network hinzufügen

Weitere Bundles können aus dem con terra GitHub direkt im map.apps Manager installiert werden. Diese Anbindung ist standardmäßig aktiviert. Um sie zu deaktivieren, entfernen Sie das Bundle mapapps-github-manager aus der Liste manager.config.viewbundles in der globalen Konfiguration.

Bericht-Vorlagen

Personen mit Administrationsrechten können Vorlagen für Berichte (Reports) auf Basis der JasperReports-Technologie verwalten. Vorlagen werden zentral bereitgestellt und in den jeweiligen Apps mit den Daten verknüpft (siehe Reports).

Es steht ein Standard-Bericht zur Verfügung. Dieser zeigt alle Features auf einer Übersichtskarte und beinhaltet eine Detailseite für jedes Feature mit der Liste der Attribute sowie einer Karte. Der Standard-Bericht ist im Verzeichnis WEB-INF\classes\reports\default abgelegt.

Verwenden Sie keine Sonderzeichen oder Umlaute in Dateinamen, die in einer Berichtvorlage verwendet werden.