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

Reply via email to