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...

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

Reply via email to