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

Reply via email to