Ajouter des widgets personnalisés

À partir de ArcGIS Enterprise 11.0, vous pouvez ajouter des widgets Experience Builder personnalisés à un portail. Cela signifie que vous pouvez choisir les widgets personnalisés dans l’environnement de conception lorsque vous créez une application. Pour que vous puissiez utiliser un widget personnalisé, il doit être hébergé sur un serveur Web et enregistré auprès d’un portail. Pour des raisons de sécurité, seuls les administrateurs du portail peuvent enregistrer les widgets personnalisés. Les widgets personnalisés partagés publiquement peuvent être utilisés dans les applications publiques et accessibles aux utilisateurs anonymes.

Héberger un widget personnalisé sur un serveur web

L’hébergement d’un widget personnalisé sur un serveur Web s’apparente à l’hébergement de toute application Web. Vous devez installer et configurer un serveur Web. Les serveurs Web courants sont notamment IIS et Apache HTTP Server .

Pour héberger des widgets personnalisés sur un serveur Web, procédez comme suit :

  1. Activez l’accès anonyme au répertoire virtuel dans lequel vos widgets sont hébergés.

    L’emplacement d’hébergement doit être accessible anonymement.

  2. Activez HTTPS.

    Activez l’accès HTTPS sur votre serveur web pour éviter de créer du contenu mélangé. Experience Builder n’autorise pas le contenu actif mixte généré par le chargement HTTP sous une connexion HTTPS. En outre, votre serveur doit posséder un certificat SSL valide émis par une autorité de certification pour établir la connexion HTTPS.

  3. Activez la norme CORS (Cross-Origin Resource Sharing).

    Experience Builder est exécuté sous votre domaine de portail, qui peut être différent du domaine du serveur Web hébergeant votre widget personnalisé. Vous devez activer CORS sur le serveur web afin d’autoriser l’accès depuis votre domaine de portail.

  4. Ajoutez un gestionnaire JSON à votre serveur web.

    Chaque widget se compose d’un fichier manifeste JSON qui décrit les propriétés du widget. Certains serveurs web ne reconnaissent pas l’extension de fichier JSON par défaut. Dans ce cas, vous devez l’ajouter à votre serveur web comme nouveau type MIME au niveau de l’application ou à un niveau supérieur. Le type MIME doit comporter l’extension de nom de fichier .json et le type MIME application/json.

  5. Compilez le widget personnalisé.

    Avant d’héberger un widget personnalisé, vous devez le compiler. Vous devez copier le widget personnalisé dans le répertoire arcgis-experience-builder/client/your-extension/widgets. Vous devez ensuite exécuter npm run build:prod sous le répertoire client. Le widget compilé apparaît alors dans le répertoire client/dist-prod/widgets.

  6. Déployez le widget personnalisé sur votre serveur web.

    Vous pouvez copier le dossier client/dist-prod/widget/ sur votre serveur web. Après le déploiement, vous devez obtenir le chemin d’URL menant au fichier manifeste de votre widget personnalisé. Voici un exemple de chemin d’URL de fichier manifeste : <server.domain.com>/<my widget>/manifest.json.

Enregistrer un widget personnalisé

Vous devez enregistrer chaque widget personnalisé dans votre portail. Des privilèges d’administrateur de portail sont requis pour enregistrer un widget personnalisé.

  1. Dans une fenêtre de navigateur, connectez-vous au portail.
  2. Cliquez sur l’onglet My Content (Mon contenu) de la page de contenu.
  3. Cliquer sur Add Item (Ajouter un élément), puis sélectionner An application (Une application).
  4. Sélectionnez Experience Builder widget (Widget Experience Builder), puis spécifiez l’URL de votre fichier manifeste.

    Voici un exemple de chemin d'URL de fichier manifeste : <server.domain.com>/<my widget>/manifest.json.

  5. Cliquez sur la zone Titre.

    Le titre de l’élément est automatiquement renseigné à partir du fichier manifeste. Vous pouvez également mettre à jour manuellement le titre.

  6. Ajoutez des balises dans la zone Balises.
  7. Cliquez sur Ajouter un élément.

    Le widget personnalisé est désormais disponible dans l’onglet My Content (Mon contenu) de la page de contenu avec le type Experience Builder widget (Widget Experience Builder).

Partager un widget personnalisé

En tant qu’administrateur du portail, vous pouvez partager des widgets personnalisés avec des groupes d’une organisation qui ont besoin d’y accéder, avec l’organisation dans son ensemble ou publiquement, si nécessaire.

Attention :

Une application charge uniquement le widget personnalisé qui est enregistré dans la même organisation que les utilisateurs autorisés à accéder à l’application.

Dans My Content (Mon contenu), accédez au widget personnalisé et partagez-le. Lorsque vous ouvrez Experience Builder, le widget personnalisé s’affiche dans le groupe Custom (Personnalisé) de l’onglet Insert widget (Insérer un widget).

Attention :

Si une erreur 404 s’affiche lors du chargement du widget personnalisé, vérifiez que celui-ci n’appelle pas les modules en utilisant son propre nom de paquetage. Il est préférable d’utiliser un chemin relatif pour charger les modules.

Mettre à jour un widget personnalisé

Vous ne pouvez pas mettre à jour un widget personnalisé dans le portail. Toutefois, vous pouvez mettre à jour la structure HTML et le code JavaScript du widget personnalisé hébergé sur le serveur Web.