Änderungen von Dokument Checks

Zuletzt geändert von Holger Engels am 2026/05/19 22:48

Von Version 35.1
bearbeitet von Holger Engels
am 2026/05/19 22:48
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 27.1
bearbeitet von Holger Engels
am 2025/07/09 17:22
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -2,20 +2,17 @@
2 2  import org.xwiki.rendering.block.Block;
3 3  import org.xwiki.rendering.block.Block.Axes;
4 4  import org.xwiki.rendering.block.match.MacroBlockMatcher;
5 -import org.xwiki.rendering.util.IdGenerator;
6 -
7 7  def c = 0
6 +def noID = []
7 +def noLoesung = []
8 +def noAFB = []
9 +def noKompetenzen = []
10 +def noQuelle = []
11 +def noLizenz = []
12 +def noZeit = []
8 8  
9 9  def pages = ['Klasse 8', 'Klasse 9', 'Klasse 10', 'Eingangsklasse', 'Jahrgangsstufen']
10 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 = []
18 -
19 19   println("\n=== " + p + " ===")
20 20   def reference = services.model.resolveDocument('xwiki:' + p + '.WebHome')
21 21   def main = xwiki.getDocument(reference)
... ... @@ -50,121 +50,29 @@
50 50   }
51 51   }
52 52   }
50 +}
53 53  
52 +println("**Anzahl Aufgaben** " + c)
53 +
54 +println("**Keine ID** (" + noID.size() + ")")
54 54  if(noID.size() != 0) {
55 - println("")
56 - println("**Keine ID** (" + noID.size() + ")")
57 57   def first = true
58 - for(l in noID) {
57 + for(l in noID)
59 59   if(!first)
60 - print(", ")
59 + print(",")
61 61   else first = false
62 - print("[[" + l.page + "]]")
63 - }
61 + print("[[" + l.page + "]]")
64 64  }
65 65  
64 +println("**Keine Lösung** (" + noLoesung.size() + ")")
66 66  if(noLoesung.size() != 0) {
67 - println("")
68 - println("**Keine Lösung** (" + noLoesung.size() + ")")
69 69   def first = true
70 - for(l in noLoesung) {
71 - def id = new IdGenerator().generateUniqueId("A", l.id);
67 + for(l in noLoesung)
72 72   if(!first)
73 - print(", ")
69 + print(",")
74 74   else first = false
75 - print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]")
76 - }
71 + print("[[" + l.page + ">>" + l.page + "||anchor=" + l.page + "]]")
77 77  }
78 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 146  {{/groovy}}
147 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}}