TL;DR: to me, our templates were considered as APIs (because of the
skin-overriding mechanism), that's what drived me to make the 2)
proposal. Since the consensus here seems to be that we can consider
dropping the current template architecture I agree 2) sounds bad and
we should go for 1) (and have a small set of UIXPs + some of our
current UIs moved to UIXs).
On Fri, Mar 1, 2013 at 3:20 PM, Denis Gervalle <dgl(a)softec.lu> wrote:
On Fri, Mar 1, 2013 at 2:15 PM, Jean-Vincent Drean
<jv(a)xwiki.com> wrote:
On Fri, Mar 1, 2013 at 12:34 PM, Denis Gervalle
<dgl(a)softec.lu> wrote:
Hi,
Like Vincent, I do not really think we have thoroughly worked
our templates. IMO, templates should not be considered a good base for
implementing UI extension point blindly.
Currently templates were closely linked with our distributed skin. When
we
have introduce Colibri, new templates were added,
especially to support
the
new content menu for example, and other were
ignored, left over since no
more useful. Do you consider UI extension point to be closely linked with
our skin ? What would happen when we implement the bootstrap based skin ?
When I look at the list of UIXP I pasted I don't see it closely
related to a specific skin.
You should look closer, almost all are related to the way our current skin
is. Let takes more examples:
platform.template.menuview.*
platform.template.contentmenu.* implies we have 2 defined sets of menubars,
not less, not more
Not less indeed, but it doesn't prevent adding more of them.
Now I said the names weren't perfect, indeed menuview could be named
topmenu, contentmenu looks fine to me and I think it's quite
reasonable to assume that we'll continue to need it.
platform.template.shortcuts.* was inexistant before colibri, why wouldn't
it be remove next time ?
I knew this one would backfire on me :)
platform.template.*inline.* implies these * are
displayed separately and
inline, by the way, you mention only comments, but there are others...
I only mentioned those I logged for a simple view request, there are
indeed the 3 others.
Do you really see those as semantic UIX ?
Some names are not perfect, but again I don't
think we can afford
renaming them (because of our skin overriding mechanism).
This is not a matter of names, this a matter of semantic IMO.
Or, you consider UIX are linked to Skin. We will soon support Skin
extension (I hope), so we may depends on it. This way, you need a different
extension for each kind of skin (you may mutualize the source somewhat of
course). This could be a way to go.
Skin extension ? IX ?
We've discussed IX for a long time, I see UIXs as our pragmatic
implementation (some would say poor-man IXs).
What problem do you foresee with a bootstrap
based skin ? Would it be
difficult to keep current template names ?
Just think about the proposal from Cathy, there
is no more left panels...
Does the fact that the proposal have a single panel in the left column
means that we should consider dropping the panel feature ?
This seems to be the idea, have I missed something ?
I haven't seen a discussion about dropping panel support but I might
have missed it (and we'd need one hell of a migration path).
but an applications panel or whatever, how do you
expect to support
platform.template.leftpanels.top, platform.template.leftpanels.bottom,
what
would be there meaning ?
We could drop leftpanels.vm and rightpanels.vm and make the panel app
hook itself to platform.template.endpage.top.
You start thinking about the skin in terme of UIX, and you start minimizing
your templates. Very good.
This is therefore important not to create these UIXP now.
For sure doing 1) is harder, but creating truly
semantic UIXP could have
real advantage for maintenance and compatibility of code that use those
UIXP. So I would really prefer a few initial set of those semantic UIXP
to
start with, than that long list of not
necessarily useful and meaningful
ones. And, at least, I would like to read more opinion to consider 2).
1) is harder and I'm afraid it can start endless discussions :)
When we add a function for an API, we now have both a deprecation strategy
and an @Unstable annotation to prevent further difficulties. This does not
prevent discussion !
We lacking deprecation for UIX and we have not sufficiently think about it.
So, until we see a nice way to go, please let's only create UIXP for what
we are sure it will be both useful and supported later.
I am sure we could find some semantic UIXP that will not really suffer
discussion like:
- UIXP to add a menu for global feature
- UIXP to add a menu for content feature
- UIXP to add a menu for edit content feature
- UIXP before/after header, footer, content
...
All these concern UI element that will not be dropped, even if we increase
our UI usage. Note that I have not suggested something like UXIP
before/after title, hierarchy,... since those could be implemented as a
UIXP themselves.
This is not endless discussion that we needs, this is more some reflexion
on how we expect to use UIX in the near future.
Starting to think about the implementation of Flamingo skin with that in
mind would probably be a good start. And to avoid lengthy discussion, start
with the obvious, just a few UIXP at a time, taking care of the potential
risk, and exposing some potential usage. I see not point to add a UIX
without at least a small idea on what it could be used for.