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 den Nutzern später 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 liegt im map.apps Arbeitsverzeichnis (default-app-4.zip). 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

Nuzer können nur freigegebene Apps sehen und starten. Administratoren und Redakteure haben Zugriff auf alle Apps.

Wird map.apps in Kombination mit map.apps User Management , security.manager oder ArcGIS Online/Portal for ArcGIS 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 darf ein Administrator/Redakteur eine Rollenfreigabe nur für die Rollen erwirken, denen er selber zugeordnet ist.

    select roles

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

Die App ist nun geschützt und für nicht angemeldete Nutzer nicht sichtbar. Nutzer können auf der App-Übersichtseite den Login-Dialog verwenden, um ihre Anmeldeinformationen einzugeben. Nach erfolgreicher Anmeldung sind neben den öffentlichen (nicht geschützten) Apps diejenigen aufgeführt, für die der Nutzer berechtigt ist. Geschützte Apps können dann ohne gesonderte Anmeldung gestartet werden.

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

Um Benutzerinformationen sowie den Logout-Button innerhalb der App anzuzeigen, fügen Sie das Bundle authentication zur App-Konfiguration hinzu.

App löschen

Ein Administrator oder Redakteur kann über den map.apps Manager Apps 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/Portal for ArcGIS 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. Portal for ArcGIS 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 Konfiguration festgelegt werden.

Bei Anlegen eines Portal-Elements ist eine Anmeldung am Portal nötig. Dieser Schritt entfällt, wenn map.apps mit der Nutzerverwaltung des Portals verbunden ist (siehe Integrierter Named User Login). Zudem kann über den Dialog die Portal-Authentifizierung aktiviert werden. Das bedeutet, dass Nutzer sich beim Start der App mit ihrer Portal-Identität anmelden müssen.

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, die Portal Nutzerverwaltung ist aktiv (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 Portal for ArcGIS 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. Achten Sie darauf, dass alle Produkt-Bundles einer App entweder der Linie 3 oder Linie 4 entsprechen.

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 entsprechendene 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 im map.apps Manager 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 einen Nutzer über längere Zeiträume

Normalerweise werden statische Dateien nach spätestens einem halben Tag (wenn dieser Wert nicht anders konfiguriert 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 Nutzer

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 oder mit einer App-Vorlage synchronisiert wird.

Die Live-Konfiguration steht für voroptimierte Apps nicht zur Verfügung.

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.