On Dec 18, 2008, at 3:48 PM, Sergiu Dumitriu wrote:

> Sergiu Dumitriu wrote:
>> Hi devs,
>>
>> While working on a UI feature that makes use of skin extensions (both
>> script and style), I was faced with a difficult choice: where to put
>> these extensions?
>>
>> The difficulty comes from several factors:
>> - This is a small feature that doesn't deserve its own application
>> - Yet, it does not fit in any of the existing applications
>> - I don't want to put the js and css in Albatross, as it was done  
>> until now
>> - Resource-based extensions are not as flexible as document-based  
>> ones,
>> and I'd still need a .jar module to stick them to.
>>
>> Since this is just the first in a long series of such small  
>> extensions,
>> leading to a simpler and more modular skin mechanism, I think we  
>> should
>> take a decision.
>>
>>
>> A while back, when designing Interface eXtensions, I also proposed
>> Interface Components, which is exactly what I would like to do (as  
>> the
>> packaging, since the code is already structured like a component).  
>> See
>> http://dev.xwiki.org/xwiki/bin/view/Design/InterfaceExtensions#HAfterwards
>>
>>
>> So, the choices are:
>>
>> 1. Stick to the past and put the code in Albatross, registering it in
>> platform-web/javascript.vm and stylesheet.vm.
>>
>> 2. Put the files as resource skin extensions inside xwiki-core.
>>
>> 3. Force the documents into an existing application, for example
>> administration or enterprise-wiki.
>>
>> 4. Create a new application for holding Interface Components.
>>
>> 5. Create a new application for each IC.
>>
>>
>> Currently, my preference is +1 for 5, with a +0 for 4 and -1 for the
>> rest. Here's some of my motivations:
>>
>
>
> Going further, since there are no objections, I propose the following
> structure:
>
> - platform
>  - skins
>    - albatross
>    - toucan
>    - components (pom id = xwiki-skin-components)
>      - attachments (pom id = xwiki-skin-attachments)
>      - jump
>      - suggest
>
> The packaging for components is XAR, and they are declared as
> dependencies in products (enterprise/wiki/pom.xml).

Before we do this could you just re-explain quickly the differences  
between:
- interface extensions
- interface components
- skin components

Isn't there also something called "template components/extensions"  
which are common to all skins?

I also don't understand the difference between templates and "skin  
components" since they seem to have the same role: some code that is  
shared between all skins.

I'm -0 for now (till I understand it) to change the skins dir as  
suggested since skins are not templates for me.

Basically I don't disagree but I don't understand about all these  
terms and how they'll fit together to give a good answer to your  
proposal.

I'd love a diagram :)

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

Reply via email to