Hi Ludovic,
On Sep 10, 2008, at 11:45 AM, Ludovic Dubost wrote:
Hi devs,
I'm working currently on the new comments and ratings plugins. The
objective is to allow to separate the comment code from the core to
allow different implementation which can be:
- comments as objects to the page (the current implementation)
- comments as separate pages
- ratings separated from comments
- comments and ratings merged
We have code in the sandbox
http://svn.xwiki.org/svnroot/xwiki/sandbox/plugins/comments/src/main/java/c…
There is a patch for the core to call the comments code in the
sandbox also.
Now we have currently used a plugin oriented entry point which calls
a CommentsManager which is a separate module. It does not seem very
practical to call the plugin from the core. I've been thinking that
it would be better to make the CommentsManager a component, with the
interface in the core, and separate the implementations in a
comments component in the xwiki-core-comments. The approach would be
similar to Artem's approach on the query plugin.
I haven't reviewed yet but if the interface is located in the core
then there's a problem I think.
Then we would use a velocity bridge to expose the
comments to the
velocity scripting.
Is that the right approach ?
Here's the vision:
* This feature should be in a separate "application", i.e. a separate
build module
* It should use interface extension to plugin into the UI
* In the further future, it would be a single XAR containing both
xwiki pages and jars. Right now it probably means splitting this
"application" module into 2 modules: one for the UI and one for
business logic
* The business logic should be implemented using components
* The component interfaces must be located in the the business logic
module (and not in the core core).
* The component should use the xwiki-bridge module to bridge between
the old architecture and the new one.
* The Velocity bridge mechanism we have discussed and agree on in some
other thread should be used (
http://tinyurl.com/5c4wa2). Note that
it's not available yet. Sergiu was working on making this possible by
making components of the velocity module uberspectors but he's had to
spend some time on some research project with StephaneL so this has
been delayed a bit. It should be there in the coming 2-3 weeks. Right
now if you really need it in Velocity you can put the component in the
Velocity context directly in the DefaultVelocityManager.java class
Is there documentation to help me achieve this ?
For components:
*
http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#HCompone…
* and existing code
Can some of our core devs looks at the comments code
and provide
some feedback to improve this. I think we can improve it
significantly.
We need comments and ratings as separate pages pretty quickly so we
need feedback very soon to be able to take it into account.
Can someone do that. I don't have time right now. I'm on a very very
tight schedule for the new rendering.
Thanks
-Vincent