Préparer des données pour une utilisation hors connexion
Dans cette rubrique
- Préparation des données
- Préparation d'un service d'entités
- Sortie provenant du téléchargement des copies locales des données ou de la synchronisation avec le service
- Modes synchrone et asynchrone
- Informations système pour les processus de synchronisation
Pour utiliser une carte 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.
Remarque :
Les clients ArcGIS et les SDK pour les développeurs prendront progressivement en charge la fonction de synchronisation dans les services d'entités, qui a été introduite dans ArcGIS 10.2.1 for Server. 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. Vous ne pouvez pas activer la fonctionnalité de synchronisation sur les services d'entités publiés avant ArcGIS 10.2.1 for Server.
Les autres clients peuvent accéder à la fonction de synchronisation via l'API REST d'ArcGIS.
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.
Les données que vous utilisez dans un service d'entités sur lequel la synchronisation est activée peuvent être non versionnées lorsque l'archivage est activé ou versionnées lorsque les données ou les workflows de votre organisation le nécessitent.
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 mélanger des données versionnées et des données non versionnées.
Données non versionnées avec archivage
Vous pouvez utiliser des données non versionnées archivables dans un service d'entités sur lequel la fonctionnalité de synchronisation est activée. Lorsque les données ne sont pas versionnées, les clients utilisent toujours la représentation actuelle des données. Aucun processus back-office n'est requis pour les clients s'exécutant en mode hors connexion en vue d'obtenir les dernières modifications lorsqu'ils recouvrent la connexion au service d'entités.
Préparez les données non versionnées comme suit pour utiliser la fonction de synchronisation :
- Activez l'archivage dans les jeux de données.
- 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 dans 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 services d'entités qui font référence à des données non versionnées à partir d'une géodatabase d'entreprise 10.2 ou ultérieure, mettre les données en mode hors connexion pour les mettre à jour et synchroniser les modifications avec la géodatabase d'entreprise par l'intermédiaire du service d'entités.
Données versionnées
Si votre organisation requiert l'un des éléments suivants, utilisez des données versionnées :
- Les données font partie d'une fonctionnalité de géodatabase qui requiert leur versionnement pour permettre leur mise à jour. Par exemple, si la classe d'entités fait partie d'un réseau géométrique, le jeu de données d'entité doit être versionné.
- Votre organisation a mis en place des workflows qui requièrent le versionnement des données, par exemple pour disposer d'une version d'assurance qualité des données.
Procédez comme suit si vous allez utiliser des données versionnées :
- 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 services d'entités qui font référence à des données versionnées à partir d'une géodatabase d'entreprise 10.1 ou ultérieure, mettre les données en mode hors connexion pour les mettre à jour et synchroniser les modifications avec la géodatabase d'entreprise par l'intermédiaire du service d'entités.
Pour plus d’informations, reportez-vous à la rubrique Cartes en mode hors connexion et données versionnées.
Identifiant global
Les ID globaux que vous ajoutez aux jeux de données placés en mode hors connexion ne peuvent pas reposer sur un champ personnalisé ; ils doivent utiliser explicitement le champ Global ID 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 en mode hors connexion, les valeurs existantes des champs de suivi de l'é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.
Remarque :
Toutes les valeurs de date doivent être au format UTC.
Les données en mode hors connexion incluent le nom de l'utilisateur qui a pris la carte en mode hors connexion. Vous pouvez l'utiliser avec le suivi de l'éditeur comme suit :
- Pour les entités qui ont été créées en mode hors connexion, le nom du créateur est défini sur l'utilisateur ayant placé la carte en mode hors connexion.
- Pour les entités qui ont été mises à jour en mode hors connexion, le nom de l'éditeur est défini sur l'utilisateur ayant placé la carte en mode hors connexion. Le nom du créateur de ces entités n'est pas modifié.
La personne ayant placé la carte en mode hors connexion ou un administrateur ArcGIS Server peut se connecter au service et synchroniser les données.
Services d'entités hébergés
Si vous publiez des services d'entités hébergés sur ArcGIS Online (couches d'entités hébergées), les données ne sont jamais versionnées et sont automatiquement préparées pour être synchronisées lors de l'activation des 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 d'entités hébergés sur Portal for ArcGIS, les données sont copiées dans la base de données gérée du serveur d'hébergement du portail. Ces données sont toujours non versionnées. Si votre portail utilise ArcGIS Data Store pour la base de données gérée du serveur d'hébergement, les données sont automatiquement préparées pour être synchronisées lorsque vous activez les fonctions de synchronisation. Si vous n'utilisez pas ArcGIS Data Store pour la base de données gérée, vous devrez peut-être modifier manuellement les données à synchroniser. 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 de 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 comptent uniquement interroger 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 modifiées hors connexion et resynchronisées sur le service.
- Données modifiables : si les clients comptent 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 suivantes sur le service d'entités :
- Requête
- Synchronisation
- Toute combinaison des fonctions Créer, Supprimer et Mettre à jour
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
Si vous utilisez des données non versionnées, évitez 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 dans ArcMap des données non versionnées qui sont également synchronisées 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.
La personne ayant placé la carte en mode hors connexion ou un administrateur ArcGIS Server peut se connecter au service et synchroniser les données. Lorsqu'un administrateur synchronise les mises à jour effectuées hors connexion, le contrôle d'accès basé sur la propriété dépend de l'utilisateur ayant placé la carte en mode hors connexion, et non pas de l'administrateur.
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.
Remarque :
Une fois la fonctionnalité de synchronisation activée, les sous-types doivent être visibles. Sinon, votre carte ne peut pas être utilisée hors connexion.
Couches cartographiques
Un service d'entités publié sur ArcGIS for Server ou Portal for ArcGIS qui contient deux couches basées sur la même classe d'entités ne peut pas être placé en mode hors connexion, mis à jour ni synchronisé.
Par exemple, si vous ajoutez vos classes d'entités de routes à la carte pour afficher toutes les routes, ajoutez la même classe d'entités de routes et définissez un ensemble de définition pour afficher les routes en cours de construction, puis que vous publiez un service d'entités à partir de la carte, vous ne pouvez pas placer ce dernier en mode hors connexion pour le mettre à jour ni synchroniser vos modifications lorsque vous êtes en ligne.
Options de synchronisation
Lorsqu'un service d'entités modifiable contient des données versionnées, une version est créée pour les clients individuels lorsqu'une carte est placée en mode hors connexion. Lorsqu'un client synchronise les modifications avec le service d'entités, les mises à jour sont appliquées à cette version. L'administrateur de géodatabase doit exécuter des processus de réconciliation et de réinjection pour partager les mises à jour avec d'autres utilisateurs.
Lorsqu'un service d'entités en lecture seule (seules les fonctionnalités Query et Sync sont activées) contient des données versionnées, aucune version n'est créée. Lorsqu'un client se synchronise avec la version publiée, les modifications avec le service d'entités publié sont automatiquement disponibles au niveau du client.
Par défaut, une version est créée à chaque fois qu'un utilisateur place une carte en mode hors connexion. Toutefois, l'administrateur ArcGIS Server ou le propriétaire du service d'entités peut configurer le service d'entités afin de créer une version pour chaque connexion.
Par exemple, cinq versions différentes sont générées si cinq membres différents du personnel de terrain placent la carte en mode hors connexion. Chaque version est spécifique à une connexion individuelle, et le nom de la version dépend du nom de connexion et du nom de service (par exemple, Joe_ValveFS). Si Joe place la carte en mode hors connexion à plusieurs reprises (par exemple, pour plusieurs périphériques), la même version est utilisée lorsque Joe synchronise les données à partir de chaque périphérique. Par conséquent, un périphérique peut accéder aux mises à jour à partir de l'autre périphérique. Toutefois, les nouvelles cartes hors connexion refléteront uniquement les modifications de la dernière réconciliation effectuée par Joe. Une version subsiste tant que la personne qui a placé la carte en mode hors connexion détient cette dernière.
Remarque :
Les noms des versions créées pour la synchronisation sont limités à 30 octets.
Pour définir cette option de synchronisation sur un service ArcGIS for Server, procédez comme suit :
- Connectez-vous à ArcGIS Server Manager en tant que propriétaire du service ou qu'administrateur ArcGIS Server.
- Assurez-vous que l'option Services est sélectionnée en haut d'ArcGIS Server Manager.
- Accédez à votre service d'entités et cliquez sur le nom du service pour ouvrir les informations s'y rapportant.
- Cliquez sur Fonctionnalités.
- Sélectionnez Accès aux fonctions.
- Dans la section Propriétés, cliquez sur Options avancées.
La boîte de dialogue Options avancées du service d’entités s'affiche.
- Sous Sync, choisissez Créer une version pour chaque Carte téléchargée ou Utilisateur.
- Cliquez sur OK pour fermer la boîte de dialogue Options avancées du service d’entités.
- Cliquez sur Enregistrer et redémarrer pour appliquer les changements de paramètres à votre service d'entités.
Le temps du redémarrage, le service est indisponible.
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.
Vous avez un commentaire à formuler concernant cette rubrique ?