On Mon, Feb 18, 2013 at 3:38 PM, Eduard Moraru
<enygma2002(a)gmail.com> wrote:
Hi Thomas,
On Mon, Feb 18, 2013 at 3:45 PM, Thomas Mortagne
<thomas.mortagne(a)xwiki.com>wrote;wrote:
On Mon, Feb 18, 2013 at 2:07 PM, Eduard Moraru
<enygma2002(a)gmail.com>
wrote:
Hi devs,
According to the Roadmap of 5.0 [1][2] we will be deprecating the virtual
mode API and moving to a virtual-by-default mode instead.
The idea is that the multiwiki environment should be the default and,
anyone wanting to use the single-wiki mode (as XE was doing in the past),
will simply not create any subwiki. It is just pointless to have 2
products
for such a simple fact and it also confuses users
that have downloaded
and
started to use one product and later on realise
that they needed the
other.
Also, when installing the wiki-manager and/or
workspace extension(s)
(because you might want to create subwikis/workspaces), there will be no
need to stop the wiki, enable-virtual mode and restart it; all will be
doable in the browser.
Therefore, I`m sending this mail to ask your opinion about this topic, in
case you might have something to say against it, and also to brainstorm
on
the required changes and implications on existing
code so that the
transition is as smooth and invisible as possible.
Proposed changes:
- Remove "xwiki.virtual" from xwiki.cfg(.vm)
-- remove the usage of the "$xwikiCfgVirtual" maven property from
xwiki-platform (, xwiki-enteprise and xwiki-manager)
- Deprecate boolean com.xpn.xwiki.XWiki.isVirtualMode() (and the
api.XWiki
version)
-- change its code to ((getVirtualWikisDatabaseNames(context).size() ==
1)
? true : false) until it is removed by the
deprecation process.
-1. It means that you are going to be in non virtual mode when
starting XEM which is very wrong and the complete opposite of what we
want here. We should deprecate and don't touch it's implementation in
any way other that returning true by default instead of false when
there is nothing in the configuration. Again as you said the goal is
to be in virtual mode by default, period. If the UI want to do
something different when there is only one wiki the UI should test if
there is only one wiki but breaking all extensions counting on the
virtual mode is very bad API breakage.
I agree. The isVirtualMode check was supposed to tell you if "there can be
more than one wiki", while I was suggesting to transform it to "are there
currently more than one wikis?", which is obviously not equivalent.
Possibly needed changes:
- Add main wiki default descriptor to xwiki-enterprise-ui (so that
getVirtualWikisDatabaseNames includes the main wiki and also to avoid DNS
issues (?) caused by how we handle virtual mode)
This is useless IMO:
* the fact that getVirtualWikisDatabaseNames does not return the main
wiki when there is no descriptor for it is a bug that should be fixed
Ok. I have created the jira issue for it:
http://jira.xwiki.org/browse/XWIKI-8829
Also, on the same topic, I think that we should also expose the
getVirtualWikisDatabaseNames method in api.XWiki. Maybe we should rename it
to something simpler like api.XWiki.getAllWikis() or getAllWikiNames().
Yes, "getVirtualWikisDatabaseNames" is not very nice.