Einbetten externer Inhalte in ArcGIS

Dieses Muster basiert auf einer primären User Experience in einer ArcGIS-App, wie z. B. ArcGIS Experience Builder, ArcGIS Dashboard, anderen konfigurierbaren Web-Apps oder ArcGIS Pro. Die gewünschte Integration bettet in einem von mehreren gängigen Mustern Inhalte eines anderen Systems in die ArcGIS-Bedienoberfläche ein:

  • Eine vollständige <iframe>-Einbettung, die in ArcGIS Hub und ArcGIS Enterprise Sites, im ArcGIS Experience Builder über das Widget “Einbetten” und in ArcGIS Dashboards als eingebettete Inhalte unterstützt wird.

  • Eingebettete HTML-Inhalte, die in einem Pop-up angezeigt werden, wie z. B. ein eingebettetes Bild. Dies ist auf unterstützte HTML-Tags beschränkt und kann verwendet werden, um ein Bild aus einem Remote-System oder einen Link zu einer Remote-Anwendung oder einem Endpunkt anzuzeigen.

Integrationsmuster in ArcGIS

Verschiedene konfigurierbare ArcGIS Enterprise- oder ArcGIS Online-Apps können Inhalte über eine <iframe>-Methode einbetten. Jede App, die eine Webkarte nutzt, kann mit eingebetteten Bildern arbeiten, die mit einem Pop-up konfiguriert sind, einschließlich ArcGIS Pro und ArcGIS Maps SDKs.

Funktion ArcGIS Online ArcGIS Enterprise ArcGIS Location Platform ArcGIS Pro
Einbetten externer Inhalte in ArcGIS N. z. N. z.

Volle Unterstützung Teilunterstützung


Verwenden von URL-Parametern

Viele externe Webanwendungen unterstützen eine Reihe von konfigurierbaren Eigenschaften beim Laden, die durch URL-Parameter definiert sind, wie z. B. https://myapp.domain.com/showdocument/docId=BND12 (Anzeigen eines Dokuments mit der Kennung BND12). Mit diesem Integrationsmuster ist es üblich, diese URL-Parameter dynamisch festzulegen (die steuern, wie die Iframe-Anwendung geladen wird). Dazu werden Eigenschaften der Parent- oder Business-Systemanwendung verwendet. Wenn der Benutzer beispielsweise einen Datensatz mit der Kennung BND12 in der ArcGIS-Anwendung anzeigt, kann der Iframe so definiert werden, dass eine URL verwendet wird, die die Remote-Anwendung im externen System lädt, wobei die relevanten Daten bereits sichtbar sind oder ein Formular oder bzw. eine Bedienoberfläche vorab geladen ist.

Best Practices und Herausforderungen bei <iframe>-Einbettungen

Historisch sind Iframes eine beliebte Technologie, die auch eine Vielzahl von Sicherheitsherausforderungen mit sich brachte. Dies hat zu einer Vielzahl von Browser-Einschränkungen geführt, die für Iframes gelten und die Funktionalität oder Benutzerfreundlichkeit systemübergreifend einschränken können. Wichtige Herausforderungen:

  • Single Sign-on ist kompliziert. Browser-Standards blockieren oft die Wiederverwendung vorhandener Sitzungs-Cookies in einem <iframe>, es sei denn, die <iframe>-Domäne entspricht der Domäne des Parent-Inhalts. Das bedeutet, dass ein Benutzer sich häufig bei dem ArcGIS-System authentifizieren muss, das in den <iframe> eingebettet ist, was eine Anmeldeinteraktion erfordert. Wenn sowohl das Parent des Frames als auch der Frame selbst über denselben Identity-Provider authentifiziert werden, erwarten Benutzer möglicherweise eine Single Sign-on-Erfahrung und sind mit einer zweiten Anmeldeanforderung unzufrieden. Einige Unternehmens-Identity-Provider blockieren möglicherweise auch die Nutzung ihres Anmeldedialogs in einem Iframe, und andere Ansätze wie sorgfältig gestaltete Content-Security-Policy-Header können erforderlich sein.
  • Um dieses Problem bestmöglich zu lösen, verwenden Sie dieselbe Domäne (z. B. .domain.com) sowohl für die Parent- als auch für die Iframe-Site, verwenden Sie denselben Single-Sign-On-Provider, und lassen Sie zu, dass die App Benutzer bei Bedarf automatisch zur Anmeldung weiterleitet.
  • Datei-Downloads oder -Uploads können blockiert werden. Die Browsersicherheit kann das Herunterladen von Dateien aus Iframes blockieren, wobei ein Download-Link oder eine Download-Schaltfläche in einer eingebetteten App keinen error Fehler meldet, sondern einfach das Herunterladen einer Datei, z. B. ein Export aus einer Funktionstabelle, nicht mehr durchführt. Diese Problemkategorie wird üblicherweise über eine JavaScript-Konsolennachricht des Browsers gemeldet.

  • Die Bildschirmgröße kann sich negativ auf Bedienoberflächen auswirken. Iframes werden häufig als konstante Rahmengröße in Pixeln definiert, und Apps, die eingebettet werden, sollten für diese erwartete Anzeigegröße ausgelegt sein. Wenn die Parent-Anwendung den Iframe intelligent entsprechend der Bildschirmauflösung des Benutzers skalieren kann, haben Benutzer mit größeren Bildschirmen möglicherweise eine responsive Experience, aber ein Iframe mit fester Größe führt zu einem kleinen eingebetteten Fenster, das eine negative User Experience haben kann. Eingebettete Apps sollten so gestaltet sein, dass alle primären Bedienoberflächenelemente und Interaktionen im verfügbaren Bildschirmbereich ausgeführt werden können.

  • Die Kommunikation zwischen dem Iframe und dem Parent-Fenster ist in der Regel begrenzt. Während einige <iframe>-Muster die Kommunikation zwischen dem Parent-Fenster und dem <iframe> über Protokolle oder Muster wie postMessage unterstützen, bieten die meisten ArcGIS-Anwendungen diese Funktion nicht, sodass Interaktionen in der Iframe-Anwendung das Parent-Fenster nicht beeinflussen (dies gilt auch umgekehrt).
Top