Wiki-Quellcode von Checks

Version 14.1 von Holger Engels am 2025/07/06 20:18

Verstecke letzte Bearbeiter
Holger Engels 11.3 1 {{groovy}}
Holger Engels 14.1 2 import org.xwiki.rendering.block.match.MacroBlockMatcher;
Holger Engels 11.3 3 def c = 0
4 def noID = []
5 def noLoesung = []
6 def noAFB = []
7 def noKompetenzen = []
8 def noQuelle = []
9 def noLizenz = []
10 def noZeit = []
Holger Engels 1.1 11
Holger Engels 12.2 12 def pages = ['Klasse 8', 'Klasse 9', 'Klasse 10', 'Eingangsklasse', 'Jahrgangsstufen']
Holger Engels 11.3 13 for (p in pages) {
Holger Engels 12.2 14 println("\n=== " + p + " ===")
15 def reference = services.model.resolveDocument('xwiki:' + p + '.WebHome')
16 def main = xwiki.getDocument(reference)
Holger Engels 11.3 17
Holger Engels 12.2 18 def last
19 def nummer = 0
20 for (m in main.getXDOM().getBlocks(new MacroBlockMatcher("bpe"), Block.Axes.DESCENDANT)) {
21 nummer = nummer +1
22 def id = m.parameters.nummer.replace(".", "_")
23 def link = m.parameters.ordner + ".BPE_" + id
24 def page = xwiki.getDocument(link + ".WebHome")
Holger Engels 11.3 25
Holger Engels 12.2 26 for (a in page.getXDOM().getBlocks(new MacroBlockMatcher("aufgabe"), Block.Axes.DESCENDANT)) {
27 c = c + 1
28 if(!a.parameters.id)
29 noID.add([page: link])
30 else {
31 ll = page.space + ".Lösung " + a.parameters.id + ".WebHome"
32 if(xwiki.getDocument(ll).isNew())
33 noLoesung.add([page: link, d : a.parameters.id])
34 }
35 if(!a.parameters.afb || a.parameters.afb == "")
36 noAFB.add([page: link, d : a.parameters.id])
37 if(!a.parameters.kompetenzen || a.parameters.kompetenzen == "")
38 noKompetenzen.add([page: link, d : a.parameters.id])
39 if(!a.parameters.quelle || a.parameters.quelle == "")
40 noQuelle.add([page: link, d : a.parameters.id])
41 if(!a.parameters.lizenz && !a.parameters.cc)
42 noLizenz.add([page: link, d : a.parameters.id])
43 if(!a.parameters.zeit || a.parameters.zeit == "")
44 noZeit.add([page: link, d : a.parameters.id])
45 }
Holger Engels 11.3 46 }
47 }
48
Holger Engels 12.2 49 println("**Anzahl Aufgaben** " + c)
Holger Engels 11.3 50
51 println("**Keine ID** (" + noID.size() + ")")
Holger Engels 11.4 52 if(noID.size() != 0) {
Holger Engels 12.2 53 first = true
54 for(l in noID)
55 if(!first)
56 print(",")
57 else first = false
58 print("[[" + l.page + "]]")
Holger Engels 11.4 59 }
Holger Engels 1.1 60
Holger Engels 11.4 61 println("**Keine Lösung** (" + noLoesung.size() + ")")
62 if(noLoesung.size() != 0) {
Holger Engels 12.2 63 first = true
64 for(l in noLoesung)
65 if(!first)
66 print(",")
67 else first = false
68 print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")
Holger Engels 11.4 69 }
Holger Engels 6.1 70
Holger Engels 11.4 71 println("**Kein AFB** (" + noAFB.size() + ")")
72 if(noAFB.size() != 0) {
Holger Engels 12.2 73 first = true
74 for(l in noAFB)
75 if(!first)
76 print(",")
77 else first = false
78 print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")
Holger Engels 11.4 79 }
Holger Engels 10.1 80
Holger Engels 11.4 81 println("**Keine Kompetenzbereiche** (" + noKompetenzen.size() + ")")
82 if(noKompetenzen.size() != 0) {
Holger Engels 12.2 83 first = true
84 for(l in noKompetenzen)
85 if(!first)
86 print(",")
87 else first = false
88 print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")
Holger Engels 11.4 89 }
Holger Engels 2.1 90
Holger Engels 11.4 91 println("**Keine Quelle** (" + noQuelle.size() + ")")
92 if(noQuelle.size() != 0) {
Holger Engels 12.2 93 first = true
94 for(l in noQuelle)
95 if(!first)
96 print(",")
97 else first = false
98 print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")
Holger Engels 11.4 99 }
Holger Engels 2.1 100
Holger Engels 11.4 101 println("**Keine Lizenz** (" + noLizenz.size() + ")")
102 if(noLizenz.size() != 0) {
Holger Engels 12.2 103 first = true
104 for(l in noLizenz)
105 if(!first)
106 print(",")
107 else first = false
108 print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")
Holger Engels 11.4 109 }
Holger Engels 2.1 110
Holger Engels 11.4 111 println("**Keine Bearbeitungszeit** (" + noZeit.size() + ")")
112 if(noZeit.size() != 0) {
Holger Engels 12.2 113 first = true
114 for(l in noZeit)
115 if(!first)
116 print(",")
117 else first = false
118 print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")
Holger Engels 11.4 119 }
120 {{/groovy}}
Holger Engels 1.1 121