Hi devs,

To be more precise, the essence of my proposed change [1] is to actually
always return "true" in the isVirtualMode() method, ignoring any
configuration and marking the method as @deprecated, to be removed in
future versions.

Is there any reason not to do this? (Why) Would we want to preserve the
possibility of going back to a non-virtual mode? (mostly addressed to
Thomas, but to others as well)

Thanks,
Eduard

----------
[1]
https://github.com/xwiki/xwiki-platform/commit/ce3d9d28aefdb327d407ef179a4c869ccce74478




On Fri, Feb 22, 2013 at 3:39 PM, Eduard Moraru <[email protected]> wrote:

> Hi devs,
>
> As some of you have already noticed and already started providing feedback
> (thank you), I have pushed a feature branch [1] that proposes the removal
> of the virtual mode concept (making it enabled and fixed by default).
>
> I have also gone trough the code in xwiki-platform and removed, in the
> feature branch, dead code (code branches that will never be reached because
> of this change). Some tests were also adapted to the new change. I have
> also tried a build of xwiki-platform with these changes and it built
> successfully.
>
> First of all, I want to make sure that we agree on the change, since
> Thomas already mentioned that he does not agree (but I need more details).
>
> Second, if we agree, please take the time to look over the changes
> (particularly in the modules that you each have experience in) and double
> check that the logic of the code was not altered in any way.
>
> I will not be merging this branch until I get a general green light from
> the committers, and until everybody is happy :)
>
> Please share your opinion both on this mail and/or on the specific changes
> in the github commits.
>
> Thanks,
> Eduard
>
> ----------
> [1]
> https://github.com/xwiki/xwiki-platform/commits/feature-deprecate-virtual-mode
>
>
>
> On Mon, Feb 18, 2013 at 4:53 PM, Thomas Mortagne <
> [email protected]> wrote:
>
>> On Mon, Feb 18, 2013 at 3:48 PM, Thomas Mortagne
>> <[email protected]> wrote:
>> > On Mon, Feb 18, 2013 at 3:38 PM, Eduard Moraru <[email protected]>
>> wrote:
>> >> Hi Thomas,
>> >>
>> >> On Mon, Feb 18, 2013 at 3:45 PM, Thomas Mortagne
>> >> <[email protected]>wrote:
>> >>
>> >>> On Mon, Feb 18, 2013 at 2:07 PM, Eduard Moraru <[email protected]>
>> >>> 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.
>>
>> This name is also pretty wrong btw since that's wiki names and not
>> database names which could be very different.
>>
>> >
>> >>
>> >>
>> >>> * I don't see how having a descriptor with localhost in it will help
>> >>> in any way not having DNS issue, it's not helping much in XEM it's not
>> >>> going to be better in XE. IMO the right solution is to fallback on
>> >>> main wiki by default when the wiki is unknown instead of sending a
>> >>> redirect to some URL which cannot work and only allow to enable this
>> >>> redirect URL as an option
>> >>>
>> >>
>> >> Ok, so we comment out xwiki.virtual.redirect in xwiki.cfg and, by
>> default,
>> >> redirect to the main wiki's Main.WebHome.
>> >
>> > I carefully chose "fallback" and not "redirect" because a real
>> > redirect is impossible here since no URL will really be right or the
>> > main wiki. The idea would be to do exactly the same thing we do with
>> > IP, www.*,.
>> >
>> >>
>> >> An existing jira issue that is very related to this topic is
>> >> http://jira.xwiki.org/browse/XWIKI-479 We could reuse that.
>> >
>> > Yes we can reuse it but not follow the proposal in the comments.
>> >
>> >>
>> >> Thanks,
>> >> Eduard
>> >>
>> >>>
>> >>> > -- or have it generated programmatically at startup if it does not
>> exist
>> >>> > (might be safer this way, since people might be using a different
>> UI than
>> >>> > xwiki-enterprise-ui)
>> >>> >
>> >>> > I will start working on this locally and see if I can spot other
>> issues,
>> >>> > but please share your thoughts.
>> >>> >
>> >>> > Thanks,
>> >>> > Eduard
>> >>> >
>> >>> > ----------
>> >>> > [1] http://markmail.org/message/o6adfbscpidnn7zr
>> >>> > [2] http://jira.xwiki.org/browse/XWIKI-8822
>> >>> > _______________________________________________
>> >>> > devs mailing list
>> >>> > [email protected]
>> >>> > http://lists.xwiki.org/mailman/listinfo/devs
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Thomas Mortagne
>> >>> _______________________________________________
>> >>> devs mailing list
>> >>> [email protected]
>> >>> http://lists.xwiki.org/mailman/listinfo/devs
>> >>>
>> >> _______________________________________________
>> >> devs mailing list
>> >> [email protected]
>> >> http://lists.xwiki.org/mailman/listinfo/devs
>> >
>> >
>> >
>> > --
>> > Thomas Mortagne
>>
>>
>>
>> --
>> Thomas Mortagne
>> _______________________________________________
>> 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