Wiki-Quellcode von Checks

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

Zeige letzte Bearbeiter
1 {{groovy}}
2 import org.xwiki.rendering.block.match.MacroBlockMatcher;
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 = []
11
12 def pages = ['Klasse 8', 'Klasse 9', 'Klasse 10', 'Eingangsklasse', 'Jahrgangsstufen']
13 for (p in pages) {
14 println("\n=== " + p + " ===")
15 def reference = services.model.resolveDocument('xwiki:' + p + '.WebHome')
16 def main = xwiki.getDocument(reference)
17
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")
25
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 }
46 }
47 }
48
49 println("**Anzahl Aufgaben** " + c)
50
51 println("**Keine ID** (" + noID.size() + ")")
52 if(noID.size() != 0) {
53 first = true
54 for(l in noID)
55 if(!first)
56 print(",")
57 else first = false
58 print("[[" + l.page + "]]")
59 }
60
61 println("**Keine Lösung** (" + noLoesung.size() + ")")
62 if(noLoesung.size() != 0) {
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 + "]]")
69 }
70
71 println("**Kein AFB** (" + noAFB.size() + ")")
72 if(noAFB.size() != 0) {
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 + "]]")
79 }
80
81 println("**Keine Kompetenzbereiche** (" + noKompetenzen.size() + ")")
82 if(noKompetenzen.size() != 0) {
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 + "]]")
89 }
90
91 println("**Keine Quelle** (" + noQuelle.size() + ")")
92 if(noQuelle.size() != 0) {
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 + "]]")
99 }
100
101 println("**Keine Lizenz** (" + noLizenz.size() + ")")
102 if(noLizenz.size() != 0) {
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 + "]]")
109 }
110
111 println("**Keine Bearbeitungszeit** (" + noZeit.size() + ")")
112 if(noZeit.size() != 0) {
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 + "]]")
119 }
120 {{/groovy}}