Ricerca dei nodi SNS

Trova nodi fratelli con lo stesso nome(SNS)

Prima di Jackrabbit Oak, era possibile creare degli nodi fratelli con lo stesso nome (SNS) in CRX 2.

Tuttavia, per passare a CRX 3 Oak, questi nodi devono essere rimossi.

Per trovare questi nodi, usa lo script Groovy qui sotto nella console script di Felix.

Una volta installata, la console di script è disponibile su /system/console/scriptconsole.

Non dimenticare di installare il bundle Groovy dopo aver installato la console di Script.

Lo script registra i percorsi dei nodi SNS in un logger chiamato sns che devi creare nella console OSGI.

proprietà di sns logger

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()

Lo script può essere adattato per registrare solo i nodi sns sotto un certo percorso.

Logo Adobe

Accedi al tuo account