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

