So the ones that will be left still bundled with XE (AWM, Administration,
User Directory, etc.) will *still* have the issues in the OP, right?

What do we do about them?

Thanks,
Eduard

On Tue, Nov 4, 2014 at 9:41 AM, Thomas Mortagne <[email protected]>
wrote:

> On Mon, Nov 3, 2014 at 7:06 PM, Eduard Moraru <[email protected]>
> wrote:
> > This only applies to extensions currently locate in xwiki-platform. Does
> > not matter if they are bundled or not in XE.
> >
> > On that note, if we move all extensions to xwiki-extensions or how we
> want
> > to call it, we will be having the same inconveniences we had in the past
> > when releasing xwiki-enterprise, right? (having to check that in xe
> pom.xml
> > we have the latest versions specified as dependencies)
> >
>
> Again I talked about extensions not bundled with XE. Please read
>
> http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#HTopLevelExtensions
> .
>
>
> > Thanks,
> > Eduard
> >
> > On Mon, Nov 3, 2014 at 7:52 PM, Thomas Mortagne <
> [email protected]>
> > wrote:
> >
> >> You are only talking about extensions bundled with XE right ?
> >>
> >> For the other extensions we already decided that we were supposed to
> >> more them to their own repository and own versions (and own
> >> dependencies version like contrib projects). Since we are planning to
> >> reduce the size of XE and move to flavors around 7.x it will probably
> >> be the same for most of the extensions that are currently bundled in
> >> XE.
> >>
> >> On Mon, Nov 3, 2014 at 6:44 PM, Eduard Moraru <[email protected]>
> >> wrote:
> >> > = Problem =
> >> >
> >> > Extensions managed by the XWiki dev team (in xwiki-platform) are
> limited
> >> to
> >> > always depending on the latest version of XWiki.
> >> >
> >> > A user with an older XWiki instance can not install a newer/latest
> >> version
> >> > of an extension *without upgrading to the newer/latest version of
> XWiki,
> >> > even if that extension runs perfectly on his older version.
> >> >
> >> > Extensions on contrib do not have this problem, because they can
> easily
> >> > specify the (possibly older) XWiki version they depend on even if they
> >> are
> >> > developed and run perfectly on the latest version.
> >> >
> >> > As an analogy, imagine Android market where apps are developed with a
> >> > minimum supported OS version of 2.2 (the most wide spread) and run
> >> > perfectly and are developed on the latest Android 5.0.
> >> >
> >> > We need to be able to do that too, specially with "official"
> extensions.
> >> >
> >> > == Historical details ==
> >> >
> >> > We have introduced this problem when we moved from the old repository
> >> > layout where each module/extension was versioned individually. At each
> >> > release, we would have to make sure that the xwiki-enterprise web
> >> contained
> >> > the latest versions and it was a PITA. Now, each module/extension has
> the
> >> > same version as xwiki-platform/xwiki-enterprise and we don`t hav to do
> >> that
> >> > anymore, however we might have went a bit too far with the
> dependencies.
> >> >
> >> > = One Solution =
> >> >
> >> > In xwiki-platform, extensions keep using as parent the latest version
> in
> >> > order to access the latest tools and configurations and to benefit
> from a
> >> > smooth release process where we can release everything at the same
> >> version
> >> > (XWiki's version). However, inside each extenion's pom, they will
> need to
> >> > use the oldest compatible XWiki version possible for their
> dependencies
> >> and
> >> > stop using ${project.version} or ${platform.version}. E.g. "[4.3,)"
> >> meaning
> >> > from 4.3 to the latest
> >> >
> >> > = Problems with the solution =
> >> >
> >> > == Migrations ==
> >> >
> >> > When migrating/upgrading to a fixed version (e.g. the new war
> corresponds
> >> > to an XWiki 5.4 release) we want the distribution wizard to get the
> xar
> >> for
> >> > 5.4 and we want o ensure that all the xar's dependencies are 5.4
> versions
> >> > (the ones corresponding to the 5.4 release) and not the latest (e.g
> 6.3).
> >> >
> >> > If the user wants to upgrade some individual extensions to the latest
> >> > version, he can do that either in the current step (in the install
> plan
> >> to
> >> > override the xar's default dependencies versions and specify either a
> >> > manual one or 'latest') or in a diferent step (Add extension or
> Extension
> >> > Updater sections in Administration).
> >> >
> >> > === Example ===
> >> >
> >> > We want:
> >> >
> >> > xwiki-enterprise-ui-mainwiki (5.4) > xwiki-enterprise-ui-common (5.4)
> >
> >> > xwiki-platform-administration-ui (5.4) >
> >> > xwiki-platform-rendering-macro-velocity (5.4)
> >> >
> >> > Instead of:
> >> >
> >> > xwiki-enterprise-ui-mainwiki (5.4) > xwiki-enterprise-ui-common (5.4)
> >
> >> > xwiki-platform-administration-ui (5.4) >
> >> > xwiki-platform-rendering-macro-velocity ([4.3,) which is resolved to
> 6.3)
> >> >
> >> > === Possible solution to this problem ===
> >> >
> >> > Have the distribution xar ensure that its dependencies' transitive
> >> > dependencies are not the ones specified by the direct dependencies,
> but
> >> the
> >> > ones corresponsing to the distrubution xar's XWiki version. We could
> >> > probably achieve this by listing in xwiki-enterprise-ui-mainwiki all
> the
> >> > transitive dependencies that are XWiki artefacts and use
> >> ${project.version}
> >> > for all of them. Perhaps we can automate this with a maven plugin
> instead
> >> > of manually having to maintain this list. Even if we end up
> maintaining a
> >> > list, it will not be something that changes very often.
> >> >
> >> >
> >> > == LTS environment encapsulation leaks ==
> >> >
> >> > After the migration is complete and the user is now using 5.4, he
> might
> >> > want, at some point to upgrade some of his extensions to benefit from
> >> minor
> >> > bugfixes. Considering that his current 5.4 version is a LTS version,
> he
> >> > might not want to upgrade to the *latest* (6.3) version of an
> extension,
> >> > but he would like instead to remain in the 5.4 LTS version range and
> get
> >> > only 5.4.1, 5.4.x versions, even 5.x versions as they come, but not
> go to
> >> > 6.x or newer/unsafe versions.
> >> >
> >> > This problem should be addressed by the Extension Updater UI and,
> >> possibly
> >> > allowing the user to specify if he wants a specific/manual version
> >> > (regardless of LTS or latest) or the latest version (a. from the
> current
> >> > cycle, i.e. LTS or b. the latest one available, i.e. 6.3+)
> >> >
> >> > WDYT?
> >> >
> >> > Thanks,
> >> > Eduard
> >> > _______________________________________________
> >> > 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
> _______________________________________________
> 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