+1 for 5

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:
> 
> 1. is dead wrong. This is what we've been doing until now, and we
> managed to overwhelm the skin with resources, putting a hard requirement
> on Albatross, registering no less than 14 global javascript files, most
> of the times unneeded, but hard to remove since nobody knows where and
> how they are used. If a bug is found, we need to redeploy the whole skin
> and wait for the next XE release, although it only affects one small
> part of the wiki. This also ties the platform to the skin. And it is
> completely not modular.
> 
> 2. is dead wrong too. What does the core have to do with CSS??!
> 
> 3. is slightly better. Since the SX are documents, they should be in an
> application. enterprise-wiki used to be the catch-all place to put
> documents, but we all decided that it must be split into modular
> applications. Plus, this is not XE specific, but it can be used in any
> product. administration is not suited either, since this has nothing to
> do with the wiki administration. The other existing apps are even less
> suited.
> 
> 4. is a good alternative. The problem with only one application is that
> it is not modular enough. We must release the whole bunch when only one
> component was changed, which leads to numerous releases, or delayed
> releases until enough bugs have been found and fixed, which prevents
> users from benefiting of already solved bugs. The advantage is that we
> don't have to create numerous tiny projects in Jira.
> 
> 5. is the best alternative when thinking of the future. With a good
> Interface Components manager, and a good Application Manager, installing
> and upgrading applications will be very easy. This solves the problems
> of 4, since each app can be released as soon as its bugs are solved, and
> auto-updated on all clients in no time. The problem is that we would
> need a lot of tiny Jira projects, each with its own release cycle. This
> is not a code problem, but a infrastructure one. In the future we should
> drop Jira (which IMO is much too company-oriented than
> umbrella-oriented), and replace it with our own infrastructure:
> interface.xwiki.org, as a repository of interface components, where each
> component has its own space, including our future agile project
> management tool.
> 
> 
> WDYT? Anything against option 5? If no, we'll need to decide some more
> details, as to where to put ICs in the svn repo, where to list them in
> the wiki, how to name them, etc.
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to