Änderungen von Dokument Checks
Zuletzt geändert von holgerengels am 2026/07/25 12:56
Von Version 30.1
bearbeitet von Holger Engels
am 2025/07/09 17:28
am 2025/07/09 17:28
Ä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,6 +2,7 @@ 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; 5 5 6 6 def c = 0 7 7 ... ... @@ -42,8 +42,6 @@ 42 42 noKompetenzen.add([page: link, id : a.parameters.id]) 43 43 if(!a.parameters.quelle || a.parameters.quelle == "") 44 44 noQuelle.add([page: link, id : a.parameters.id]) 45 - if(!a.parameters.lizenz && !a.parameters.cc) 46 - noLizenz.add([page: link, id : a.parameters.id]) 47 47 if(!a.parameters.zeit || a.parameters.zeit == "") 48 48 noZeit.add([page: link, id : a.parameters.id]) 49 49 } ... ... @@ -51,83 +51,106 @@ 51 51 } 52 52 53 53 if(noID.size() != 0) { 53 + println("") 54 54 println("**Keine ID** (" + noID.size() + ")") 55 55 def first = true 56 - for(l in noID) 56 + for(l in noID) { 57 57 if(!first) 58 - print(",") 58 + print(", ") 59 59 else first = false 60 - print("[[" + l.page + "]]") 60 + print("[[" + l.page + "]]") 61 + } 61 61 } 62 62 63 63 if(noLoesung.size() != 0) { 65 + println("") 64 64 println("**Keine Lösung** (" + noLoesung.size() + ")") 65 65 def first = true 66 66 for(l in noLoesung) { 69 + def id = new IdGenerator().generateUniqueId("A", l.id); 67 67 if(!first) 68 - print(",") 71 + print(", ") 69 69 else first = false 70 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")73 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 71 71 } 72 72 } 73 73 74 74 if(noAFB.size() != 0) { 78 + println("") 75 75 println("**Kein AFB** (" + noAFB.size() + ")") 76 76 def first = true 77 77 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 + "]]") 82 82 } 83 83 } 84 84 85 85 if(noKompetenzen.size() != 0) { 91 + println("") 86 86 println("**Keine Kompetenzbereiche** (" + noKompetenzen.size() + ")") 87 87 def first = true 88 88 for(l in noKompetenzen) { 95 + def id = new IdGenerator().generateUniqueId("A", l.id); 89 89 if(!first) 90 - print(",") 97 + print(", ") 91 91 else first = false 92 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")99 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 93 93 } 94 94 } 95 95 96 96 if(noQuelle.size() != 0) { 104 + println("") 97 97 println("**Keine Quelle** (" + noQuelle.size() + ")") 98 98 def first = true 99 99 for(l in noQuelle) { 108 + def id = new IdGenerator().generateUniqueId("A", l.id); 100 100 if(!first) 101 - print(",") 110 + print(", ") 102 102 else first = false 103 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")112 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 104 104 } 105 105 } 106 106 107 -if(noLizenz.size() != 0) { 108 - println("**Keine Lizenz** (" + noLizenz.size() + ")") 109 - def first = true 110 - for(l in noLizenz) { 111 - if(!first) 112 - print(",") 113 - else first = false 114 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]") 115 - } 116 -} 117 - 118 118 if(noZeit.size() != 0) { 117 + println("") 119 119 println("**Keine Bearbeitungszeit** (" + noZeit.size() + ")") 120 120 def first = true 121 121 for(l in noZeit) { 121 + def id = new IdGenerator().generateUniqueId("A", l.id); 122 122 if(!first) 123 - print(",") 123 + print(", ") 124 124 else first = false 125 - print("[[" + l.id + ">>" + l.page + "||anchor=" + l.id + "]]")125 + print("[[" + l.id + ">>" + l.page + "||anchor=" + id + "]]") 126 126 } 127 127 } 128 128 } 129 129 130 130 println("**Anzahl Aufgaben** " + c) 131 - 132 132 {{/groovy}} 133 133 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}}