After reviewing the code and doing some debug I found that
Context/XWikiContext.isVirtual and XWiki.isVirtual are two things
- context : "is not in the main wiki"
- xwiki : "platform is in virtual mode"
This is very disturbing and i'm pretty sure context.isVirtual is used
in the wrong way at some places...
Plus, context does not need to store a "virtual" variable (like it
does actually), it just need to compare getMainXWiki and getDatabase.
I propose to rename XWiki method to "isVirtualMode" and refactor
XWikiContext/Context isVirtual/setVirtual to "isMainWiki" and of
course deprecate old methods.