There was a discussion some time ago about the
org.xwiki.platform.template.contentFooter UIXP launched by @surli where, aside the main questions raised, @vmassol pointed out it could make sense to introduce also a
contentHeader UIXP. I find this proposal quite interesting so I’m following up here.
The content footer consists currently entirely of UIX (LikeUIX, PageTagsUIX and PageAuthorsUIX by default), which is very handy. In order to make the content header as dynamic as the content footer, what do you think about introducing an UIXP
org.xwiki.platform.template.contentHeader? The content header would then contain the following UIX by default, as mentioned by @vmassol:
- breadcrumb: content header UIX with order=100
- title: content header UIX with order=200
- last modified: content header UIX with order=300
- content menu: content header UIX with order=400
Imho this approach would bring the following improvements:
- Align the content header and content footer approaches
- Let the content header benefit from the power of UIXs (ease of UI customization, async rendering options, cache control, ability to insert an UIX via the UIX Extension macro etc.)
- Make it easy to implement common layouts with an image in the content header like the Facebook banner layout or this layout on LeMonde.fr, or a header combining an image with the title and other header information like this one by National Geographic.
- Other UIX we could think of in the content header:
- Information messages before the content such as this example on VueJS documentation: “You’re browsing documentation for v2. For v3 click here.”
- Navigation bar for navigating to next page / previous page (as a complement or replacement of the breadcrumb in some specific cases)
- Call to actions that are specific to the current document
- Display PageTagsUIX or LikeUIX in the content header rather than in the footer, etc.
If we go for it, we could deprecate the UIXP After content header in favour of this new UIXP, hence the total of non-deprecated UIXP would remain the same (no complexity increase).
Do you see any downsides in organizing the content header along this line? What do you think?