Wiki source code of Known issues

Last modified by Lucas Charpentier on 2026/10/13 12:21

Show last authors
1 These are the JIRA issues reported before the audit that are about inserting, configuring or editing the audited macros, sorted by the macro they affect. Check them before reporting a KO, so that no duplicate is created: the audit of each macro also suggests the ones that match its KOs.
2
3 The issues come from searches of jira.xwiki.org and from the issues already cited in this proposal. Each issue is a Known Issue object of this page: to change how an issue is sorted, edit its object in the object editor. The [[audit process>>doc:Proposal.WYSIWYGusabilityofXWikimacros.Analysis.Audit process.WebHome]] explains how to run the searches again.
4
5 {{velocity}}
6 #set ($knownIssueClassName = 'Proposal.WYSIWYGusabilityofXWikimacros.Code.KnownIssueClass')
7 #set ($macrosSpace = 'Proposal.WYSIWYGusabilityofXWikimacros.Macros')
8 #set ($byMacro = $collectiontool.getSortedMap())
9 #set ($allMacros = [])
10 #set ($toSort = [])
11 #set ($otherCount = 0)
12 #foreach ($object in $doc.getObjects($knownIssueClassName))
13 #set ($relevance = "$!doc.getValue('relevance', $object)")
14 #if ($relevance == 'usability')
15 #set ($macros = $doc.getValue('macros', $object))
16 #foreach ($macroId in $macros)
17 #if ($macroId == '*')
18 #set ($discard = $allMacros.add($object))
19 #else
20 #if (!$byMacro.containsKey($macroId))
21 #set ($discard = $byMacro.put($macroId, []))
22 #end
23 #set ($discard = $byMacro.get($macroId).add($object))
24 #end
25 #end
26 #elseif ($relevance == 'other')
27 #set ($otherCount = $otherCount + 1)
28 #else
29 #set ($discard = $toSort.add($object))
30 #end
31 #end
32 #macro (_knownIssueRows $objects $macroId)
33 |=Issue|=Title|=Status|=Criteria|=Also affects
34 #foreach ($object in $objects)
35 #set ($key = "$!doc.getValue('key', $object)")
36 #set ($others = [])
37 #foreach ($other in $doc.getValue('macros', $object))
38 #if ($other != $macroId)
39 #if ($other == '*')
40 #set ($discard = $others.add('all macros'))
41 #else
42 #set ($discard = $others.add($other))
43 #end
44 #end
45 #end
46 |[[$key>>https://jira.xwiki.org/browse/$key]]|$services.rendering.escape("$!doc.getValue('summary', $object)", 'xwiki/2.1')|$services.rendering.escape("$!doc.getValue('status', $object)", 'xwiki/2.1')|$services.rendering.escape($stringtool.join($doc.getValue('criteria', $object), ', '), 'xwiki/2.1')|$services.rendering.escape($stringtool.join($others, ', '), 'xwiki/2.1')
47 #end
48 #end
49 {{info}}
50 $allMacros.size() issues affect every macro, and $byMacro.size() macros have issues of their own. An issue that affects several macros is listed under each of them. $toSort.size() issues are still to sort, and $otherCount issues found by the searches are not about usability: they are kept so that the searches do not suggest them again.
51 {{/info}}
52
53 == All macros ==
54
55 Issues of the macro system, the WYSIWYG editor or the Edit Macro dialog, which affect every macro.
56
57 #_knownIssueRows($allMacros '*')
58
59 #foreach ($entry in $byMacro.entrySet())
60 #set ($macroReference = $services.model.resolveDocument("${macrosSpace}.${entry.key}.WebHome"))
61 == $services.rendering.escape($entry.key, 'xwiki/2.1') ==
62
63 #if ($xwiki.exists($macroReference))
64 [[Audit of the $services.rendering.escape($entry.key, 'xwiki/2.1') macro>>doc:$services.rendering.escape($services.model.serialize($macroReference, 'local'), 'xwiki/2.1')]]
65
66 #end
67 #_knownIssueRows($entry.value $entry.key)
68
69 #end
70 #if (!$toSort.isEmpty())
71 == To sort ==
72
73 Issues found by the last search that are not sorted yet. Set their relevance, macros and criteria in the object editor.
74
75 #_knownIssueRows($toSort '')
76 #end
77 {{/velocity}}

Get Connected