Correct Jean-Vincent, and I was probably too harsh describing it,

but I understood Ecaterina's point to be a strive for a radical request to move 
away from html.
Maybe this can be described in several stages?

paul


On 1 févr. 2013, at 11:09, Jean-Vincent Drean wrote:

> AFAIU the thread is not about breaking things, it's about using xwiki
> syntax and macros (mostly for forms since the 2.0 syntax covers a lot
> of the html markup) to benefit from a standardized styling. Existing
> HTML would still be working, and it would be possible to write apps
> with HTML, but you'd have to handle styling on your own.
> 
> On Thu, Jan 31, 2013 at 10:20 PM, Paul Libbrecht <[email protected]> wrote:
>> 
>> Breaking the very broad toolset and knowledge of developers in HTML to 
>> create XWiki content and applications is, to me, suicidal.
>> Who would be ready to replace most of its html by macros?
>> 
>> Paul
>> 
>> 
>> On 31 janv. 2013, at 15:26, Ecaterina Moraru (Valica) wrote:
>> 
>>> Hi Denis,
>>> 
>>> When we discussed the Vertical Forms Standard [1] Thomas mentioned
>>> something about "commons tools to follow that standard (like form related
>>> wiki macros for example)". Some considered that having macros for standard
>>> HTML controls will just duplicate HTML language.
>>> 
>>> One advantage of having such macros would be that for example (let's say
>>> the macros will be defined in macros.vm) if you want to change the classes
>>> used by the controls (like .buttonwrapper class for example), you are just
>>> changing the macros, not all the places that call them.
>>> 
>>> This way you could easily change what classes you assign to a button for
>>> example from span.buttonwrapper input.button.secondary to
>>> button.btn.btn-primary (bootstrap way - of course we will also need to
>>> standardize the usage component: input, button, a, etc.)
>>> 
>>> The example above refers mostly to standard HTML elements. Of course if you
>>> want to use other types of components from different frameworks you will
>>> need to rewrite the templates, and this always calls for a new skin.
>>> 
>>> I thought about new skins for XWiki and since I joined the project we
>>> mostly deprecated old skins than creating new ones. But one problem I have
>>> is the concept of base skin. For me the base skin should be something very
>>> minimal.
>>> It should contain just the typography, standard controls, the grid, the
>>> reset, anyway elements that are not layout dependent and that will work for
>>> any skin. I'm not sure about templates, because mostly templates refer to
>>> layout and how you arrange things and what functionality you reveal and
>>> where, and this usually change with a new skin. Technical the base skin
>>> should contain the Standard, the base for things that will remain the same
>>> no matter what. Right now Colibri covers much more than that.
>>> 
>>> And this standard is absolutely necessary also for the way we go with
>>> extensions. We know very well that in an Open Source project, everybody
>>> codes with his own style and having a common ground is essential from a
>>> consistency point of view. All the applications that will be created and
>>> published by the community members should have a common style that could
>>> make them integrate well inside XWiki, no matter of the creator.
>>> 
>>> So the conclusion is that for this we will need a very well documented
>>> standard and the tools to enforce it. Not sure what this means.
>>> 
>>> Also other things worth discussing is colorthemes variables and macros
>>> against LESS variables and mixins.
>>> Also the Bootstrap / LESS is also a direction bet, just like Prototype vs.
>>> JQuery, and the solution we pick it would be great if it would be loosely
>>> coupled.
>>> 
>>> Thanks,
>>> Caty
>>> 
>>> P.S. Another discussion somehow related to extensibility is [Discussion]
>>> Problematic ColorTheme extensibility
>>> http://markmail.org/thread/ex6fgou6fl6vjwfr
>>> 
>>> [1] http://platform.xwiki.org/xwiki/bin/view/DevGuide/VerticalForms
>>> 
>>> 
>>> On Tue, Jan 29, 2013 at 8:10 PM, Denis Gervalle <[email protected]> wrote:
>>> 
>>>> Hi Devs,
>>>> 
>>>> As you may have noted from a previous mail, I have given a try to skin
>>>> XWiki differently, based on Bootstrap. There is certainly many ways to get
>>>> it done, but IMO, building over any pre-made css solution requires an
>>>> adaptation of the HTML generated.
>>>> 
>>>> In the early days of XWiki, the were few places were we have HTML
>>>> generated. Most of the html produce came from three major places:
>>>> 1) .vm templates including macros.vm
>>>> 2) java generated (#display())
>>>> 3) XWiki tech document
>>>> 
>>>> While 2) and 3) either provide very basic markup or customizable one and
>>>> are not so much, and 1) was fully customizable by skins, to work out a new
>>>> skin was not too complex.
>>>> 
>>>> Today however, the UI of XWiki has considerably increase its complexity,
>>>> and the source of HTML has followed, added to the above 3:
>>>> 4) XWiki and Java macros
>>>> 5) JavaScript (ie: annotation UI, comments preview)
>>>> 
>>>> Changing all these places has become really more painful. There is no
>>>> central place, and a lot of hidden dependencies between UI components
>>>> exists. Worse examples are those written in JS, that hook into the UI.
>>>> 
>>>> I should admit that I have not a clear idea of the best way to improve
>>>> that, but my feeling is that changing so much places simply to adapt our
>>>> wiki skin to the "a la mode" skin solution (something that will happen
>>>> again) is not nice.
>>>> 
>>>> So this thread is now open for anyone to discuss the situation and for
>>>> anyone interested to provide its input to the discussion.
>>>> 
>>>> Looking at what I face building the UI with bootstrap, here is what I
>>>> noticed:
>>>> 
>>>> 1) Bootstrap customize standard tags, without any css class associated
>>>> 2) Bootstrap provide standard css classes to skin a given kind of UI
>>>> component
>>>> 3) Bootstrap use these class and custom attribute to inject JS
>>>> interactivity
>>>> 
>>>> All these are really clean methods and work really well at building very
>>>> simple html construct while providing nice looking and easy interface.
>>>> 
>>>> Let's take a concrete example, to build a button, you may use either an a
>>>> tag, an input tag, a button tag or whatever, and set it a 'btn' css class.
>>>> You may complement it with additional 'btn-primary', 'btn-success', ... css
>>>> classes, to choose the kind of button you really want.
>>>> 
>>>> However, in our XWiki UI, there no single place where we construct buttons,
>>>> we do so in some velocity macros of macros.vm, we do so in .vm of the UI,
>>>> we also do so in javascript, and finally in some wiki documents, maybe we
>>>> also generate some in a java component.
>>>> All those buttons are usually built the same, with a very similar HTML, but
>>>> there is no central place where the button markup is produced.
>>>> 
>>>> And the same is true for most UI component. You may say we don't care, and
>>>> CSS could solve them all, making any kind of markup look the way we want.
>>>> But, we will loose the benefit of using existing CSS solution. And there
>>>> are interesting benefit to that, since those solution gets customized, see
>>>> BootsWatch for example.
>>>> 
>>>> Therefore, it seems to me that we need something like an UI generator, so
>>>> that when you build a application, you would simply says, I want a primary
>>>> button here, a secondary button there, and it gets created both the way it
>>>> should for your apps to use it, but also for the UI design we want to use.
>>>> 
>>>> Defining a list of these UI component is not simple, but we may take
>>>> Bootstrap as a starting point. There is in Bootstrap a large number of
>>>> control already, that should cover many UI possibilities.
>>>> 
>>>> How to provide that UI component to all the places we need it may be less
>>>> obvious. For example, we need to create button from .vm, XWiki document,
>>>> XWiki and java Macros, and even from javascript. Also defining how you
>>>> could expect to interact with each control, from Javascript or from java on
>>>> the server needs clarification.
>>>> 
>>>> I have not yet googled, but there may be existing experience regarding
>>>> these matters on other project. Not reinventing the wheel is always better.
>>>> Your ideas are welcome.
>>>> 
>>>> IMO, we really need that if we want our Skin 4.x to be really more usable
>>>> for customization.
>>>> 
>>>> WDYT ?
>>>> 
>>>> 
>>>> --
>>>> Denis Gervalle
>>>> SOFTEC sa - CEO
>>>> eGuilde sarl - CTO
>>>> _______________________________________________
>>>> devs mailing list
>>>> [email protected]
>>>> http://lists.xwiki.org/mailman/listinfo/devs
>>>> 
>>> _______________________________________________
>>> devs mailing list
>>> [email protected]
>>> http://lists.xwiki.org/mailman/listinfo/devs
>> 
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
> 
> 
> 
> -- 
> Jean-Vincent Drean,
> XWiki.
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to