Änderungen von Dokument Checks
Zuletzt geändert von Holger Engels am 2026/05/19 22:48
Von Version 3.1
bearbeitet von Holger Engels
am 2023/12/16 13:28
am 2023/12/16 13:28
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 35.1
bearbeitet von Holger Engels
am 2026/05/19 22:48
am 2026/05/19 22:48
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -1,55 +1,170 @@ 1 -{{velocity}} 2 -#set($c = 0) 3 -#set($noAFB = []) 4 -#set($noKompetenzen = []) 5 -#set($noQuelle = []) 6 -#set($noLizenz = []) 7 -#set($noZeit = []) 8 -#set($reference = $services.model.resolveDocument('Main.WebHome')) 9 -#set($referenceWithLocale = $services.model.createDocumentReference($reference, $xcontext.locale)) 10 -#set($page = $xwiki.getDocument($referenceWithLocale)) 11 -#foreach( $m in $page.getXDOM().getBlocks('class:MacroBlock', 'DESCENDANT')) 12 - #if($m.getId() == "bpe" || $m.getId() == "aufgabenseite") 13 - #if($m.getId() == "bpe") 14 - #set($id = $m.parameters.nummer.replace(".", "_")) 15 - #set($link = $m.parameters.ordner + ".BPE_" + $id + ".WebHome") 16 - #else 17 - #set($id = $m.parameters.seite) 18 - #set($link = $m.parameters.ordner + "." + $id + ".WebHome") 19 - #end 20 - #set($doc = $xwiki.getDocument($link)) 21 - #foreach($m in $doc.getXDOM().getBlocks('class:MacroBlock', 'DESCENDANT')) 22 - #if($m.getId() == "aufgabe") 23 - #set($c = $c + 1) 24 - #if(!$m.parameters.afb)#set($lala=$noAFB.add({'page': $link, 'id' : $m.parameters.id}))#end 25 - #if(!$m.parameters.kompetenzen)#set($lala=$noKompetenzen.add({'page': $link, 'id' : $m.parameters.id}))#end 26 - #if(!$m.parameters.quelle)#set($lala=$noQuelle.add({'page': $link, 'id' : $m.parameters.id}))#end 27 - #if(!$m.parameters.lizenz && !$m.parameters.cc)#set($lala=$noLizenz.add({'page': $link, 'id' : $m.parameters.id}))#end 28 - #if(!$m.parameters.zeit && !$m.parameters.cc)#set($lala=$noZeit.add({'page': $link, 'id' : $m.parameters.id}))#end 29 - #end 30 - #end 31 - #end 32 -#end 33 -Anzahl Aufgaben $c 1 +{{groovy}} 2 +import org.xwiki.rendering.block.Block; 3 +import org.xwiki.rendering.block.Block.Axes; 4 +import org.xwiki.rendering.block.match.MacroBlockMatcher; 5 +import org.xwiki.rendering.util.IdGenerator; 34 34 35 -Kein AFB 36 -#set($first=true) 37 -#foreach($l in $noAFB)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 7 +def c = 0 38 38 39 -Keine Kompetenzen 40 -#set($first=true) 41 -#foreach($l in $noKompetenzen)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 9 +def pages = ['Klasse 8', 'Klasse 9', 'Klasse 10', 'Eingangsklasse', 'Jahrgangsstufen'] 10 +for (p in pages) { 11 + def noID = [] 12 + def noLoesung = [] 13 + def noAFB = [] 14 + def noKompetenzen = [] 15 + def noQuelle = [] 16 + def noLizenz = [] 17 + def noZeit = [] 42 42 43 - Keine Quelle44 - #set($first=true)45 - #foreach($lin$noQuelle)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end19 + println("\n=== " + p + " ===") 20 + def reference = services.model.resolveDocument('xwiki:' + p + '.WebHome') 21 + def main = xwiki.getDocument(reference) 46 46 47 -Keine Lizenz 48 -#set($first=true) 49 -#foreach($l in $noLizenz)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 23 + def last 24 + def nummer = 0 25 + for (m in main.getXDOM().getBlocks(new MacroBlockMatcher("bpe"), Block.Axes.DESCENDANT)) { 26 + nummer = nummer +1 27 + def id = m.parameters.nummer.replace(".", "_") 28 + def link = m.parameters.ordner + ".BPE_" + id 29 + def page = xwiki.getDocument(link + ".WebHome") 50 50 51 -Keine Bearbeitungszeit 52 -#set($first=true) 53 -#foreach($l in $noZeit)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 54 -{{/velocity}} 31 + for (a in page.getXDOM().getBlocks(new MacroBlockMatcher("aufgabe"), Block.Axes.DESCENDANT)) { 32 + c = c + 1 33 + if(!a.parameters.id) 34 + noID.add([page: link]) 35 + else { 36 + def ll = page.space + ".Lösung " + a.parameters.id + ".WebHome" 37 + if(xwiki.getDocument(ll).isNew()) 38 + noLoesung.add([page: link, id : a.parameters.id]) 55 55 40 + if(!a.parameters.afb || a.parameters.afb == "") 41 + noAFB.add([page: link, id : a.parameters.id]) 42 + if(!a.parameters.kompetenzen || a.parameters.kompetenzen == "") 43 + noKompetenzen.add([page: link, id : a.parameters.id]) 44 + if(!a.parameters.quelle || a.parameters.quelle == "") 45 + noQuelle.add([page: link, id : a.parameters.id]) 46 + if(!a.parameters.lizenz && !a.parameters.cc) 47 + noLizenz.add([page: link, id : a.parameters.id]) 48 + if(!a.parameters.zeit || a.parameters.zeit == "") 49 + noZeit.add([page: link, id : a.parameters.id]) 50 + } 51 + } 52 + } 53 + 54 +if(noID.size() != 0) { 55 + println("") 56 + println("**Keine ID** (" + noID.size() + ")") 57 + def first = true 58 + for(l in noID) { 59 + if(!first) 60 + print(", ") 61 + else first = false 62 + print("[[" + l.page + "]]") 63 + } 64 +} 65 + 66 +if(noLoesung.size() != 0) { 67 + println("") 68 + println("**Keine Lösung** (" + noLoesung.size() + ")") 69 + def first = true 70 + for(l in noLoesung) { 71 + def id = new IdGenerator().generateUniqueId("A", l.id); 72 + if(!first) 73 + print(", ") 74 + else first = false 75 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 76 + } 77 +} 78 + 79 +if(noAFB.size() != 0) { 80 + println("") 81 + println("**Kein AFB** (" + noAFB.size() + ")") 82 + def first = true 83 + for(l in noAFB) { 84 + def id = new IdGenerator().generateUniqueId("A", l.id); 85 + if(!first) 86 + print(", ") 87 + else first = false 88 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 89 + } 90 +} 91 + 92 +if(noKompetenzen.size() != 0) { 93 + println("") 94 + println("**Keine Kompetenzbereiche** (" + noKompetenzen.size() + ")") 95 + def first = true 96 + for(l in noKompetenzen) { 97 + def id = new IdGenerator().generateUniqueId("A", l.id); 98 + if(!first) 99 + print(", ") 100 + else first = false 101 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 102 + } 103 +} 104 + 105 +if(noQuelle.size() != 0) { 106 + println("") 107 + println("**Keine Quelle** (" + noQuelle.size() + ")") 108 + def first = true 109 + for(l in noQuelle) { 110 + def id = new IdGenerator().generateUniqueId("A", l.id); 111 + if(!first) 112 + print(", ") 113 + else first = false 114 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 115 + } 116 +} 117 + 118 +if(noLizenz.size() != 0) { 119 + println("") 120 + println("**Keine Lizenz** (" + noLizenz.size() + ")") 121 + def first = true 122 + for(l in noLizenz) { 123 + def id = new IdGenerator().generateUniqueId("A", l.id); 124 + if(!first) 125 + print(", ") 126 + else first = false 127 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 128 + } 129 +} 130 + 131 +if(noZeit.size() != 0) { 132 + println("") 133 + println("**Keine Bearbeitungszeit** (" + noZeit.size() + ")") 134 + def first = true 135 + for(l in noZeit) { 136 + def id = new IdGenerator().generateUniqueId("A", l.id); 137 + if(!first) 138 + print(", ") 139 + else first = false 140 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 141 + } 142 +} 143 +} 144 + 145 +println("**Anzahl Aufgaben** " + c) 146 +{{/groovy}} 147 + 148 +{{velocity}} 149 +## HQL-Abfrage für isolierte Root-Seiten ohne Backlinks 150 +#set ($hql = "select distinct doc.space, doc.fullName from XWikiDocument doc where doc.fullName not in (select distinct backlink.id.link from XWikiLink backlink) and doc.hidden = false and doc.space <> 'XWiki' and doc.name = 'WebHome' and doc.space not like '%.%' order by doc.space asc") 151 + 152 +#set ($query = $services.query.hql($hql)) 153 +#set ($discard = $query.setLimit(1000)) 154 +#set ($orphans = $query.execute()) 155 + 156 +### ## Isolierte Top-Level-Waisenseiten (Nested-Pages-Safe): 157 +#if ($orphans.isEmpty()) 158 + *Es wurden keine isolierten Top-Level-Seiten gefunden. Alle Hauptbereiche sind sauber verknüpft oder strukturiert!* 159 +#else 160 + **Gefundene verwaiste Hauptseiten:** $orphans.size() 161 + 162 + | Bereich (Space) | Vollständiger Link | 163 + |-----------------|--------------------| 164 + #foreach ($row in $orphans) 165 + #set ($spaceName = $row.get(0)) 166 + #set ($pageFullName = $row.get(1)) 167 + | $spaceName | [[$spaceName>>$pageFullName]] | 168 + #end 169 +#end 170 +{{/velocity}}