Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-15676

Have the panel list contain UIX IDs instead of page references

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Won't Fix
    • Minor
    • None
    • 9.11
    • Panels
    • None
    • Unknown
    • N/A
    • N/A

    Description

      Right now the panel list in the Admin UI contains a list of panel page references. However this has a design drawback: it forces implementations of UIExtension to constrain their UIX ID to contain page references. However it's possible to implement UIExtensions that are linked to a wiki page.

      Thus the idea is to make the panel list contain a list of UIX IDs in the form

      [<namespace>]:<uix id>

      (where namespace is the wiki id in practice and when not specified, it means the current wiki)

      This is backward compatible and allows to not be dependent on implementations in wiki pages.

      Technically it means the following for the implementation of AbstractPanelsUIExtensionManager:

      • if the UIExtension is a WikiUIExtension: then extract the wiki id from the DocumentReference, and append with the UIExtension#getId() and compare with the panel list item value.
      • if the UIExtension is not a WikiUIExtension: get the Wiki CM and look for a UIExtension.class component that have the ID.

      Attachments

        Issue Links

          Activity

            People

              vmassol Vincent Massol
              vmassol Vincent Massol
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: