Rechercher les nœuds SNS (same name siblings).

Avant Jackrabbit Oak, il était possible de créer les mêmes nœuds SNS dans CRX 2.

Cependant, pour bénéficier de CRX 3 Oak, ces nœuds doivent être supprimés.

Pour trouver ces nœuds, utilisez le script Groovy ci-dessous dans la console de scripts Felix.

Une fois installé, la console de scripts est disponible dans /system/console/scriptconsole.

N’oubliez pas d’installer le lot Groovy après l’installation de la console de script.

Le script consigne les chemins d’accès aux nœuds SNS dans un journal nommé sns que vous devez créer dans la console OSGi.

Propriétés de journal sns :

org.apache.sling.commons.log.pattern="{5}" org.apache.sling.commons.log.names="sns"] org.apache.sling.commons.log.file="logs/sns.log" org.apache.sling.commons.log.level="debug"

Script Groovy

def traverseAndLogSNS(node, session, log){ if(node.index != 1) { log.info(node.path) //session.removeItem(node.path) return } if(node.hasNodes()) { def ni = node.nodes while(ni.hasNext()){ traverseAndLogSNS(ni.nextNode(), session, log) } } } def repo = osgi.getService(org.apache.sling.jcr.api.SlingRepository) def session = repo.loginAdministrative(null) def root = session.getRootNode() def log = org.slf4j.LoggerFactory.getLogger("sns") traverseAndLogSNS(root, session, log) session.save() session.logout()

 

Le script peut être facilement adapté pour que seuls les nœuds sns se trouvent sous un certain chemin.

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