Änderungen von Dokument Checks
Zuletzt geändert von holgerengels am 2026/07/25 12:56
Von Version 18.1
bearbeitet von Holger Engels
am 2025/07/06 20:27
am 2025/07/06 20:27
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 36.1
bearbeitet von holgerengels
am 2026/07/25 12:56
am 2026/07/25 12:56
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 - xwiki:XWiki.holgerengels1 +XWiki.holgerengels - Inhalt
-
... ... @@ -2,18 +2,20 @@ 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 + 5 5 def c = 0 6 -def l 7 -def noID = [] 8 -def noLoesung = [] 9 -def noAFB = [] 10 -def noKompetenzen = [] 11 -def noQuelle = [] 12 -def noLizenz = [] 13 -def noZeit = [] 14 14 15 15 def pages = ['Klasse 8', 'Klasse 9', 'Klasse 10', 'Eingangsklasse', 'Jahrgangsstufen'] 16 16 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 + 17 17 println("\n=== " + p + " ===") 18 18 def reference = services.model.resolveDocument('xwiki:' + p + '.WebHome') 19 19 def main = xwiki.getDocument(reference) ... ... @@ -31,94 +31,123 @@ 31 31 if(!a.parameters.id) 32 32 noID.add([page: link]) 33 33 else { 34 - ll = page.space + ".Lösung " + a.parameters.id + ".WebHome" 36 + def ll = page.space + ".Lösung " + a.parameters.id + ".WebHome" 35 35 if(xwiki.getDocument(ll).isNew()) 36 - noLoesung.add([page: link, d : a.parameters.id]) 38 + noLoesung.add([page: link, id : a.parameters.id]) 39 + 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.zeit || a.parameters.zeit == "") 47 + noZeit.add([page: link, id : a.parameters.id]) 37 37 } 38 - if(!a.parameters.afb || a.parameters.afb == "") 39 - noAFB.add([page: link, d : a.parameters.id]) 40 - if(!a.parameters.kompetenzen || a.parameters.kompetenzen == "") 41 - noKompetenzen.add([page: link, d : a.parameters.id]) 42 - if(!a.parameters.quelle || a.parameters.quelle == "") 43 - noQuelle.add([page: link, d : a.parameters.id]) 44 - if(!a.parameters.lizenz && !a.parameters.cc) 45 - noLizenz.add([page: link, d : a.parameters.id]) 46 - if(!a.parameters.zeit || a.parameters.zeit == "") 47 - noZeit.add([page: link, d : a.parameters.id]) 48 48 } 49 49 } 50 -} 51 51 52 -println("**Anzahl Aufgaben** " + c) 53 - 54 -println("**Keine ID** (" + noID.size() + ")") 55 55 if(noID.size() != 0) { 56 - first = true 57 - for(l in noID) 53 + println("") 54 + println("**Keine ID** (" + noID.size() + ")") 55 + def first = true 56 + for(l in noID) { 58 58 if(!first) 59 - print(",") 58 + print(", ") 60 60 else first = false 61 - print("[[" + l.page + "]]") 60 + print("[[" + l.page + "]]") 61 + } 62 62 } 63 63 64 -println("**Keine Lösung** (" + noLoesung.size() + ")") 65 65 if(noLoesung.size() != 0) { 66 - first = true 67 - for(l in noLoesung) 65 + println("") 66 + println("**Keine Lösung** (" + noLoesung.size() + ")") 67 + def first = true 68 + for(l in noLoesung) { 69 + def id = new IdGenerator().generateUniqueId("A", l.id); 68 68 if(!first) 69 - print(",") 71 + print(", ") 70 70 else first = false 71 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]") 73 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 74 + } 72 72 } 73 73 74 -println("**Kein AFB** (" + noAFB.size() + ")") 75 75 if(noAFB.size() != 0) { 76 - first = true 77 - for(l in noAFB) 78 + println("") 79 + println("**Kein AFB** (" + noAFB.size() + ")") 80 + def first = true 81 + for(l in noAFB) { 82 + def id = new IdGenerator().generateUniqueId("A", l.id); 78 78 if(!first) 79 - print(",") 84 + print(", ") 80 80 else first = false 81 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]") 86 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 87 + } 82 82 } 83 83 84 -println("**Keine Kompetenzbereiche** (" + noKompetenzen.size() + ")") 85 85 if(noKompetenzen.size() != 0) { 86 - first = true 87 - for(l in noKompetenzen) 91 + println("") 92 + println("**Keine Kompetenzbereiche** (" + noKompetenzen.size() + ")") 93 + def first = true 94 + for(l in noKompetenzen) { 95 + def id = new IdGenerator().generateUniqueId("A", l.id); 88 88 if(!first) 89 - print(",") 97 + print(", ") 90 90 else first = false 91 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]") 99 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 100 + } 92 92 } 93 93 94 -println("**Keine Quelle** (" + noQuelle.size() + ")") 95 95 if(noQuelle.size() != 0) { 96 - first = true 97 - for(l in noQuelle) 104 + println("") 105 + println("**Keine Quelle** (" + noQuelle.size() + ")") 106 + def first = true 107 + for(l in noQuelle) { 108 + def id = new IdGenerator().generateUniqueId("A", l.id); 98 98 if(!first) 99 - print(",") 110 + print(", ") 100 100 else first = false 101 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]") 112 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 113 + } 102 102 } 103 103 104 -println("**Keine Lizenz** (" + noLizenz.size() + ")") 105 -if(noLizenz.size() != 0) { 106 - first = true 107 - for(l in noLizenz) 108 - if(!first) 109 - print(",") 110 - else first = false 111 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]") 112 -} 113 - 114 -println("**Keine Bearbeitungszeit** (" + noZeit.size() + ")") 115 115 if(noZeit.size() != 0) { 116 - first = true 117 - for(l in noZeit) 117 + println("") 118 + println("**Keine Bearbeitungszeit** (" + noZeit.size() + ")") 119 + def first = true 120 + for(l in noZeit) { 121 + def id = new IdGenerator().generateUniqueId("A", l.id); 118 118 if(!first) 119 - print(",") 123 + print(", ") 120 120 else first = false 121 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]") 125 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 126 + } 122 122 } 128 +} 129 + 130 +println("**Anzahl Aufgaben** " + c) 123 123 {{/groovy}} 124 124 133 +{{velocity}} 134 +## HQL-Abfrage für isolierte Root-Seiten ohne Backlinks 135 +#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") 136 + 137 +#set ($query = $services.query.hql($hql)) 138 +#set ($discard = $query.setLimit(1000)) 139 +#set ($orphans = $query.execute()) 140 + 141 +### ## Isolierte Top-Level-Waisenseiten (Nested-Pages-Safe): 142 +#if ($orphans.isEmpty()) 143 + *Es wurden keine isolierten Top-Level-Seiten gefunden. Alle Hauptbereiche sind sauber verknüpft oder strukturiert!* 144 +#else 145 + **Gefundene verwaiste Hauptseiten:** $orphans.size() 146 + 147 + | Bereich (Space) | Vollständiger Link | 148 + |-----------------|--------------------| 149 + #foreach ($row in $orphans) 150 + #set ($spaceName = $row.get(0)) 151 + #set ($pageFullName = $row.get(1)) 152 + | $spaceName | [[$spaceName>>$pageFullName]] | 153 + #end 154 +#end 155 +{{/velocity}}