Hi Thomas, On Apr 6, 2012, at 9:49 AM, Thomas Mortagne wrote:
> Hi dev, > > To get a proper setup of installed extensions we want to make sure > everything is installed trough Extension Manager instead of being > imported as a plain xar. So the idea come up to finally start the long > awaited installer/upgrader UI. Cool :) > First step is to find how to know when to display this UI so here is a > proposal (ref > http://dev.xwiki.org/xwiki/bin/view/Design/Installerandupgrader): > > = The new informations > > * deprecate version.properties for a more complete > distribution.properties that would contains at least the following > ** version of the distribution What is a distribution? From what I understand our idea is to not have any distribution by default in the future and instead to start up with a minimal runtime having only the Extension Manager (and what it needs to work) and then ask the user to pick a "Flavor" (preset of extensions) or start with an empty "Flavor" (or hand pick the extensions he'd like to see used). Thus for me there's only 1 "distribution" in the future, it's the EM one. And XE becomes a "Flavor". So when upgrading you use the list of installed extensions to know what to upgrade. Now even if we decide to create a static packaging of extensions and make it a distribution (which I don't personally want nor like too much) then the distribution would simply mean a list of extensions and their versions, which we already have AFAIK. Thus from my POV all that we need to know is: a) list of installed extensions and their versions b) list of core extensions and their versions I'm not sure that we need to have a single version representing a) and b). I cannot comment on the rest of this proposal without discussing this first. Thanks -Vincent > ** top extension id of the distribution (to display general > informations about the distribution). For example in XE it would be > distribution.id=xwiki-enterprise > ** name of the distribution (I'm not 100% sure for this one since we > can find it with the id using Extension Manager but I think it's safer > in case we don't have access to any repository to display something > nicer than a technical id). For example for XE it would be > distribution.name=XWiki Enterprise (who would have guessed :)). > ** war extension id of the distribution (generate a default id like > <product-id>-web when none is provided). For example in XE it would be > distribution.web.id=xwiki-enterprise-web > ** ui extension id of the distribution (generate a default id like > <product-id>-ui when none is provided). For example in XE it would be > distribution.ui.id=xwiki-enterprise-ui > ** then come custom properties specific to the distribution. For > example in XE I think we could add commons.version, rendering.version, > etc. > > = The current informations > > * store all that in a table of the DB to compare the current with what > comes with the war. If the DB does not contain anything its a new > install, if the DB contain something different it's an upgrade (note > that this also support downgrade or moving from one distribution to > another like XE -> XEM the same way). The idea is that we store theses > informations only when the installer/upgrader is fully passed or that > the user explicitly indicated tat he does not want to install or > upgrade anything so that if you only did part of it before restoring > you can come back and continue the install/upgrade process. > > = The manager > > * introduce a xwiki-platform-distribution to manipulate all that > > = Some questions > > 1) "distribution" or "product" ? > 2) reuse the same table where we currently store the DB version ? > > I don't want to talk about the installed/upgrader UI itself for now, > it will be the subject of another mail. I would like to concentrate of > one step at a time since that's going to be pretty important system. > > WDYT ? > > The may goal that started this proposal is the installer/upgrader UI > but those as also very useful for different use case. Some lib could > want to know the version of platform or commons to choose what to do, > we will be able to add the id of the distribution itself and the war > extension as core extension to allow some extension to put it as > dependency, we will finally display a proper footer without putting > the distribution name in the XWikiPreferences. > > Here is my +1. > > 1) my +1 goes to "distribution" > 2) my +1 goes to another table to not mix different subjects > > Thanks, > -- > 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

