Gleichnamige Geschwister(SNS)-Knoten finden

Vor Jackrabbit Oak war es möglich, gleichnamige Geschwisterknoten (SNS) in CRX 2 zu erstellen.

Für ein Upgrade auf CRX 3 Oak müssen diese Knoten jedoch entfernt werden.

Verwenden Sie das nachfolgende Groovy-Skript in Felix-Skriptkonsole, um diese Knoten zu finden.

Nach der Installation ist die Skriptkonsole unter /system/console/scriptconsole verfügbar.

Denken Sie daran, das Groovy-Bundle nach der Installation der Skriptkonsole zu installieren.

Das Skript protokolliert die SNS-Knotenpfade in einem Logger namens SNS, den Sie in der OSGi-Konsole erstellen müssen.

Eigenschaften von 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"

Groovy-Skript

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

 

Das Skript kann so angepasst werden, dass nur SNS-Knoten unter einem bestimmten Pfad protokolliert werden.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie