Hi devs,
I have an XWiki application that has a template provider which allows the
users to create application entries anywhere on the wiki using the Create
Page menu. I would like to control entirely how application entries are
displayed to the user. I can do this partially from my sheet but:
* I can't control the panels. I would like to display panels that are
specific to my application whenever a user is viewing an application entry,
no matter where the application entry is located.
* I can't control the color theme or the icon theme. I would like to use a
custom color theme and icon theme without affecting the other pages from
the wiki.
* I can't control the layout (the skin). I can hide the extra tabs from the
sheet but I can't hide a panel column or control the panel column width.
One solution to fix my problem is to introduce XClass Preferences, same as
we have page and wiki preferences. XClass preferences would have priority
over page and wiki preferences, inheriting from them. We can implement it
using either a naming convention, <ClassName>Preferences, or using some
xobject on the XClass, similar to the ClassSheetBinding xobject.
Do you see any problem with solution? I can think of one: access rights.
Does it make sense to have access rights specific to an XClass? E.g. "only
this group can edit instances of this XClass".
Do you think it is worth implementing? Another solution would be to allow
the sheet to overwrite some of the preferences, but the problem is that the
sheet is executed after the page HTML has started to be written to the
response.
Thanks,
Marius