Recherche de nœuds SNS

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.

Logo Adobe

Accéder à votre compte