Hi Andreas,
On Aug 15, 2009, at 2:24 AM, Andreas Schaefer wrote:
Now that the Blog Upgrade to 2.0 wiki syntax comes
soon to a close I
want to focus on the improving its performance and ease of use. As
suggested beforehand I think creating a Blog Plugin would probably
the best way to accomplish that.
For that I would suggest that all methods in "Code" documents in the
blog (BlogCode2, CategoryCode and if needed RssCode) become part of
that plugin.
I'd also love this to happen (I even suggested it in the past too).
But there are some issues to resolve first:
1) the java classes should be APIs and not have UI-specific things in
them IMO. They should be a toolbox that can be used in various
scenarios.
2) we have to understand that it makes it harder to modify the blog so
we'll still need some BlogCode page to offer some flexibility and do
some UI outputing
3) the blog is an application and an optional one. It should not go
into xwiki-core. We'd package it with XE by default though.
4) it'll be harder for users to install/upgrade the blog application
since they'll need to install both a plugin + a XAR. And in addition
there's a possibility they'll use a plugin version incompatible with a
XAR version. It'll also cause problems for the first upgrade since
users will need to not forget to modify their xwiki.cfg file (and they
will forget for sure, hence the blog app will need to display some
nice message if the plugin is not there). We could also introduce some
internal version to ensure they are in sync or compatible.
5) we should use the (new) component-based architecture instead of
plugins as much as possible since plugins are the old way of doing
things. However it's possible that for this need it would be difficult
to use components since our Document Access Bridge component would
miss methods. This is to be checked.
The biggest issues for me are 4) and 5). 1) needs to be careful done
so that only pure data independent of UI gets out of the API but
provided it's done it's ok.
The solution to 4 is the famous Application Manager that we need to
finish designing and implement (see
http://dev.xwiki.org/xwiki/bin/view/Design/ApplicationManager ). It
won't be ready before 6 months at best IMO.
5) needs to be evaluated in term of API needs but it could be written
as an old style plugin for now.
Basically I'm fine to do it provided we are very careful with 4).
Let see what others think.
Thanks
-Vincent
Beside that I am also wondering if that plugin should
become part of
the Core (xwiki-core) like the Feed Plugin or a regular plugin like
the Scheduler Plugin which I think would be the best.
Cheers
Andreas Schaefer