Ok after reading carefully and after talking to Guillaume, here’s what I propose:
- For 6.1:
* Our goal is to have a usable Flamingo skin, which means a polished skin UI, especially
for view/edit/admin modes.
* The following features will not be complete for 6.1:
** The App Bar (Applications Panel) will only work in medium size for the moment and
displayed on the right for now
** The Color Theme editor is the current one (the Colibri one). It works for Flamingo too,
the only limitation (acceptable IMO for 6.1) is that the preview is done on the Colibri
look
** We don’t change the icon set and still use Silk for 6.1.
- For 6.2:
* GuillaumeD starts a discussion thread about whether to standardize on the Bootstrap HTML
+ Bootstrap HTML Classes + Bootstrap theme variables or create our own: XWiki HTML + XWiki
HTML Classes + XWiki theme variables. Note that if we use our own, we should still strive
to copy Boostrap as much as possible to benefit from all the thoughts they gave to it.
* Guillaume/Caty make a proposal to support multiple icon sets and make a proposal for a
new icon set, that support different sizes in particular.
* Guillaume implements the new Theme Editor based on the result of the discussion
mentioned above.
* Guillaume/caty implement the support for multiple icon sets + the new icon set.
WDYT?
Thanks
-Vincent
On 16 Jun 2014 at 13:08:00, Guillaume Louis-Marie Delhumeau
(gdelhumeau@xwiki.com(mailto:gdelhumeau@xwiki.com)) wrote:
2014-06-16 12:51 GMT+02:00 Ecaterina Moraru (Valica)
:
IMO the biggest problem are the applications that
are using the colorthemes
variables.
So from what I understood you propose to deprecate the colorthemes
variables in favor of Bootstrap variables. My question is how do we do it?
So instead of using '$theme.textColor' I would need to use '@text-color'
?
The problem is that one is Velocity, while the other is LESS.
We could have velocity variables too, like
$bootstrapTheme.get('text-color').
Do we plan to
support and compile all css, across all applications. From what I know now
we only compile the style.css -> style.less.
Because of performances reasons, I think it is better to not offer this
feature everywhere.
Not sure how much work you have for the RC1, but for me is kind of risky.
Also because we need to reach an agreement.
Yes it seems the most careful choice.
So IMO we could make just the wizards/previewers skin dependent and keep
the ColorThemesClass generic.
The approach could be to have something like:
* xwiki-platform-colorthemes that contains the API colorthemes we propose
to use across our applications. ColorThemes name might be a bit
restrictive, since they are actually API variables used to customize the UI
across elements ( we could extend it to support IconThemes, PanelsThemes,
etc. but that's another discussion). This way we share the ColorThemeClass.
* xwiki-platform-colibri-colorthemes that could contain only the wizard.
This is indeed skin dependent because of the layout. It will be also
dependent of platform-colorthemes since it's using it's variables.
* xwiki-platform-flamingo-themes that will contain the prototype preview
you are working on. Here we will provide a tab for the standard XWiki
colortheme variables and other tabs that customize the Bootstrap values.
Maybe here we could write a mapping like '$theme.textColor = @text-color'
although this will be technical and these wizards should be used by
non-technical users (actually this is kind of problematic for Boostrap
variables, since they are intimidating because they are so many). It's a
bit problematic, since I don't know if in the Flamingo Wizard we should
provide all the Bootstrap varibles. The skin is not using all the structure
Bootstrap is providing. For example, in our panels we don't have a
dedicated footer, etc.
I would like to propose only **some** of the bootstrap variables. I have
already started to pick some of them, and just playing with it with
automatic preview. It's quite fun actually.
If we have this API colorthemes variables we will be on the safe side if
Bootstrap is changing again the syntax (like in the case of 2.x, 3.x, 4.x,
etc.). If they change it again we just adapt it in the
xwiki-platform-flamingo-themes wizard, but we will not need to change in
all our applications.
Ok but that means we do not choose Bootstrap as our new UI standard, but we
create our own.
>
> Thanks,
> Caty
>
>
> On Thu, Jun 12, 2014 at 7:09 PM, Guillaume "Louis-Marie" Delhumeau <
> gdelhumeau(a)xwiki.com> wrote:
>
> > BTW, I first planned to implement this for RC1.
> >
> > Do you see, guys, any inconvenient for writing such an application +
> modify
> > the administration-ui in a RC?
> >
> > If there is, then I need a milestone 3, or pushing it for 6.2.
> >
> > Thanks,
> > Guillaume
> >
> >
> > 2014-06-12 10:21 GMT+02:00 Marius Dumitru Florea <
> > mariusdumitru.florea(a)xwiki.com>gt;:
> >
> > > On Thu, Jun 12, 2014 at 11:10 AM, Guillaume "Louis-Marie"
Delhumeau
> > > wrote:
> > > > 2014-06-12 10:06 GMT+02:00 Marius Dumitru Florea <
> > > > mariusdumitru.florea(a)xwiki.com>gt;:
> > > >
> > > >> On Thu, Jun 12, 2014 at 10:41 AM, Guillaume
"Louis-Marie" Delhumeau
> > > >> wrote:
> > > >> > Hi Marius,
> > > >> >
> > > >> >
> > > >> > 2014-06-11 21:26 GMT+02:00 Marius Dumitru Florea <
> > > >> > mariusdumitru.florea(a)xwiki.com>gt;:
> > > >> >
> > > >> >> There are currently many places (both in platform and
in
> > extensions)
> > > >> >> where we use color theme properties such as
> > > >> >> $theme.pageContentBackgroundColor .
> > > >> >
> > > >> >
> > > >> > For them, I have written a retro-compatibility component
that
> > computes
> > > >> the
> > > >> > color themes variables from the style.css generated by
Flamingo.
> It
> > > >> > actually does a mapping between bootstrap variables and old
color
> > > theme
> > > >> > variables. It is not perfect, but at least it does not break
the
> > whole
> > > >> UI.
> > > >> >
> > > >> >
> > > >> >> Does FlamingoThemeCode.ThemeClass
> > > >> >> have completely different properties? I hope not.
I'm looking at
> > the
> > > >> >> ColorThemeClass and most of its properties seem pretty
generic,
> > i.e.
> > > >> >> skin independent. Which ones are skin dependent?
> > > >> >>
> > > >> >
> > > >>
> > > >> > First, the preview section is completely skin dependent
(see:
> > > >> >
> > > >>
> > >
> >
>
http://design.xwiki.org/xwiki/bin/download/Proposal/ColorThemeforFlamingo/C…
> > > >> > ).
> > > >>
> > > >> My question was not about the UI. I was talking strictly about
the
> > > >> 'data'. A color theme is defined by a map of (property,
value)
> pairs.
> > > >> The current color theme definition has some properties that are
(I
> > > >> think) widely used. You propose a new color theme definition
that
> has
> > > >> different properties. The reason is, you say, because the
current
> > > >> color theme properties are skin dependent. I don't find this
true,
> at
> > > >> least not entirely. Most of the current color theme properties
seem
> > > >> skin independent to me, that's why I asked you to list the
> properties
> > > >> that you view as skin dependent.
> > > >>
> > > >> >
> > > >>
> > > >> > Then, the new theme editor will propose to customize a set
of
> > > variables
> > > >> > specific to bootstrap, just like:
> > > >> >
http://fancyboot.designspebam.com/
> > > >> >
> > > >> > We are exposing the BS variables because it is flexible and
> > powerful.
> > > >> > Mixing old color theme variables and bootstrap variables
will not
> > > >> resulting
> > > >> > to a consistent set of variables, so that is why I am
proposing to
> > > >> separate
> > > >> > the 2 cases.
> > > >>
> > > >> So the reason is not because the current color theme properties
are
> > > >> skin dependent but because we want to use the bootstrap
'properties'
> > > >> (some of which are in the current color theme but with a
different
> > > >> name?).
> > > >>
> > > >
> > > > Yes.
> > > >
> > > > The alternative is to not expose BS variables but only our already
> > > defined
> > > > variables and have an internal mapping between our variables and the
> > > > bootstrap ones. It would be less flexible, but we would still have
> the
> > > > textarea field to write LESS code if it is not enough. This
> alternative
> > > is
> > > > only about changing the UI, and not the data.
> > >
> > > I don't have a strong opinion. Since we're gong to standardise our
UI
> > > around BS then I guess it's fine to use directly the BS variables for
> > > the new color themes.
> > >
> > > Thanks,
> > > Marius
> > >
> > > >
> > > >
> > > >>
> > > >> Thanks,
> > > >> Marius
> > > >>
> > > >> >
> > > >> > BTW, old color themes are still compatibles with Flamingo,
because
> > we
> > > >> have
> > > >> > a binding between the old color theme variables and the
bootstrap
> > > >> > variables, but it is far from perfect.
> > > >> >
> > > >> >
> > > >> >>
> > > >> >> Also,
> > > >> >>
> > > >>
> > >
> >
>
https://github.com/gdelhumeau/xwiki-platform/commit/49aca5733f4a820f3d1327c…
> > > >> >> shows that FlamingoThemeCode.ThemeClass has only two
properties?
> > > >> >> body-bg and text-color, both present with a different
name in
> > > >> >> ColorThemeClass.
> > > >> >>
> > > >> >
> > > >> > When I have posted the link above, I only wanted to show you
the
> > > >> > modifications done on SkinAction.java. Of course, ThemeClass
will
> > not
> > > >> have
> > > >> > only two properties! This commit is a first step to have a
proof
> of
> > > >> concept.
> > > >> >
> > > >> > If you want to have the list of bootstrap variables, you
could see
> > > there:
> > > >> >
http://getbootstrap.com/customize/#less-variables
> > > >> >
> > > >> > Of course we won't expose all these variables: it would
be
> confusing
> > > for
> > > >> > the end user. We have to chose some of them. If the user
wants to
> > > >> customize
> > > >> > variables that are not exposed, she can do that with the
textarea
> > > field
> > > >> > where she can write LESS code.
> > > >> >
> > > >> >
> > > >> >>
> > > >> >> Thanks,
> > > >> >> Marius
> > > >> >>
> > > >> >> On Wed, Jun 11, 2014 at 6:43 PM, Guillaume
"Louis-Marie"
> Delhumeau
> > > >> >> wrote:
> > > >> >> > Hi devs.
> > > >> >> >
> > > >> >> > I am implementing the Color Theme Editor for
Flamingo! And this
> > is
> > > a
> > > >> >> > preview:
> > > >> >> >
> > > >> >>
> > > >>
> > >
> >
>
http://design.xwiki.org/xwiki/bin/download/Proposal/ColorThemeforFlamingo/f…
> > > >> >> >
> > > >> >> > Since the current color theme application is
strongly linked to
> > > >> Colibri,
> > > >> >> > and the new application will be strongly linked to
Flamingo, I
> > > propose
> > > >> >> the
> > > >> >> > following:
> > > >> >> >
> > > >> >> > 1/ move xwiki-platform-colorthemes in
xwiki-platform-colibri
> and
> > > state
> > > >> >> that
> > > >> >> > this application is only compatible with
colibri-based skin.
> > > >> >> > 2/ create the new application in
xwiki-platform-flamingo
> > > >> >> > 3/ the new color theme application will actually
propose more
> > than
> > > >> colors
> > > >> >> > (fonts, less code, etc...), so I propose to call
it
> > > >> >> > xwiki-platform-flamingo-themes.
> > > >> >> > 4/ in the administration, we have a page that
propose which
> color
> > > >> theme
> > > >> >> we
> > > >> >> > want to use. Since the new application will not be
compatible
> > with
> > > the
> > > >> >> old
> > > >> >> > one, I propose to add an extension point (such as
what we have
> to
> > > >> >> configure
> > > >> >> > search suggest sources) in order to propose the
themes
> > > corresponding
> > > >> to
> > > >> >> the
> > > >> >> > selected skin (ie: xobjects of
ColorThemes.ColorThemeClass for
> > > colibri
> > > >> >> and
> > > >> >> > skins based on colibri, and xobjects of
> > > FlamingoThemeCode.ThemeClass
> > > >> for
> > > >> >> > flamingo).
> > > >> >> > 5/ modify SkinAction that currenlty executes
velocity code on a
> > > skin
> > > >> file
> > > >> >> > if the mime type is CSS or JS, to also execute
velocity on
> files
> > > >> suffixed
> > > >> >> > by .less.vm, because I need it for my application.
To see what
> it
> > > >> looks
> > > >> >> > like, please look at
> > > >> >> >
> > > >> >>
> > > >>
> > >
> >
>
https://github.com/gdelhumeau/xwiki-platform/commit/49aca5733f4a820f3d1327c…
> > > >> >> > . The alternative is to create a new action which
is too much
> > IMO.
> > > >> >> > 6/ when colibri will be deprecated on removed from
XE, we will
> do
> > > the
> > > >> >> same
> > > >> >> > for the old color theme application.
> > > >> >> >
> > > >> >> > WDYT?
> > > >> >> >