On Tue, Nov 4, 2014 at 2:47 PM, Eduard Moraru <[email protected]> wrote: > Ok, so we don`t really plan anything for the short term (i.e. consider xe > as a flavor and apply the same logic which is basically described in the > OP), but instead postpone it until flavors fixes the problem for us.
This is not a plan, just my point of view. The only thing that was decided is that we can move outside of platform the things that are not bundled in the default distribution. > > I`m not sure how users feel about this and if this (ability to upgrade > important extensions without upgrading war) is something that they really > need ASAP or if it can wait, but I guess we`ll have to see how it goes. > > Thanks, > Eduard > > On Tue, Nov 4, 2014 at 3:33 PM, Thomas Mortagne <[email protected]> > wrote: > >> On Tue, Nov 4, 2014 at 1:55 PM, Eduard Moraru <[email protected]> >> wrote: >> > 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? >> >> That's the other part on my mail. In my mind flavors have their own >> life and don't really need to be in sync with their dependencies. So >> once we get rid of XE and only distribute a minimalistic WAR (with >> only what is needed to install a flavor) I guess we can move more >> stuff outside of xwiki-platform. >> >> > >> > 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 >> >> >> >> -- >> 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

