On Sep 22, 2011, at 3:25 PM, Jerome Velociter wrote: > 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.
Could you explain again because I don't remember it and I don't see it your previous email? > 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 ?) ATM workspaces is not integrated. It's supposed to be an extension. No vote has been sent to integrate it yet AFAIK. Thanks -Vincent > 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 _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

