Localização dos nós do SNS

Encontrar os nós irmãos com mesmo nome (SNS)

Antes do Jackrabbit Oak, era possível criar nós irmãos com mesmo nome (SNS) no CRX 2.

No entanto, para atualizar para o CRX 3 Oak, esses nós precisam ser removidos.

Para encontrar esses nós, use o script Groovy abaixo de Console de script Felix.

Uma vez instalado, o console de script está disponível em /system/console/scriptconsole.

Não esqueça de instalar o pacote Groovy após instalar o console do Script.

O script registra os caminhos de nós do SNS em um agente de log denominado sns que precisa ser criado no console do OSGI.

propriedades do agente de log 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()

O script pode ser adaptado para registrar apenas os nós sns em um determinado caminho.

Logotipo da Adobe

Fazer logon em sua conta