Préparation des données pour les utiliser hors connexion
Pour utiliser des cartes même lorsque vous n'êtes pas connecté, vous pouvez activer une fonction de synchronisation dans les services d'entités que vous utilisez sur votre carte. La fonction de synchronisation permet aux clients d'utiliser une copie locale des données. Si l'éditeur choisit d'autoriser cette fonction, les clients peuvent mettre à jour la copie locale des données et la synchroniser avec le service d'entités lorsque la connexion est disponible.
Les clients ArcGIS et les SDK pour les développeurs prendront progressivement en charge la fonction de synchronisation dans les services d'entités. Les premiers clients à prendre en charge l'utilisation des cartes en mode hors connexion sont les versions 10.2.2 de Collector for ArcGIS et ArcGIS Runtime SDK.
Préparation des données
Pour utiliser la fonction de synchronisation, toutes les données du service d'entités doivent provenir d'une géodatabase d'entreprise. De même, vous devez préparer les données afin qu'elles puissent être utilisées hors connexion et, le cas échéant, synchronisées via le service d'entités lorsque la connexion est recouvrée. Le mode de préparation des données varie selon que la copie locale des données sera modifiable ou en lecture seule et, pour le cas où la copie locale des données sera en lecture seule, selon que vous utilisez ou non des données versionnées dans votre service d'entités.
Si les clients vont modifier les données en mode hors connexion et synchroniser leurs modifications lorsqu'ils recouvrent la connexion, le service d'entités doit contenir des données non versionnées. Les données non versionnées doivent être préparées comme suit pour faire partie de la fonction de synchronisation :
- Activez l'archivage dans les jeux de données.Remarque :
Vous pouvez activer l'archivage sur une classe d'entités uniquement si celle-ci contient un type de données spatiales SQL, plutôt qu'un type spatial binaire. Si votre classe d'entités utilise un type binaire Esri pour le stockage des géométries, vous devez migrer les données pour utiliser un type spatial SQL avant d'activer l'archivage.
- Incluez des ID globaux dans les jeux de données.
- Les classes de relations et les pièces jointes doivent utiliser une clé primaire d'ID global. Pour plus d'informations, consultez la section Pièces jointes et classes de relations de cette rubrique.
Pour une présentation détaillée de ce scénario, reportez-vous à la rubrique Didacticiel : Configuration des données d'un service d'entités pour une utilisation hors connexion.
Vous pouvez publier des données non versionnées à partir d'une géodatabase d'entreprise 10.2 ou version ultérieure, modifier les données en mode hors connexion, puis synchroniser les modifications avec la géodatabase d'entreprise.
Si les clients ne vont interroger que les données qu'ils téléchargent, les données du service d'entités peuvent être non versionnées ou versionnées. Si les données sont non versionnées, préparez-les selon la description ci-dessus. Si les données sont versionnées, configurez-les comme suit :
- Incluez des ID globaux dans les jeux de données.
- Inscrivez les jeux de données comme versionnés.
- Les classes de relations et les pièces jointes doivent utiliser une clé primaire d'ID global. Pour plus d'informations, consultez la section Pièces jointes et classes de relations dans cette rubrique.
Vous pouvez publier des données versionnées à partir de toute version de la géodatabase d'entreprise prise en charge, puis placer les données en mode hors connexion.
La fonction de synchronisation ne peut être activée que lorsque toutes les données de la carte sont configurées exactement de la même façon. Vous ne pouvez pas avoir un mélange de données avec différentes configurations. Par exemple, si les clients vont modifier les données (les données ne seront par conséquent pas versionnées), l'archivage doit être activé sur toutes les données de la carte et des ID globaux doivent être inclus. Les ID globaux ne peuvent pas reposer sur un champ personnalisé. Ils doivent utiliser explicitement le champ ID global créé par ArcGIS. Pour ajouter des ID globaux à vos données, utilisez l'outil de géotraitement Ajouter les ID globaux ou la commande Ajouter les ID globaux qui se trouve dans les menus contextuels de la classe d'entités, du jeu de données d'entité et de la table dans l'arborescence du catalogue.
Pièces jointes et classes de relations
Si les données que vous voulez utiliser hors connexion contiennent des pièces jointes ou font partie d'une classe de relations, la relation entre les tables ou la table et la pièce jointe doit utiliser une colonne ID global ou un champ géré par l'utilisateur comme clé primaire. Si la colonne ObjectID est la clé primaire, une erreur est renvoyée lorsque vous téléchargez les données pour les utiliser hors connexion. Vous pouvez faire appel à l'outil de géotraitement Migrer la classe de relations pour convertir des classes de relations basées sur des IdObjet et des pièces jointes pour qu'elles utilisent des champs ID Global comme clé primaire.
Utilisation de la base de données gérée d'ArcGIS Server
Si vous activez la fonction de synchronisation lorsque vous publiez vos données dans la base de données gérée d'ArcGIS Server, aucune préparation des données n'est nécessaire. Le processus de publication configure les données de façon à prendre en charge automatiquement la fonction de synchronisation. Si vous ne publiez pas vos données dans la base de données gérée d'ArcGIS Server ou si vous activez la fonction de synchronisation après la publication dans la base de données gérée, vous devez préparer les données de votre géodatabase conformément aux sections précédentes.
Suivi d'éditeur
Vous pouvez utiliser le suivi d'éditeur avec les données qui sont modifiées en mode hors connexion. Lorsque vous téléchargez des données sur le client pour les utiliser hors connexion, les valeurs existantes dans les champs de suivi d'éditeur sont copiées sur le client avec le reste des données. Lorsque vous utilisez les données en mode hors connexion, la date et l'heure de création ou de modification des entités sont enregistrées dans les champs de date de création et de date de mise à jour, respectivement. Ces valeurs sont conservées lorsque les données sont synchronisées avec le service.
Toutes les valeurs de date doivent être au format UTC.
Comme vous n'êtes pas connecté au serveur et n'avez pas accès au magasin d'utilisateurs du serveur lorsque vous travaillez hors connexion, le nom de l'éditeur et le nom du créateur sont renseignés lorsque les données sont synchronisées avec le service.
- Pour les entités qui ont été créées en mode hors connexion, le nom du créateur est défini sur l'utilisateur qui se connecte au service pour synchroniser les données.
- Pour les entités existantes qui ont été modifiées en mode hors connexion, le nom de l'éditeur est défini sur l'utilisateur qui se connecte au service pour synchroniser les données. Le nom du créateur de ces entités n'est pas modifié.
Services d'entités hébergés
Si vous publiez des services d'entités hébergés sur ArcGIS Online, les données qui sont automatiquement préparées sont synchronisées lorsque vous activez les fonctions de synchronisation. En effet, les éditeurs n'ont pas accès au serveur d'hébergement ArcGIS Online et, par conséquent, ne peuvent pas préparer manuellement les données pour utiliser les fonctions de synchronisation.
Lorsque vous publiez des services hébergés sur Portal for ArcGIS, vous pouvez modifier les données manuellement. Pour plus d'informations, reportez-vous à la rubrique Activation d'un service d'entités hébergé pour utiliser des cartes hors connexion dans l'aide Portal for ArcGIS.
Préparation d'un service d'entités
Au moment de la création d'un service d'entités, l'éditeur choisit les options qui définissent les modifications pouvant être réalisées via le service. Les sections suivantes décrivent comment les options sont appliquées lors de l'utilisation des cartes en mode hors connexion :
Opérations autorisées (fonctionnalités)
Les fonctionnalités du service d'entités définissent les opérations autorisées lors de l'utilisation d'un service d'entités. Deux configurations sont prises en charge pour les services d'entités qui participent à l'utilisation d'une carte hors connexion :
- Données en lecture seule : si les clients ne vont interroger que les données qu'ils téléchargent du service d'entités pour les utiliser hors connexion, définissez les fonctionnalités QUERY et SYNC sur le service d'entités. Avec cette configuration, les données ne peuvent pas être resynchronisées sur le service.
- Données modifiables : si les clients vont mettre à jour les données hors connexion et synchroniser les modifications avec le service d'entités lorsqu'ils sont de nouveaux connectés, définissez les fonctionnalités CREATE, DELETE, QUERY, SYNC et UPDATE sur le service d'entités. Notez que vous devez accorder toutes les fonctionnalités de mise à jour.
Toutes les autres configurations renverront une erreur lors du téléchargement ou de la synchronisation des données.
Une fois le service d'entités créé, les éditeurs et administrateurs peuvent choisir de désactiver la fonction de synchronisation. Par exemple, un éditeur ou un administrateur peut désactiver la fonction de synchronisation sur le service pour empêcher les clients de se synchroniser avec le service lors des tâches de maintenance des données, par exemple pendant la reconstruction des index.
Transactions courtes
Evitez de laisser les transactions de mise à jour ouvertes pendant trop longtemps lorsque vous modifiez un service d'entités sur lequel la synchronisation est activée. Par exemple, si vous projetez de mettre à jour des données dans ArcMap qui sont également utilisées pour la synchronisation par un service d'entités, enregistrez régulièrement vos modifications et arrêtez les modifications à la fin de la session de mise à jour.
Mises à jour de la géométrie et courbes vraies
Le service d'entités peut être configuré de façon à autoriser les mises à jour de la géométrie et les mises à jour des données comportant des courbes vraies. Ces paramètres sont appliqués lorsque les modifications sont synchronisées depuis le client sur le service. Les modifications apportées par le client qui ne respectent pas les mises à jour de la géométrie et les paramètres des courbes vraies du service d'entités ne seront pas synchronisées avec le service.
Contrôle d'accès basé sur la propriété
Vous pouvez contrôler l'accès aux entités à l'aide du contrôle d'accès en fonction de la propriété. Les modifications apportées par le client qui ne sont pas conformes aux règles de contrôle d'accès de propriété ne seront pas synchronisées avec le service. L'identifiant de connexion utilisé pour synchroniser les modifications est considéré comme étant l'éditeur dans ce cas.
Champs invisibles et en lecture seule
Lorsque vous créez un service d'entités, vous pouvez définir certains champs en lecture seule ou les rendre invisibles pour le service d'entités. Les champs invisibles pour le service d'entités ne seront pas téléchargés sur le client pour l'utilisation hors connexion. Les champs en lecture seule resteront en lecture seule dans les données téléchargées.
Sortie provenant du téléchargement des copies locales des données ou de la synchronisation avec le service
Lorsque vous téléchargez des données sur un client local, un fichier contenant les données est créé dans le répertoire en sortie ArcGIS Server et votre client télécharge ce fichier. Par défaut, les fichiers auxquels aucun processus n'a accédé depuis plus de 10 minutes sont supprimés du répertoire en sortie. Si vous pensez que plus de 10 minutes s'écouleront avant que le client ne commence à télécharger le fichier, vous pouvez créer un autre répertoire en sortie avec un temps de nettoyage plus long et utiliser ce répertoire en sortie pour vos services d'entités. Vous pouvez également augmenter le temps de nettoyage du répertoire en sortie par défaut. Cependant, ceci affecte tous les services qui utilisent le répertoire en sortie par défaut.
Modes synchrone et asynchrone
Les opérations de synchronisation qui téléchargent les copies locales des données ou synchronisent les modifications sur le service peuvent s'exécuter en mode synchrone ou asynchrone. En mode synchrone, le processus est exécuté par le service. Par conséquent, les paramètres du service (par exemple, le nombre minimum et maximum d'instances utilisées, les délais d'expiration et les intervalles de recyclage) s'appliquent. En mode asynchrone, le processus est exécuté par le service de géotraitement SyncTools qui est préconfiguré avec ArcGIS Server. Par conséquent, les paramètres du service de géotraitement SyncTools s'appliquent.
Informations système pour les processus de synchronisation
Lorsque des données sont téléchargées pour utiliser la carte hors connexion ou lorsque des modifications sont resynchronisées sur le service, les informations concernant ces processus sont stockées dans les tables système de la géodatabase d'entreprise que le service d'entités utilise pour ses données source. La ressource de réplicas du service d'entités répertorie les métadonnées du service d'entités. Si le service est sécurisé, seules les métadonnées associées à l'utilisateur connecteur ou anonyme sont répertoriées. Les services de géodonnées incluent également une ressource de réplicasqui répertorie les métadonnées de tous les services d'entités qui référencent la géodatabase. Les administrateurs peuvent, par exemple, utiliser les services de géodonnées pour répertorier les métadonnées par service ou pour supprimer les métadonnées des services d'entités qui ont été supprimés.
Les clients accèdent à la fonction de synchronisation via l'API REST d'ArcGIS.