Le vérificateur de lien est configuré pour ne pas fonctionner si un lien est rompu. Dans ce cas, comment désactiver la vérification des liens externes à partir de la validation des liens ? En procédant au profilage du processus et à l'analyse des images mémoire de threads, la vérification des liens affecte la performance et il serait préférable de la suspendre.

Désactiver la vérification des liens URL à l’aide d’expressions régulières.

La vérification des liens peut être configurée afin d'ignorer tous les liens à partir du traitement.

La configuration suivante est spécifique à l’instance de publication. Pour configurer l’auteur, modifiez le chemin d’accès à partir de ../config.publish/. Vers ../config.author/... Les étapes ci-dessous sont effectuées depuis l’Explorateur de contenu de CRX.

  1. Créez un nœud de configuration (avec le type de nœud sling:OsgiConfig) dans le projet (/apps/appname/config.publish/{OSGi service PID}).
  2. Vous pouvez également copier le dossier /libs/cq/linkchecker/config.author/com.day.cq.rewriter.linkchecker.impl.LinkCheckerImplin du dossier configuration de votre choix (/apps/myapp/config.publish).
  3. Remplacez la propriété service.check_override_patterns « ^système/ » par « ^ ».
  4. Supprimez tous les nœuds sous /var/linkchecker pour empêcher le vérificateur de lien de vérifier régulièrement les URL.
  5. Si la configuration a été effectuée sur l’auteur, préparez un module et installez-le également sur vos instances de publication.

Remarque :

Si vous utilisez service.check_override_patterns, le vérificateur de lien vérifie toujours l’URL pour savoir s’il est valide en termes de caractères et de structure. Toutefois, dans les versions CQ5.4 et dans les versions ultérieures, vous pouvez utiliser service.special_link_patterns=".*" au lieu de service.check_override_patterns="^." pour éviter la vérification de validité.

Remarque :

Lorsque vous appliquez cette configuration, soyez prudent avec l’expression régulière utilisée.  L'exemple d'expression régulière ci-dessus désactive toutes les vérifications et les corrections de lien. Ainsi, si vous utilisez la fonction JCR Resolver Resource ou des mappages /etc/map pour réécrire les liens de votre site, cette configuration désactive ces changements.  Reportez-vous aux instructions ci-dessous pour les autres options.

L'ajout de ce code dans votre composant de page jsp empêche la vérification lien externe de se lancer en appelant LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true).  Dans la plupart des cas, vous ne pouvez l’implémenter que sur des instances de publication et non sur author.  Voici quelques exemples de code à présenter :

<%
org.apache.sling.runmode.RunMode runmode = sling.getService(org.apache.sling.runmode.RunMode.class);
String[] runmodes = runmode.getCurrentRunModes();
boolean isPublish = false;
String [] expectedRunModes = {"publish"};
if(runmode.isActive(expectedRunModes)) {
isPublish = true;
}

if(isPublish) {
LinkCheckerSettings s = LinkCheckerSettings.fromRequest(slingRequest);
s.setIgnoreExternals(true);
}
%>

Si vous souhaitez uniquement désactiver la vérification des liens pour un composant ou une pour partie spécifique de la page, vous pouvez la réactiver à nouveau avec ce code :

<%
s.setIgnoreExternals(false);
%>

Désactivation de la vérification de tous les liens par configuration.

  1. Si l'exécution CQ5.5 SP2.1 est en cours, poursuivez-la. Si CQ5.6.1 est en cours d'exécution, installez le correctif NPR-3751 (Reportez-vous à cette page pour en savoir plus sur les correctifs).
  2. Accédez à /system/console/configMgr et connectez-vous en tant qu’administrateur.
  3. Recherchez le « Transformateur de vérificateur de lien ».
  4. Cochez la case « Désactiver la vérification » et enregistrez.
  5. Accédez à /crx/explorer et connectez-vous en tant qu’administrateur.
  6. Ouvrez « Explorateur de contenu ».
  7. Naviguez vers /var/linkchecker.
  8. Cliquez avec le bouton droit de la souris sur le nœud et sélectionnez « Supprimer de manière récurrente ».
  9. Cliquez sur « Tout enregistrer ».

Remarque :

Avec cette méthode, vous pouvez désactiver toutes les vérifications de liens sans désactiver la réécriture des liens.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne