On Thu, Sep 22, 2011 at 3:18 PM, Vincent Massol <[email protected]> wrote:
> > On Sep 22, 2011, at 3:12 PM, Jerome Velociter wrote: > > > On Thu, Sep 22, 2011 at 12:08 PM, Vincent Massol <[email protected]> > wrote: > > > >> > >> On Sep 22, 2011, at 11:46 AM, Guillaume Lerouge wrote: > >> > >>> Hi, > >>> > >>> On Thu, Sep 22, 2011 at 1:45 AM, Sergiu Dumitriu <[email protected]> > >> wrote: > >>> > >>>> On 09/21/2011 03:41 PM, Vincent Massol wrote: > >>>>> Hi Eddy and all, > >>>>> > >>>>> On Sep 21, 2011, at 6:43 PM, Eduard Moraru wrote: > >>>>> > >>>>>> Hi devs, > >>>>>> > >>>>>> As part for the 3.2 Roadmap, the plan for the workspaces feature was > >> to > >>>> add > >>>>>> some hooks into the platform that could accept a workspaces > extension > >> if > >>>> an > >>>>>> admin decided to install it. > >>>>>> > >>>>>> Without adding these hooks, there currently isn`t any mechanism > (like > >>>>>> Interface Extensions, but not limited to that) that allows a simple > >>>>>> application to modify whatever it wishes (like user profile > sections, > >>>>>> administration sections, top menu, etc.) so I went ahead and added > >> some > >>>> code > >>>>>> into the platform that executes only when the workspaces extension > >> (wiki > >>>>>> pages and component/service) is installed. > >>>>> > >>>>> I don't like this too much for 2 reasons: > >>>>> 1) the workspaces app is not part of the platform ATM. It would be > like > >>>> someone we don't know coding an application and sending us a patch to > >> modify > >>>> the platform code to test if his own personal app is installed or not > >>>>> 2) it keeps adding kludges instead of finding a real solution > >>>>> > >>>>> To help with point 1), we could vote the fact that we're ok to have > >>>> workspaces in the platform but that doesn't solve 2). > >>>>> > >>>>> We could look at it point by point and find a solution for each > point. > >>>>> > >>>>> IMO ATM you should use jsx to add those entries so that no change is > >>>> required in the platform. I know some of you don't like this solution > >> but > >>>> IMO the best right now when the application is not part of the > platform. > >>>>> > >>>>> Then we need to open a discussion for adding extension points for > each > >>>> location where you need it. > >>>>> > >>>>> One solution would be to use XClasses to provide extension points. > >>>>> > >>>>> Point 1: Ability to add User tabs. There are several ways in which > this > >>>> can be achieved. > >>>>> Example solution: Introduce a UserTabClass and add as many tabs as > >> there > >>>> are UseTabClass objects in the wiki > >>>>> > >>>>> Point 2: Ability to add menu entries in the top level menu. > >>>>> Example solution: Have a MenuEntryClass and a MenuItemEntryClass, > each > >>>> having 2 fields: one field for the menu entry name and one for the > >> position. > >>>> The construct the menu dynamically > >>>>> > >>>>> The issue with these solutions is performance. A solution would be to > >> add > >>>> a module and have java listener listening to object changes + an API > to > >>>> return the data. However this maybe slightly too complex. BTW it could > >> be > >>>> interesting to offer a generic script service to do this (the idea > >> would be > >>>> to offer an active cache that would refresh when an XObject is > updated). > >>>>> > >>>>> Of course another solution would simply be to bite the bullet and > start > >>>> implementing IX… ;) (I need to read again Sergiu's design doc about it > >> since > >>>> I have forgotten how Sergiu planned to implement it) > >>>> > >>>> The major blocker for me is the raw velocity parsing done on the .vm > >>>> templates. One step forward would be to implement support for any kind > >>>> of templates for generating the response, using the full power of the > >>>> rendering engine. But that's something for another thread. > >>>> > >>>>> Any other idea? > >>>> > >>>> Accept Edy's patches as a temporary solution, pushing for a proper > >>>> cleanup in the next releases. > >>>> > >>>> I don't know how urgent these changes are, we should decide together > if > >>>> it's OK to skip these changes for 3.2 and instead work on a more > >>>> flexible way of integrating them in 3.3. > >>>> > >>> > >>> Feature-wise, the work proposed by Edy is very good. In short, it turns > >> XEM > >>> into a tool that can be used to easily manage wiki-based communities, > >> which > >>> is a feature that I see users requesting a lot these days. People I > talk > >>> with keep asking me about social and communities in XWiki and I've seen > >>> several workaround implementations on projects I'm involved with > already. > >>> > >>> Thus I'm very much in favor of making them available in XE 3.2, > >> especially > >>> given that Edy spent a lot of time working on them to have them ready > for > >>> the release. > >>> > >>> I agree that his solution is far from clean, but we're still waiting > for > >> a > >>> clean IX mechanism that I do not believe will be ready for 3.3. Thus > this > >>> means that waiting for the IX mechanism to make the Workspaces feature > >>> available would delay it by about 6 months. I'm not in favor of this > >>> solution. > >> > >> Using jsx doesn't require any change in the platform. This means that XE > >> right now is compatible with the workspaces application. That's the > point > >> and how extensions should be: independent of the platform (no hard > links). > >> > >> So there's no issue of timeframe if Eddy is ok to use JSX. > >> > >> JSX is currently our clean solution for IX. There's no other way ATM. > This > >> is how anyone adds UI elements cleanly to an existing XE (apart from > >> modifying templates/pages but that's not clean since an upgrade will > >> overwrite those changes or at the very minimum you'll need to do a > merge). > >> > >> ATM I'm very strongly in favor of using JSX for this kind of integration > >> (for extensions) till we propose a better IX solution. > >> > > > > I'm -0 tending to -1 to advertise this as the clean way of integrating > such > > feature. When you say this, the message I read is "you can do it if you > want > > but your code will be awkward". Until we have IX, I prefer we accept to > > introduce hooks the way the "forgot username/reset password application" > is > > built upon. At least the awkwardness is shared between the platform and > the > > feature. > > So you're willing for everyone in the world to submit patches to > xwiki-platform to ask us to add static hooks for their own applications ? > Now it's my turn to be -1 ;) > > Also it's not enough to give a -1 jerome, you need to have arguments and > explain why it's a problem... > I didn't really gave -1 ; and I explained why I think it's bad. I'm not talking about external features. I think if we were to integrate workspaces, it would be a feature we would advertise (application packaged by default, mentionned in the release notes and all - am I wrong ?) Jerome. > > Thanks > -Vincent > > > Jerome > > > > > >> Thanks > >> -Vincent > >> > >>> Guillaume > >>> > >>>> Thanks > >>>>> -Vincent > >>>>> > >>>>>> > >>>>>> I`ve created http://jira.xwiki.org/browse/XWIKI-6991 with some > >> details > >>>> about > >>>>>> what I have done and made a pull request at > >>>>>> https://github.com/xwiki/xwiki-platform/pull/24 since I did not > want > >> to > >>>> rush > >>>>>> at applying the changes without running them by you guys. > >>>>>> > >>>>>> I`ve broken the issue down to subtasks with separate commits to make > >> the > >>>>>> review easier. > >>>>>> > >>>>>> There currently is a demo server for the workspaces feature at > >>>>>> http://wiki30-demo.xwiki.com but I will have to update it tomorrow > >> with > >>>> the > >>>>>> latest version. Not much changed, you can see the visible changes in > >> the > >>>>>> specific jira subtasks (screenshots). > >>>>>> > >>>>>> The goal would be for this to make it into 3.2 so that people could > >> then > >>>>>> install (the soon to be released) workspaces extension and try it > out. > >>>>>> > >>>>>> Please take some time, if possible, to look over the proposed > changes > >>>> and > >>>>>> spot any problems. > >>>>>> > >>>>>> Thanks, > >>>>>> Eduard > >>>> > >> > >> _______________________________________________ > >> devs mailing list > >> [email protected] > >> http://lists.xwiki.org/mailman/listinfo/devs > >> > > > > > > > > -- > > Jérôme Velociter > > Winesquare > > http://www.winesquare.net/ > > _______________________________________________ > > devs mailing list > > [email protected] > > http://lists.xwiki.org/mailman/listinfo/devs > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Jérôme Velociter Winesquare http://www.winesquare.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

