Hi. Thomas has explained to me how maven really works and it should not be a problem to let xwiki-*-ui-all (all-in-one xars) in xwiki-enterprise-distribution.
So this is the new structure: xwiki-entreprise-ui (pom): * xwiki-entreprise-ui-common (xar) * xwiki-entreprise-ui-mainwiki (xar) (depends on xwiki-entreprise-ui-common + xwiki-platform-workspace-ui) * xwiki-entreprise-ui-subwiki (xar) (depends on xwiki-entreprise-ui-common + xwiki-platform-workspace-template-features) xwiki-enterprise-distribution (pom): * xwiki-entreprise-ui-mainwiki-all (all-in-one xar) (depends on xwiki-entreprise-ui-mainwiki) * xwiki-entreprise-ui-subwiki-all (all-in-one xar) (depends on xwiki-entreprise-ui-subwiki). Thomas has also given me some advices about <xwiki.extension.features>. We assume that we drop the support of XEM since XE will integrate Workspaces by default. So : xwiki-entreprise-ui-common will implement what used to be the xwiki-enterprise-ui feature. xwiki-entreprise-ui-mainwiki will implement what used to be the xwiki-manager-ui feature. Also, I need to install xwiki-entreprise-ui-common for regular subwikis and xwiki-entreprise-ui-subwiki for workspaces. This is because we don't want to install the workspace features on a regular subwikis in 5.2 That means, if we upgrade: A/ a standalone XE wiki: the distribution manager will see that the new XAR (xwiki-entreprise-ui-mainwiki) depends on xwiki-entreprise-ui-common, so it will upgrade (and replace) xwiki-entreprise-ui. B/ the main wiki of a farm: the distribution manager will see that the new XAR (xwiki-entreprise-ui-mainwiki) depends on xwiki-entreprise-ui-common, so it will upgrade (and replace) xwiki-entreprise-ui, but xwiki-entreprise-ui-mainwiki also implements xwiki-manager-ui, so it will be upgraded (and replaced) too. C/ a standard subwiki of a XEM (not a workspace): the distribution manager will see that the new XAR (xwiki-entreprise-ui-common) so it will upgrade (and replace) xwiki-entreprise-ui. But the subwiki will not be listed in the "Subwikis Directory", since "Subwikis Directory" only lists what we used to call "workspaces" (XWikiServer pages that have a WorkspaceClass object.). I think it's ok for 5.2. D/ a workspace: the distribution manager will see that the new XAR (xwiki-entreprise-ui-subwiki) depends on xwiki-entreprise-ui-common, so it will upgrade (and replace) xwiki-entreprise-ui AND xwiki-platform-workspace-template-feature. But dynamically selecting a specific XAR for the upgrade is not possible now. So Thomas and Marius (thanks to them) suggest me a temporary solution. - create a new JAR, with a new component that extends org.xwiki.extension.distribution.internal.DistributionScriptService and override getUIExtensionId(). - then, in the DW, when the upgrade is triggered, it call this method to know which XAR should be installed. - in the getUIExtensionId(), it looks if the current wiki is a workspace or not, and consequently returns the good XAR. Of course, this hack will be removed when we will have flavors. In 5.3, the upgrade will be much harder. Because we need to really merge the concept of "Workspaces" and "SubWikis", which is still 2 use-cases in 5.2. (the "subwiki" new term is only used on the translations). Thanks, Guillaume _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

