Diagnostiquer les problèmes de (dé)publication⚓
Ce chapitre vient en complément du manuel outil qui décrit comment lancer sa publication et vérifier son aboutissement.
Votre première source d'information est le fichier Traces, que ce soit pour les publications, ou les dépublications
Truc & astuce : Pour trouver le cas qui me concerne⚓
faire une recherche mot directement (
Ctrl+F)
) dans la page du manuel propre aux problèmes de publication, ou de dépublication ou faire une recherche dans le moteur de recherche du manuel sur les mots significatifs du message ou fichier traces sur lesquels vous souhaitez une explicationvérifier par l'image du message que le cas correspond
Comprendre le processus normal⚓
Schéma du processus normal de publication.
La gestion de la file d'attente⚓
Il existe une file d'attente propre aux publications, et une file d'attente propre aux dépublications.
Chaque file d'attente classe les fichiers à traiter dans l'ordre de date et heure, qu'elles aient été calculées lors de la publication immédiate
ou définies par une publication différée
. Quelles que soient les dates et l'heure, le système ne démarre une publication que s'il a achevé ou renoncé à la précédente.
Dans le cas où s'accumule un grand nombre de lancements de publications de nombreux établissements concernant de gros fichiers, ce traitement progressif explique les délais parfois conséquents (plus de 12 h) entre la validation de la demande et l’achèvement du processus de certaines publications [ou dé-publications] .
La file d'attente fonctionne d'un jour sur l'autre : une publication programmée finira donc par être traitée sans avoir à être relancée.
Conseil : Les gros fichiers EAD⚓
Il est nécessaire de programmer la (re)publication des gros fichiers la nuit ou le week-end, afin de ne pas provoquer de blocage complet des publications pour l'ensemble du réseau.
Les étapes d'un processus de publication abouti⚓
Inscription dans la file d'attente, ce qui génère le chevron gris sur le fichier dans l'interface professionnelle.
Quand vient son tour, démarrage du processus proprement dit de publication et écriture du fichier
Traces
:NB : tant que ce processus proprement dit n'a pas démarré, le fichier Traces contient les informations liées à l'opération précédente.
Eclatement du fichier xml EAD en autant de fichiers qu'il y a de composants <c> + le <archdesc> afin de permettre l'affichage par composant dans l'interface publique
Indexation avec gestion des héritages de chaque composant dans chaque table : chaque index apparaît dans les
Traces
;exemple pour l'index Cote
Récupération des formes d'autorité non retenues d'IdRef pour les index concernés :
Copie de l'ensemble des données du serveur de production au serveur de consultation dédié à l'interface publique :
Attention :
Le processus de publication est d'autant plus long qu'il y a de nombreux composants, de nombreux héritages et/ou une indexation riche.
Par mesure de sécurité, si une publication ne va pas jusqu'au bout, l'ensemble du processus est annulé.
Les 3 étapes d'une dépublication⚓
Suppression de la base de consultation : le fichier disparait de l'arborescence dans l'interface publique
Suppression des unités par composants : ce qui autorise d'en supprimer, d'en rajouter ou d'en déplacer sans risque de conflit avec la version antérieure du fichier lors de la republication
C'est l'importance de cette étape qui rend indispensable la dépublication pour republication des fichiers dont la structure est modifiée :
Suppression de tous les index spécifiques
Identifier la cause d'une publication inaboutie⚓
- Erreur d'encodage au lancement de la publication
- Erreur présente dans l’xml
- Génération en double de l'attribut URL d'<eadid>
- Absence ou erreur de RCR en <corpname> du <repository>
- Message d'échec de la publication en raison d'une trop grande sollicitation du serveur Abes
- Message de saturation des fichiers backup
- Problème de réplication des données
Pour connaître l'état d'aboutissement d'une publication, la première source d'information est le fichier Traces.
Le processus complet de publication est décrit dans l'introduction de ce chapitre.
Truc & astuce :
Ce chapitre permet à la fois
de visualiser dans une image la forme que prend le message affiché
de faire une recherche mot dans cette page ou dans le moteur de recherche du manuel sur les mots significatifs du fichier traces sur lesquels vous souhaitez une explication
Erreur d'encodage au lancement de la publication⚓
Message popup immédiat lors du lancement de la publication⚓
System Xml.XmlException :... ... ... c :\inetpub\wwwroot\Calames\prod\EadUpload.aspx :ligne 217 |
Diagnostic⚓
Le système détecte que le document XML n'est pas valide : il ne respecte pas les règles de xml ou n'est pas conforme : il viole la DTD EAD. Le message peut éventuellement pointer un détail de non conformité ou non validité.
Attention il ne peut mentionner que la première cause rencontrée qui bloque le processus de publication, mais le fichier peut contenir plusieurs problèmes XML ou EAD.
Résolution⚓
Exporter le fichier au format Natif-Déclaration avec l'extension .xml
Ouvrir ce fichier exporté dans NotePad++ ou un éditeur XML type Oxygen et lancer un processus de validation pour avoir la liste exhaustive des violations de la DTD ou de l'XML
Corriger les erreurs directement dans cet éditeur XML extérieur à Calames, enregistrer le fichier corrigé et relancer un processus de validation pour vérifier qu'il est désormais valide et conforme
Réimporter le fichier xml corrigé dans Calames
Erreur présente dans l’xml⚓
Symptômes dans le fichier Traces⚓
ErrMessage Analyse XML : ligne X, caractère XXXX... |
Diagnostic⚓
Une erreur présente dans l’xml du fichier EAD peut très bien n’avoir eu aucune conséquence au moment de l’import de ce fichier dans Calames, mais bloquer ensuite la publication de ce fichier.
Le problème se situe ici dans l’encodage xml du fichier EAD.
Les traces indiquent après « ErrMessage Analyse XML » la ligne et l'ordre du caractère à corriger dans l'xml.
Résolution⚓
Exporter le fichier au format Natif-Déclaration avec l'extension .xml
Ouvrir ce fichier exporté dans NotePad++ ou un éditeur XML type Oxygen et lancer un processus de validation pour avoir la liste exhaustive des violations de la DTD ou de l'XML
Corriger les erreurs directement dans cet éditeur XML extérieur à Calames, enregistrer le fichier corrigé et relancer un processus de validation pour vérifier qu'il est désormais valide et conforme
Réimporter le fichier xml corrigé dans Calames
Génération en double de l'attribut URL d'<eadid>⚓
Symptômes dans le fichier Traces⚓
ErrMessage Vérification du code XML : attribut 'url' en double. Réécrivez votre expression XQuery de sorte qu'elle retourne un code XML correct. |
Diagnostic⚓
L'attribut URL d'<eadid> dans l'<eadheader> est considéré comme en double dans le fichier EAD alors que sa répétition est invalide car la valeur saisie manuellement dans le document EAD entre en conflit avec la valeur automatiquement calculée par le système lors de la publication.
Résolution⚓
Dans l'interface professionnelle, effacer la valeur présente dans l'attribut URL d'<eadid>, puis relancer la publication.
Absence ou erreur de RCR en <corpname> du <repository>⚓
Message d'échec de la publication en raison d'une trop grande sollicitation du serveur Abes⚓
Symptômes dans le fichier Traces⚓
copie d'ecran traces | Déc 10 2015 5:36PM [SQLSTATE 01000] Message 1205, gravité 13, état 51, ligne 32 : La transaction (ID de processus 61) a été bloquée sur les ressources verrou | tampon de communication par un autre processus et a été choisie comme victime. Réexécutez la transaction. [SQLSTATE 40001] |
Diagnostic⚓
Dans ce cas, au maximum 12 heures après la publication, Calames affiche un message dans les traces du fichier EAD à publier qui témoigne de l'échec de la publication en raison d'une trop grande sollicitation du serveur Abes hébergeant la base de production Calames ("bloqué sur les ressources verrous").
Résolution⚓
Relancer le processus de publication, de préférence en différé et en-dehors des heures de bureau
Message de saturation des fichiers backup⚓
Symptômes dans le fichier Traces⚓
Message 9002, gravité 17, état 2, ligne 1 : Le journal des transactions de la base de données « Calames » est plein en raison de « LOG_BACKUP ».
Attention :
Le message indiquant que la publication s’est achevée avec succès peut tout de même apparaître lorsque vous affichez les Traces du fichier, mais le fichier n’apparaît pas pour autant dans l’interface publique de Calames.
Diagnostic⚓
Même après plusieurs heures, le fichier n'apparaît pas dans l'interface publique de Calames.
Résolution⚓
Relancer le processus de publication, de préférence en différé et en-dehors des heures de bureau
Si 24h après cette relance, vous constatez que la publication échoue à nouveau, ouvrir un ticket sur le guichet ABESstp Calames Pro, domaine Dysfonctionnement technique.
Problème de réplication des données⚓
Symptômes dans le fichier Traces⚓
A la fin du fichier Traces : « Le fournisseur OLE DB "SQLNCLI11" du serveur lié "CGM-READ" a retourné le message "Délai d'attente de requête expiré". [SQLSTATE 01000] » |
Diagnostic⚓
Le serveur qui sert au fonctionnement de la recherche publique n'était pas joignable : les données de la base de production n'ont donc pas pu être copiées sur la base de consultation. Dans ce cas, pour éviter toute confusion, le processus de publication est entièrement annulé.
Résolution⚓
Relancer le processus de publication, de préférence en différé et en-dehors des heures de bureau.
Identifier la cause d'une dépublication inaboutie⚓
Pour connaître l'état d'aboutissement d'une dépublication, la première source d'information est le fichier Traces.
Le processus complet de dépublication est décrit dans l'introduction de ce chapitre.
Sacrifice d'une dépublication⚓
Symptôme⚓
Travail « Despublication de :1623 » : étape 1, « Premiere étape » : début d'exécution de 2019-12-02 15:11:24
debut depublication [SQLSTATE 01000]
debut depublication [SQLSTATE 01000]
fin depublication [SQLSTATE 01000]
appel depublie sur :CGM-READ [SQLSTATE 01000]
execution de :execute [CGM-READ].[Formation].[dbo].[sp_DesPublie] 1623 [SQLSTATE 01000]
debut depublication [SQLSTATE 01000]
Message 1205, gravité 13, état 52, ligne 16 : La transaction (ID de processus 61) a été bloquée sur les ressources verrou | tampon de communication par un autre processus et a été choisie comme victime. Réexécutez la transaction. [SQLSTATE 40001]
fin depublication [SQLSTATE 01000]
Diagnostic⚓
Quand le système de publication est sursollicité ("bloqué sur les ressources verrous"), il decide de sacrifier certaines dépublications ("choisie comme victime") pour être sûr de mener les autres à leur terme. C'est surtout le cas quand un même établissement lance successivement et sans pause plus de 4 ou 5 dépublications quasi simultanées
Résolutions⚓
Relancer les dépublications en veillant à attendre que la précédente ait abouti pour lancer la suivante
En cas de besoin de dépublications massives (plus de 10 fichiers), il est possible de demander à l'Abes de les programmer pour la nuit suivante en lui envoyant par AbesSTP la liste des clés concernées
Un fichier dépublié toujours affiché au public⚓
Symptôme⚓
Le fichier que vous pensez avoir dépublié est toujours visible dans l'interface publique à son ancienne place dans l'arborescence, mais le fichier a disparu de l'interface professionnelle.
Diagnostic⚓
Il s'agit d'une suppression sans dépublication : les données sont donc restées sur le serveur de consultation et ont été supprimées du serveur de production.
Résolution⚓
Relever la clé du fichier concerné, grâce à l'url dans l'interface publique
Faire un ticket AbesSTP pour demander à l'Abes :
soit de mener la suppression à son terme en procédant à la dépublication oubliée : seul un administrateur peut le faire
soit de réimporter le fichier qui n'aurait pas dû être supprimé dans la base de production à partir des sauvegardes
Eviter des publications problématiques⚓
Cas de publications abouties mais perturbant l'affichage public⚓
Manques dans la mise en oeuvre de l'arborescence de l'établissement⚓
Symptôme⚓
La fonction Accès direct ne peut pas donner accès à la totalité des données de cet établissement. Seul le dernier fichier publié par l'établissement est alors accessible par ce moyen.
La recherche par mot peut dans ce cas conduire à n'importe lequel de ces fichiers, mais la navigation hiérarchique dans les fonds, faute de relation renseignée, est impossible.
Diagnostic⚓
Un établissement (= un RCR Calames) possède plusieurs fichiers EAD publiés sans que ces fichiers ne soient organisés par une liaison ou une inclusion.
Résolution⚓
Renseigner les propriétés de chaque fichier EAD de manière ce qu'ils constituent une arborescence de fichiers cohérente. Au plus haut niveau de cette arborescence, le fichier maître doit être un unique fichier.
Un tableau de l'arborescence donnant une vue d'ensemble peut être demandé à l'Abes en ouvrant un ticket sur le guichet ABESstp Calames pro.
Mauvais ordre de (re)publication des fichiers⚓
Symptôme⚓
Les fichiers ne s'affichent pas dans l'ordre voulu dans l'interface publique.
Diagnostic⚓
Un ou plusieurs fichiers ne sont pas publiés ou republiés selon l'ordre de leurs liaisons et / ou de leur inclusion dans un fichier parent.
Dans le cas des liaisons entre fichiers, le non respect de l'ordre de liaison lors d'une publication ou d'une republication des fichiers liés entraîne l'échec de la publication des fichiers liés suivants celui qui n'a pas été publié dans le bon ordre.
Résolution⚓
Dépublier les fichiers
Modifier leurs liaisons ou numéros d'ordre d'inclusion dans leurs propriétés
Republier les fichiers