Änderungen von Dokument Checks
Zuletzt geändert von Holger Engels am 2025/07/14 15:22
Von Version 11.2
bearbeitet von Holger Engels
am 2024/02/04 13:05
am 2024/02/04 13:05
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 33.1
bearbeitet von Holger Engels
am 2025/07/14 15:22
am 2025/07/14 15:22
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -1,84 +1,146 @@ 1 -{{velocity}} 2 -#set($c = 0) 3 -#set($noID = []) 4 -#set($noLoesung = []) 5 -#set($noAFB = []) 6 -#set($noKompetenzen = []) 7 -#set($noQuelle = []) 8 -#set($noLizenz = []) 9 -#set($noZeit = []) 10 -#set($reference = $services.model.resolveDocument('Main.WebHome')) 11 -#set($referenceWithLocale = $services.model.createDocumentReference($reference, $xcontext.locale)) 12 -#set($page = $xwiki.getDocument($referenceWithLocale)) 13 -#foreach( $m in $page.getXDOM().getBlocks('class:MacroBlock', 'DESCENDANT')) 14 - #if($m.getId() == "bpe" || $m.getId() == "aufgabenseite") 15 - #if($m.getId() == "bpe") 16 - #set($id = $m.parameters.nummer.replace(".", "_")) 17 - #set($link = $m.parameters.ordner + ".BPE_" + $id + ".WebHome") 18 - #else 19 - #set($id = $m.parameters.seite) 20 - #set($link = $m.parameters.ordner + "." + $id + ".WebHome") 21 - #end 22 - #set($doc = $xwiki.getDocument($link)) 23 - #foreach($m in $doc.getXDOM().getBlocks('class:MacroBlock', 'DESCENDANT')) 24 - #if($m.getId() == "aufgabe") 25 - #set($c = $c + 1) 26 - #if(!$m.parameters.id)#set($lala=$noID.add({'page': $link})) 27 - #else 28 - #set($ll = $doc.space + ".Lösung " + $m.parameters.id + ".WebHome") 29 - #if($xwiki.getDocument($ll).isNew())#set($lala=$noLoesung.add({'page': $link, 'id' : $m.parameters.id}))#end 30 - #end 31 - #if(!$m.parameters.afb || $m.parameters.afb == "")#set($lala=$noAFB.add({'page': $link, 'id' : $m.parameters.id}))#end 32 - #if(!$m.parameters.kompetenzen || $m.parameters.kompetenzen == "")#set($lala=$noKompetenzen.add({'page': $link, 'id' : $m.parameters.id}))#end 33 - #if(!$m.parameters.quelle || $m.parameters.quelle == "")#set($lala=$noQuelle.add({'page': $link, 'id' : $m.parameters.id}))#end 34 - #if(!$m.parameters.lizenz && !$m.parameters.cc)#set($lala=$noLizenz.add({'page': $link, 'id' : $m.parameters.id}))#end 35 - #if(!$m.parameters.zeit || $m.parameters.zeit == "")#set($lala=$noZeit.add({'page': $link, 'id' : $m.parameters.id}))#end 36 - #end 37 - #end 38 - #end 39 -#end 40 -**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; 41 41 42 -**Keine ID** ($noID.size()) 43 -#if($noID.size() != 0) 44 -#set($first=true) 45 -#foreach($l in $noID)#if(!$first),#else#set($first=false)#end [[$l.page]]#end 46 -#else - #end 7 +def c = 0 47 47 48 -**Keine Lösung** ($noLoesung.size()) 49 -#if($noLoesung.size() != 0) 50 -#set($first=true) 51 -#foreach($l in $noLoesung)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 52 -#else - #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 = [] 53 53 54 -**Kein AFB** ($noAFB.size()) 55 -#if($noAFB.size() != 0) 56 -#set($first=true) 57 -#foreach($l in $noAFB)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 58 -#else - #end 19 + println("\n=== " + p + " ===") 20 + def reference = services.model.resolveDocument('xwiki:' + p + '.WebHome') 21 + def main = xwiki.getDocument(reference) 59 59 60 -**Keine Kompetenzen** ($noKompetenzen.size()) 61 -#if($noKompetenzen.size() != 0) 62 -#set($first=true) 63 -#foreach($l in $noKompetenzen)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 64 -#else - #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") 65 65 66 -**Keine Quelle** ($noQuelle.size()) 67 -#if($noQuelle.size() != 0) 68 -#set($first=true) 69 -#foreach($l in $noQuelle)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 70 -#else - #end 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]) 71 71 72 -**Keine Lizenz** ($noLizenz.size()) 73 -#if($noLizenz.size() != 0) 74 -#set($first=true) 75 -#foreach($l in $noLizenz)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 76 -#else - #end 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 + } 77 77 78 -**Keine Bearbeitungszeit** ($noZeit.size()) 79 -#if($noZeit.size() != 0) 80 -#set($first=true) 81 -#foreach($l in $noZeit)#if(!$first),#else#set($first=false)#end [[$l.id>>$l.page||anchor="$l.id"]]#end 82 -#else - #end 83 -{{/velocity}} 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 +} 84 84 65 +if(noLoesung.size() != 0) { 66 + println("") 67 + println("**Keine Lösung** (" + noLoesung.size() + ")") 68 + def first = true 69 + for(l in noLoesung) { 70 + def id = new IdGenerator().generateUniqueId("A", l.id); 71 + if(!first) 72 + print(", ") 73 + else first = false 74 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 75 + } 76 +} 77 + 78 +if(noAFB.size() != 0) { 79 + println("") 80 + println("**Kein AFB** (" + noAFB.size() + ")") 81 + def first = true 82 + for(l in noAFB) { 83 + def id = new IdGenerator().generateUniqueId("A", l.id); 84 + if(!first) 85 + print(", ") 86 + else first = false 87 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 88 + } 89 +} 90 + 91 +if(noKompetenzen.size() != 0) { 92 + println("") 93 + println("**Keine Kompetenzbereiche** (" + noKompetenzen.size() + ")") 94 + def first = true 95 + for(l in noKompetenzen) { 96 + def id = new IdGenerator().generateUniqueId("A", l.id); 97 + if(!first) 98 + print(", ") 99 + else first = false 100 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 101 + } 102 +} 103 + 104 +if(noQuelle.size() != 0) { 105 + println("") 106 + println("**Keine Quelle** (" + noQuelle.size() + ")") 107 + def first = true 108 + for(l in noQuelle) { 109 + def id = new IdGenerator().generateUniqueId("A", l.id); 110 + if(!first) 111 + print(", ") 112 + else first = false 113 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 114 + } 115 +} 116 + 117 +if(noLizenz.size() != 0) { 118 + println("") 119 + println("**Keine Lizenz** (" + noLizenz.size() + ")") 120 + def first = true 121 + for(l in noLizenz) { 122 + def id = new IdGenerator().generateUniqueId("A", l.id); 123 + if(!first) 124 + print(", ") 125 + else first = false 126 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 127 + } 128 +} 129 + 130 +if(noZeit.size() != 0) { 131 + println("") 132 + println("**Keine Bearbeitungszeit** (" + noZeit.size() + ")") 133 + def first = true 134 + for(l in noZeit) { 135 + def id = new IdGenerator().generateUniqueId("A", l.id); 136 + if(!first) 137 + print(", ") 138 + else first = false 139 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 140 + } 141 +} 142 +} 143 + 144 +println("**Anzahl Aufgaben** " + c) 145 +{{/groovy}} 146 +