Ab ArcGIS Enterprise 11.0 können einem Portal benutzerdefinierte Experience Builder-Widgets hinzugefügt werden. Das bedeutet, dass Sie beim Erstellen einer App in der Builder-Umgebung benutzerdefinierte Widgets auswählen können. Damit Sie ein benutzerdefiniertes Widget verwenden können, müssen Sie es auf einem Webserver hosten und in einem Portal registrieren. Aus Sicherheitsgründen können benutzerdefinierte Widgets nur von Portal-Administratoren registriert werden. Benutzerdefinierte Widgets, die Sie öffentlich freigeben, können in öffentlichen Apps für den anonymen Benutzerzugriff verwendet werden.
Hinweis:
Wenn Sie ein Upgrade auf ArcGIS Enterprise 11.1 durchgeführt haben und die lokalisierte Version Ihres benutzerdefinierten Widgets nicht funktioniert, müssen Sie prüfen, ob die erste Zeile der lokalisierten Sprachdatei define({ lautet. Sollte dies der Fall sein, müssen Sie die Datei wie folgt aktualisieren:
Vorheriger Code Neuer Codedefine({
// strings
})
System.register([], function (_export) {return {execute: function () {_export({
// strings
})}}});
Hosten eines benutzerdefinierten Widgets auf einem Webserver
Ein benutzerdefiniertes Widget wird auf einem Webserver auf dieselbe Weise gehostet wie eine Web-App. Sie müssen einen Webserver installieren und konfigurieren. Gängige Webserver sind IIS und Apache HTTP Server.
Gehen Sie wie folgt vor, um benutzerdefinierte Widgets auf einem Webserver zu hosten:
- Aktivieren Sie anonymen Zugriff für das virtuelle Verzeichnis, in dem die Widgets gehostet werden.
Auf das Hosting-Verzeichnis muss anonym zugegriffen werden können.
- Aktivieren von HTTPS
Aktivieren Sie den HTTPS-Zugriff auf dem Webserver, um die Erstellung gemischter Inhalte zu vermeiden. Experience Builder lässt gemischten aktiven Inhalt durch das Laden von HTTP über eine HTTPS-Verbindung nicht zu. Zudem sollte Ihr Server über ein gültiges SSL-Zertifikat verfügen, dass zum Herstellen der HTTPS-Verbindung von einer Zertifizierungsstelle ausgegeben wurde.
- Aktivieren Sie Cross Origin Resource Sharing (CORS).
Experience Builder wird unter Ihrer Portal-Domäne ausgeführt, die sich möglicherweise von der Domäne des Webservers unterscheidet, auf dem das benutzerdefinierte Widget gehostet wird. Sie müssen CORS im Webserver aktivieren, um den Zugriff über Ihre Portal-Domäne zuzulassen.
- Fügen Sie Ihrem Webserver einen JSON-Handler hinzu.
Jedes Widget besteht aus einer JSON-Manifestdatei, die die Widget-Eigenschaften beschreibt. Einige Webserver erkennen die JSON-Dateierweiterung standardmäßig nicht. In solchen Fällen müssen Sie sie Ihrem Server als neuen MIME-Typ auf Anwendungsebene oder höherer Ebene hinzufügen. Der MIME-Typ muss die Dateierweiterung .json und application/json als MIME-Typ aufweisen.
- Kompilieren Sie das benutzerdefinierte Widget.
Ein benutzerdefinierte Widget kann erst gehostet werden, nachdem es kompiliert wurde. Sie müssen das benutzerdefinierte Widget in das Verzeichnis arcgis-experience-builder/client/your-extension/widgets kopieren. Anschließend müssen Sie npm run build:prod im Client-Verzeichnis ausführen. Danach wird das kompilierte Widget im Verzeichnis client/dist-prod/widgets angezeigt.
- Stellen Sie das benutzerdefinierte Widget für Ihren Webserver bereit.
Sie können den Ordner client/dist-prod/widget/ auf den Webserver kopieren. Nach der Bereitstellung müssen Sie den URL-Pfad zur Manifestdatei des benutzerdefinierten Widgets abrufen. Beispiel für einen URL-Pfad zu einer Manifestdatei: <server.domain.com>/<my widget>/manifest.json.
Registrieren eines benutzerdefinierten Widgets
Sie müssen jedes benutzerdefinierte Widget in Ihrem Portal registrieren. Zum Registrieren eines benutzerdefinierten Widgets sind Portaladministratorberechtigungen erforderlich.
- Melden Sie sich in einem Browser-Fenster bei Ihrem Portal an.
- Klicken Sie auf die Registerkarte Eigene Inhalte der Inhaltsseite.
- Klicken Sie auf Element hinzufügen, und wählen Sie Eine Anwendung aus.
- Wählen Sie Experience Builder (Widget) aus, und geben Sie die URL zu Ihrer Manifestdatei an.
Beispiel für einen URL-Pfad zu einer Manifestdatei: <server.domain.com>/<my widget>/manifest.json.
- Klicken Sie auf das Feld Titel.
Der Titel des Elements wird automatisch aus der Manifestdatei übernommen. Sie können den Titel auch manuell bearbeiten.
- Fügen Die dem Feld Tags Tags hinzu.
- Klicken Sie auf Element hinzufügen.
Das benutzerdefinierte Widget ist nun auf der Registerkarte Eigene Inhalte der Inhaltsseite als der Typ Experience Builder-Widget verfügbar.
Freigeben eines benutzerdefinierten Widgets
Als Portal-Administrator können Sie benutzerdefinierte Widgets für Gruppen in einer Organisation, die Zugriff benötigen, für die gesamte Organisation oder ggf. öffentlich freigeben.
Vorsicht:
Eine App lädt das benutzerdefinierte Widget nur dann, wenn es in derselben Organisation registriert ist wie die Benutzer, die über Berechtigungen zum Zugreifen auf die App verfügen.
Suchen Sie in Eigene Inhalte nach dem benutzerdefinierten Widget, und geben Sie es frei. Beim Öffnen von Experience Builder wird das benutzerdefinierte Widget in der Gruppe Benutzerdefiniert auf der Registerkarte Widget einfügen angezeigt.
Vorsicht:
Wenn beim Laden des benutzerdefinierten Widgets der Fehler 404 gemeldet wird, müssen Sie sicherstellen, dass für das Widget keine Module mit Widget-Paketnamen erforderlich sind. Verwenden Sie stattdessen einen relativen Pfad zum Laden der Module.
Aktualisieren eines benutzerdefinierten Widgets
Ein benutzerdefiniertes Widget kann nicht im Portal aktualisiert werden. Es ist jedoch möglich, die HTML-Struktur und den JavaScript-Code des gehosteten benutzerdefinierten Widgets auf dem Webserver zu aktualisieren.