There is 1 comment.
 
 
XWiki Platform / cid:jira-generated-image-avatar-64efbf01-fb41-48ad-8946-ddec467fc8cd XWIKI-25038 Open

Some XS pages use html macros without setting "clean" to "false"

 
View issue   ยท   Add comment
 

1 comment

 
cid:jira-generated-image-avatar-14cc6535-155e-4f82-a059-5d61f604c605 slauriere on 28/Sep/26 14:42
 

I'm adding a first list of such html macro uses, obtained with the script below generated with the help of Claude Code, we should check page per page whether the wrapped content or script cannot contain user-entered content.

List

xwiki-platform-administration-ui

  • XWiki/AdminExtensionRightsSheet
  • XWiki/AdminImportSheet
  • XWiki/AdminPageAndChildrenRightsSheet
  • XWiki/AdminPageExtensionRightsSheet
  • XWiki/AdminPageRightsSheet
  • XWiki/AdminRightsSheet
  • XWiki/AdminSheet
  • XWiki/AdminSpaceExtensionRightsSheet
  • XWiki/AdminTemplatesSheet
  • XWiki/AdminUsersSheet
  • XWiki/ColorThemePropertyDisplayer
  • XWiki/ConfigurableClass
  • XWiki/Registration
  • XWiki/RegistrationConfig

xwiki-platform-annotation-ui

  • AnnotationCode/CreateForm

xwiki-platform-application-ui

  • Applications/WebHome

xwiki-platform-appwithinminutes-ui

  • AppWithinMinutes/Content
  • AppWithinMinutes/DateDisplayer
  • AppWithinMinutes/DeleteApplication
  • AppWithinMinutes/LiveTableViewSheet
  • AppWithinMinutes/Title

xwiki-platform-attachment-ui

  • XWiki/AttachmentSelector

xwiki-platform-ckeditor-ui

  • CKEditor/ContentSheet
  • CKEditor/VelocityMacros

xwiki-platform-dashboard-ui

  • Dashboard/WebHome

xwiki-platform-distribution-ui-admin-user

  • XWiki/Admin

xwiki-platform-distribution-ui-base

  • XWiki/WebPreferences

xwiki-platform-extension-ui

  • XWiki/ExtensionUpdater

xwiki-platform-filter-ui

  • Filter/FilterStreamJob
  • Filter/WebHome

xwiki-platform-flamingo-skin-resources

  • flamingo/macros.vm

xwiki-platform-flamingo-theme-ui

  • FlamingoThemes/WebPreferences
  • FlamingoThemesCode/WebHomeSheet

xwiki-platform-icon-ui

  • IconThemesCode/IconPickerMacro

xwiki-platform-image-style-ui

  • Image/Style/Code/Administration

xwiki-platform-index-tree-ui

  • XWiki/PinnedChildPagesUIX

xwiki-platform-index-ui

  • Main/AllDocs

xwiki-platform-invitation-ui

  • Invitation/InvitationMemberActions
  • Invitation/InvitationMembersCommon

xwiki-platform-legacy-events-hibernate-ui

  • XWiki/Notifications/Code/LegacyNotificationAdministration

xwiki-platform-legacy-messagestream-ui

  • Main/MessageSenderMacro

xwiki-platform-mail-ui

  • Mail/SendMailStatus

xwiki-platform-mentions-ui

  • XWiki/Mentions/MentionsMacro

xwiki-platform-menu-ui

  • Menu/MenuMacro
  • Menu/MenuSheet
  • Menu/UIExtensionSheet

xwiki-platform-office-ui

  • XWiki/OfficeImporterAdmin

xwiki-platform-oldcore

  • com/xpn/xwiki/doc/XWikiDocument.java

xwiki-platform-panels-ui

  • Panels/AddClassProperty
  • Panels/AddObject
  • Panels/Applications
  • Panels/Backlinks
  • Panels/ClassSwitcher
  • Panels/DocumentInformation
  • Panels/EditModes
  • Panels/MyRecentModifications
  • Panels/NewPage
  • Panels/PanelSheet
  • Panels/PanelWizard
  • Panels/Recently Created
  • Panels/Recently Modified
  • Panels/RecentlyVisited
  • Panels/RightsHelp
  • PanelsCode/ApplicationsPanelConfigurationSheet

xwiki-platform-release-ui

  • Release/WebHome

xwiki-platform-rendering-ui

  • Rendering/RenderingConfigClass

xwiki-platform-repository-server-ui

  • Extension/Support/WebHome
  • ExtensionCode/ExtensionSheet
  • ExtensionCode/ExtensionSupporterSheet
  • ExtensionCode/HomeContribute
  • ExtensionCode/HomeSearch
  • ExtensionCode/ImportExtension
  • ExtensionCode/ImportProject
  • ExtensionCode/ProjectSheet
  • ExtensionCode/RepositoryAdmin

xwiki-platform-scheduler-ui

  • Scheduler/WebHome

xwiki-platform-search-ui

  • XWiki/SearchSuggestSourceSheet

xwiki-platform-security-authentication-ui

  • XWiki/Authentication/Administration

xwiki-platform-security-requiredrights-default

  • templates/security/requiredrights/requiredRightsEditConfirmationChecker.vm

xwiki-platform-skin-ui

  • SkinsCode/XWikiSkinsSheet

xwiki-platform-statistics-ui

  • Stats/Activity
  • Stats/AllTimeActivity
  • Stats/BestReferrers
  • Stats/CurrentMonthActivity
  • Stats/CurrentWeekActivity
  • Stats/CurrentYearActivity
  • Stats/Document
  • Stats/LeastActiveContributors
  • Stats/MostActiveContributors
  • Stats/MostEditedPages
  • Stats/MostEditedSpaces
  • Stats/MostReferredPages
  • Stats/MostViewedPages
  • Stats/MostViewedSpaces
  • Stats/Referrer
  • Stats/Visit
  • Stats/WebHome

xwiki-platform-tag-ui

  • Main/Tags
  • XWiki/PageTagsUIX
  • XWiki/TagCloud

xwiki-platform-tour-ui

  • TourCode/StepSheet
  • TourCode/StepsListing
  • TourCode/TourSheet

xwiki-platform-tree-macro

  • Macros/Tree

xwiki-platform-user-profile-ui

  • XWiki/XWikiUserNetworkSheet

xwiki-platform-web-templates

  • templates/distribution/extension.clean.apply.report.wiki
  • templates/distribution/extension.clean.apply.wiki
  • templates/distribution/extension.defaultui.wiki
  • templates/distribution/extension.defaultui.wikis.wiki
  • templates/distribution/extension.flavor.wiki
  • templates/distribution/extension.outdatedextensions.wiki
  • templates/distribution/firstadminuser.wiki
  • templates/distribution/report.wiki
  • templates/macros.vm
  • templates/simpleedittoolbar.vm

xwiki-platform-wiki-ui-common

  • WikiManager/AdminWikiDescriptorSheet
  • XWiki/PageAuthorsUIX

xwiki-platform-wiki-ui-mainwiki

  • WikiManager/AdminWikisRightsSheet
  • WikiManager/CreateWiki
  • WikiManager/DeleteWiki
  • WikiManager/JoinWiki
  • WikiManager/LeaveWiki
  • WikiManager/WebHome
  • WikiManager/WikisMacro
  • XWiki/XWikiServerClassSheet

xwiki-platform-wysiwyg-ui

  • XWiki/WYSIWYG/ImageEditorService

xwiki-platform-xclass-ui

  • XWiki/ClassSheet
  • XWiki/XWikiClasses

Script


#!/usr/bin/env bash
# List {{html}} macro calls in tracked files that don't set clean="false".
# Run from the root of an xwiki-platform checkout. Optional argument: output directory (default: .).
# Limits: a tag whose parameters continue onto the next line is missed; untracked files are ignored.
set -euo pipefail
out=${1:-.}

# 1. Every html macro opening tag written on one line: {{html}}, {{html/}}, {{html wiki="true"}}...
#    -o prints only the tag, -n adds the line number, -I skips binary files.
git ls-files -z | xargs -0 grep -nIoE '\{\{html(\s[^}]*)?/?\}\}' > "$out/html.txt" || true

# 2. Keep the tags without clean=false, in any quoting: clean="false", clean='false',
#    clean=false, and clean=\"false\" inside Java strings.
grep -vE "clean=\\\\?[\"']?false" "$out/html.txt" > "$out/noclean.txt" || true

# 3. Split into tests, Help examples and production code.
test_re='/src/test/|-test/'
help_re='help-ui/.*/(XWiki/XWikiSyntax|Help/)'
grep -E "$test_re" "$out/noclean.txt" > "$out/tests.txt" || true
grep -vE "$test_re" "$out/noclean.txt" | grep -E "$help_re" > "$out/help.txt" || true
grep -vE "$test_re" "$out/noclean.txt" | grep -vE "$help_re" > "$out/prod.txt" || true

wc -l "$out"/{html,noclean,tests,help,prod}.txt