Comment changer un lien Confluence après une migration - Valiantys - Atlassian Platinum Partner

Visionnez nos Webinars à la demande | Agilité à l'échelle, IT Service Management, Cloud, Bonnes pratiques Jira, Témoignages clients... Cliquez-ici !

valiantys-logo
Back

Comment changer un lien Confluence après une migration

Réaliser une migration de serveur d’une instance Confluence et d’une instance Jira liées entre elles dans le cadre d’une fusion d’instance, d’une séparation d’instance ou encore d’un changement de domaine n’est pas une procédure à prendre à la légère. Lorsque vos deux applications contiennent des liens, ceux-ci doivent être mis à jour pour suivre le changement du nom du serveur et éventuellement le changement d’ID des pages Confluence.

Les liens de Confluence vers Jira (liens Jira dans Confluence) étant dépendants des application links, ils ne sont pas impactés par la migration.

En revanche, ceux de Jira vers Confluence (liens Confluence dans Jira) conservent l’ancien nom du serveur ainsi que les anciens ID des pages et doivent donc être modifiés en masse via la base de données.

Dans cet article, nous allons voir deux procédures qui, selon le type de migration effectuée, vous permettront de remettre en place les liens entre vos deux applications.

A chaque type de migration sa procédure

En fonction du type de migration effectuée, les actions à mener sont différentes : cela est dû au fait que dans certains cas l’ID des pages est conservé et dans d’autres non. Nous aurons donc deux procédures :

  • Cas A : Seul le nom du serveur est modifié et l’ID des pages est conservé
    C’est le cas lorsque vous réalisez une migration via une copie du dossier home et un dump/restore de la base de données et lorsque vous réalisez votre migration via export et import de Confluence. Pour réaliser notre procédure, nous aurons seulement besoin de l’accès à la base de donnée de Jira sur le serveur cible.
  • Cas B : Le nom du serveur ainsi que l’ID des pages sont modifiés
    C’est le cas lorsque vous réalisez votre migration via export et import d’espaces. Dans cette situation, nous aurons besoin d’accéder aux bases de données de Confluence sur le serveur source et cible, ainsi que celle de Jira sur le serveur cible.

Cas A: Mise à jour du nom du serveur (conservation de l’ID des pages)

Dans le cadre d’un migration conservant les IDs des pages Confluence, seul le nom du serveur doit être mis à jour pour réactiver les liens de Jira vers Confluence.

Pour cela une requête SQL doit être appliquée sur la base de données Jira du serveur cible.

Voyons maintenant comment procéder :

Mis à jour des liens

Avant d’appliquer la moindre requête, il faut stopper l’application Jira et il est indispensable de réaliser un backup de la base de données.

Pour mettre à jour les liens des pages Confluence dans Jira, il faut modifier la table remotelink et remplacer les mentions du nom de l’ancien serveur par le nouveau sur la base de données Jira.

Ainsi:

doit devenir :

 

Pour cela il suffit d’appliquer la requête suivante sur la base de données Jira, en remplaçant NOM_ANCIEN_SERVEUR par le nom du serveur source et NOM_NOUVEAU_SERVEUR par le nom du serveur cible :

Et voilà, mission accomplie !

Cas B : Mis à jour du nom du serveur et de l’ID des pages

Dans le cadre d’une migration ne conservant pas l’ID des pages Confluence, plusieurs étapes sont nécessaires :

  1. Récupération de l’ID des espaces concernés par la migration (optionnel).
  2. Création d’une table de correspondances entre les anciens et nouveaux ID des pages.
  3. Mise à jour des liens dans la base de données de Jira

Les requêtes des étapes 1 et 2 sont à réaliser sur la base de données de Confluence et ne nécessitent pas de backup préalable.

Celles de l’étape 3 sont à faire sur la base de données de Jira, l’application doit au préalable être stoppée et il est indispensable de faire un backup de la base avant.

1. Récupération des IDs des espaces (optionnel, si tous les espaces ne sont pas concernés)

Sur les bases de données Confluence source et cible, exécutez la requête suivante pour obtenir les anciens et les nouveaux IDs des espaces concernés par la migration :

2. Création de la table de correspondance

Il faut maintenant créer une table de correspondance pour relier les IDs des pages sur l’ancien serveur à ceux sur le nouveau.

Lors de la modification d’une page, son ID ne change pas mais Confluence l’incrémente pour garder en mémoire les différentes versions de la page. Il y existe donc plusieurs IDs pour une même page.

De plus la table stockant le nom des pages et leurs IDs contient d’autres informations que celle des pages.

Ainsi pour ne récupérer que ce qui est utile pour la table de correspondance, il faut :

  • Uniquement ce qui concerne les pages (CONTENTTYPE=’PAGE’).
  • La dernière version de chaque page (PREVVER is NULL).

La requête suivante permet de récupérer la liste des IDs des pages pour les espaces SPACEID_1 et SPACEID_2 :

Note: remplacer SPACEID_1 et SPACEID_2 par la liste des espaces récupérés à l’étape précédente (ATTENTION à bien utiliser les anciens IDs sur le serveur source, et les nouveaux sur le cible)Si tous les espaces Confluence sont concernés par la migration, alors il suffit d’utiliser la requête suivante :

Pour récupérer plus simplement les valeurs de la requête, il est possible d’exporter son résultat directement dans un fichier CSV :

Il faut ensuite faire correspondre les anciens IDs avec les nouveaux, grâce aux titres des pages qui eux ne changent pas.

Vous pouvez faire le mapping dans un fichier Excel en vérifiant que les noms correspondent (et donc que les IDs sont bien alignés) avec la formule utilisée dans la table ci-dessous :

ID Source
Nom page Source
Nom page cible
ID Cible
Comparaison (retourne VRAI si les noms sont les mêmes)
65633 Nom page Nom page 1605637 =EXACT(A3;A4)

3. Mise à jour des liens en base de données :

Il faut maintenant mettre à jour les liens dans la table Jira, grâce à la table de correspondance précédemment obtenue.

La table remotelink de Jira contient deux valeurs à mettre à jour :

  • L’URL dont le nom du serveur et l’ID de la page liée doivent être modifiés
  • Le GLOBALID contient lui uniquement l’ID de la page qui doit être modifié.

Il faut ensuite construire les requêtes de mise à jour. Pour plus de lisibilité, elles seront séparées en deux parties, une pour l’URL et l’autre pour le GLOBALID.

Les deux types de requêtes auront la même construction :

Note : Les « where » ne sont pas indispensables mais leur ajout est plus sûr et permet de voir à combien de ligne s’applique chaque requête.

Avant d’appliquer les requêtes, il faut stopper l’application Jira et il est indispensable de réaliser un backup de la base de données.

Dans un fichier excel vous pouvez construire simplement toutes ces requêtes avec la formule « CONCAT ».

Ca y est ! Enfin nous y sommes.

Besoin d’accompagnement ?

Nous l’avons vu, réaliser une migration lorsque vous avez des instances liées est loin d’être simple. Dans cet article nous n’avons abordé qu’une des problématiques qui peuvent se poser à vous dans ce contexte. J’espère que ce tutoriel permettra aux plus aguerris d’entre vous de s’en sortir sans aide et sans encombre.

Sachez cependant que Valiantys propose des prestations d’accompagnement à la migration. Nos consultants expérimentés peuvent vous aider à réaliser cette mission complexe et vous décharger de cette responsabilité. N’hésitez-pas à nous contacter pour en parler !

Cutted Triangle

Inscrivez-vous à notre newsletter

Demande enregistrée ! Demande en cours... Ceci n'est pas un email Une erreur s'est produite

Conformément à notre politique de confidentialité, nous nous engageons à respecter vos données personnelles.

Contactez-nous

Nos consultants certifiés Atlassian seront ravis de vous répondre.

Rejoindre Valiantys

Nous sommes en train de construire un équipe extraordinaire. Vous en êtes ?

Suivez-nous

Nous utilisons des cookies pour le fonctionnement de ce site, pour améliorer son utilisation, personnaliser votre expérience et réaliser des statistiques de visite. Vous pouvez gérer les paramètres et choisir d’accepter ou non certains cookies durant votre navigation. Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Paramètres de confidentialité

Afin de faciliter votre navigation et de vous apporter le meilleur service possible, nous utilisons des cookies pour améliorer le site aux besoins des visiteurs, notamment selon la fréquentation.  Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Recaptcha

Google reCAPTCHA est un système conçu pour distinguer les humains des ordinateurs, de telle sorte que les bots soient incapables de remplir les formulaires de manière malveillante au nom d’un être humain.

Analytics

Utilisé pour envoyer des données à Google Analytics sur le périphérique et le comportement du visiteur. Suit l'internaute à travers les appareils et les canaux de marketing. Utilisé par Google Analytics pour diminuer radicalement le taux de requêtes. Enregistre un identifiant unique utilisé pour générer des données statistiques sur la façon dont le visiteur utilise le site.

LinkedIn

Cookies pour une publicité ciblée : Ces cookies peuvent être mis en place au sein de notre site Web par nos partenaires publicitaires. Ils peuvent être utilisés par ces sociétés pour établir un profil de vos intérêts et vous proposer des publicités pertinentes sur d'autres sites Web. Ils ne stockent pas directement des données personnelles, mais sont basés sur l'identification unique de votre navigateur et de votre appareil Internet. Si vous n'autorisez pas ces cookies, votre publicité sera moins ciblée.

Cookies "réseaux sociaux" : Ces cookies sont activés par les services proposés sur les réseaux sociaux que nous avons ajoutés au site Web afin de vous donner la possibilité de partager notre contenu avec votre réseau et vos connaissances. Ils nous permettent également de suivre votre navigation sur d’autres sites Web et d’établir un profil de vos intérêts. Cela peut avoir un impact sur le contenu et les messages affichés sur les autres sites Web que vous consultez. Si vous n'autorisez pas ces cookies, il se peut que vous ne puissiez pas utiliser ou visualiser ces outils de partage.