[Zope-CMF] Re: Multiple GS profiles per product

2008-05-19 Thread Maurits van Rees
Tres Seaver, on 2008-05-19:
>> Can you add a ticket for this last issue?
>
> I'm assuming that you mean against QI?  Because I see nothing which
> needs changing in GS here.

Correct.

-- 
Maurits van Rees | http://maurits.vanrees.org/
Work | http://zestsoftware.nl/
"This is your day, don't let them take it away." [Barlow Girl]

___
Zope-CMF maillist  -  Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See http://collector.zope.org/CMF for bug reports and feature requests


[Zope-CMF] Re: Multiple GS profiles per product

2008-05-19 Thread Maurits van Rees
Thanks for the comments, Tres and Hanno.

Hanno Schlichting, on 2008-05-16:
> Hi.
>
> Maurits van Rees wrote:
>> This is on Plone 3.0 with CMFQuickInstaller 2.0.4.
>
> I think you are on the wrong list here. QuickInstaller is a part of 
> Plone and not CMF and should be discussed on plone-dev. I'll give some 
> responses anyways ;)

Ah, I was thinking "It starts with CMF so I will mail the CMF list."
But the CMF-QI is in the plone collective indeed.  My bad.

Is anyone in CMF land using the CMFQuickInstaller without using
CMFPlone?  There are no imports from CMFPlone so it should be
possible.

>> Question 1: can I influence which profile is picked here?  Should we
>> add some code to the QuickInstaller.getInstallProfile(s) methods to
>> for instance prefer a profile with a name like "productname:default"?
>
> Picking the first profile from the arbitrarily sorted list of profiles 
> is obviously a shortcoming of QI. The main problem here is that QI uses 
> the product name as a primary key for all its operations and thus can 
> only really handle one installation record for one product. The whole 
> use of extension profiles as installation procedures is a bit of a hack. 
> What should really happen and which I'll do for Plone 4.0 is to remove 
> the support for Extensions/Install.py and give up the one-to-one 
> relationship between products and installation records. What happens in 
> the end is that you apply configurations to a site - that can be as many 
> as you want with extension profiles. I just don't see a way on how to 
> move forward with this without a clear cut.

I'm interested in this as well.  If you need a hand in
thinking/coding/testing ping me and I'll see what I can do.

>> Now, I tested with eXtremeManagement 1.5.2, the latest stable release,
>> in case anyone wants to try it out (remember to add a Poi 1.1 bundle
>> too).  That release also has Extensions/(App)Install.py files.  I
>> moved those out of the way and restarted.
>
> Why did you remove Extensions/Install.py? This one is supposed to take 
> precedence over extensions profiles. In your case having one, which 
> installs the GS profile you want internally should work just fine.

I removed it for testing, just to see what would happen; no commits
were done, no bits in the collective were hurt in the process. ;-) It
was actually removed for real a while back, which still worked fine
for Plone 3.0/GS 1.3, but Jean-Paul added it back for other reasons.

>> Question 2: I am used to having a profiles directory in a product and
>> a subdirectory inside it named 'default'.  eXtremeManagement is the
>> only product I know that has a second profile next to it.  Are others
>> using more than one profile?  Well, CMFPlone does a few things here.
>
> Multiple profiles are common. I think I made the profiles/default thingy 
> the default value, when you don't provide one in ZCML, but that's all 
> the magic there is and should be.
>
>> Question 3: Should we encourage programmers to only use one profile,
>> presumably simply in a directory named 'profile' by default?
>
> No. :)

OK. :)

>> In the case of eXtremeManagement, the day is saved because it still
>> has an Extensions/Install.py.  That is the installer that is actually
>> executed and it has some code to run the correct profile, including a
>> dependency.  The only hickup so far is that with the newer QI the name
>> of the other profile is listed instead of the default profile.
>
> That is a bug. I think someone added this code of taking the title from 
> the profile, shortly before the final and I missed to review it 
> properly. We should just revert those changes. If you have an 
> Extensions/Install.py nothing should be read from the profile database.
>
> Can you add a ticket for this last issue?

Yes: http://dev.plone.org/plone/ticket/8142

I did not see a component that it would really fit for; I chose
'Upgrade/Migration' as in my mind that was the best fit.

I was so bold as to assign the issue to you. :-)

-- 
Maurits van Rees | http://maurits.vanrees.org/
Work | http://zestsoftware.nl/
"This is your day, don't let them take it away." [Barlow Girl]

___
Zope-CMF maillist  -  Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See http://collector.zope.org/CMF for bug reports and feature requests


[Zope-CMF] Re: Multiple GS profiles per product

2008-05-18 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hanno Schlichting wrote:
> Hi.
> 
> Maurits van Rees wrote:
>> This is on Plone 3.0 with CMFQuickInstaller 2.0.4.
> 
> I think you are on the wrong list here. QuickInstaller is a part of 
> Plone and not CMF and should be discussed on plone-dev. I'll give some 
> responses anyways ;)
> 
>> Question 1: can I influence which profile is picked here?  Should we
>> add some code to the QuickInstaller.getInstallProfile(s) methods to
>> for instance prefer a profile with a name like "productname:default"?
> 
> Picking the first profile from the arbitrarily sorted list of profiles 
> is obviously a shortcoming of QI. The main problem here is that QI uses 
> the product name as a primary key for all its operations and thus can 
> only really handle one installation record for one product. The whole 
> use of extension profiles as installation procedures is a bit of a hack. 
> What should really happen and which I'll do for Plone 4.0 is to remove 
> the support for Extensions/Install.py and give up the one-to-one 
> relationship between products and installation records. What happens in 
> the end is that you apply configurations to a site - that can be as many 
> as you want with extension profiles. I just don't see a way on how to 
> move forward with this without a clear cut.
> 
>> Now, I tested with eXtremeManagement 1.5.2, the latest stable release,
>> in case anyone wants to try it out (remember to add a Poi 1.1 bundle
>> too).  That release also has Extensions/(App)Install.py files.  I
>> moved those out of the way and restarted.
> 
> Why did you remove Extensions/Install.py? This one is supposed to take 
> precedence over extensions profiles. In your case having one, which 
> installs the GS profile you want internally should work just fine.

Perhaps that supports QI better, but killing off *all* impoerative
installation / configuration is a worthy goal (and one which has been
neglected for far too long).

>> Question 2: I am used to having a profiles directory in a product and
>> a subdirectory inside it named 'default'.  eXtremeManagement is the
>> only product I know that has a second profile next to it.  Are others
>> using more than one profile?  Well, CMFPlone does a few things here.
> 
> Multiple profiles are common. I think I made the profiles/default thingy 
> the default value, when you don't provide one in ZCML, but that's all 
> the magic there is and should be.
> 
>> Question 3: Should we encourage programmers to only use one profile,
>> presumably simply in a directory named 'profile' by default?
> 
> No. :)
> 
>> In the case of eXtremeManagement, the day is saved because it still
>> has an Extensions/Install.py.  That is the installer that is actually
>> executed and it has some code to run the correct profile, including a
>> dependency.  The only hickup so far is that with the newer QI the name
>> of the other profile is listed instead of the default profile.
> 
> That is a bug. I think someone added this code of taking the title from 
> the profile, shortly before the final and I missed to review it 
> properly. We should just revert those changes. If you have an 
> Extensions/Install.py nothing should be read from the profile database.
> 
> Can you add a ticket for this last issue?

I'm assuming that you mean against QI?  Because I see nothing which
needs changing in GS here.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   "Excellence by Design"http://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIMMa++gerLs4ltQ4RApPZAJ95rSHFd4LWPKFwwPlKxWqNOqSkHQCgslKQ
FdM1ddp9IkRE4jA9a30sP7o=
=OAuv
-END PGP SIGNATURE-

___
Zope-CMF maillist  -  Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See http://collector.zope.org/CMF for bug reports and feature requests


[Zope-CMF] Re: Multiple GS profiles per product

2008-05-16 Thread Hanno Schlichting

Hi.

Maurits van Rees wrote:

This is on Plone 3.0 with CMFQuickInstaller 2.0.4.


I think you are on the wrong list here. QuickInstaller is a part of 
Plone and not CMF and should be discussed on plone-dev. I'll give some 
responses anyways ;)



Question 1: can I influence which profile is picked here?  Should we
add some code to the QuickInstaller.getInstallProfile(s) methods to
for instance prefer a profile with a name like "productname:default"?


Picking the first profile from the arbitrarily sorted list of profiles 
is obviously a shortcoming of QI. The main problem here is that QI uses 
the product name as a primary key for all its operations and thus can 
only really handle one installation record for one product. The whole 
use of extension profiles as installation procedures is a bit of a hack. 
What should really happen and which I'll do for Plone 4.0 is to remove 
the support for Extensions/Install.py and give up the one-to-one 
relationship between products and installation records. What happens in 
the end is that you apply configurations to a site - that can be as many 
as you want with extension profiles. I just don't see a way on how to 
move forward with this without a clear cut.



Now, I tested with eXtremeManagement 1.5.2, the latest stable release,
in case anyone wants to try it out (remember to add a Poi 1.1 bundle
too).  That release also has Extensions/(App)Install.py files.  I
moved those out of the way and restarted.


Why did you remove Extensions/Install.py? This one is supposed to take 
precedence over extensions profiles. In your case having one, which 
installs the GS profile you want internally should work just fine.



Question 2: I am used to having a profiles directory in a product and
a subdirectory inside it named 'default'.  eXtremeManagement is the
only product I know that has a second profile next to it.  Are others
using more than one profile?  Well, CMFPlone does a few things here.


Multiple profiles are common. I think I made the profiles/default thingy 
the default value, when you don't provide one in ZCML, but that's all 
the magic there is and should be.



Question 3: Should we encourage programmers to only use one profile,
presumably simply in a directory named 'profile' by default?


No. :)


In the case of eXtremeManagement, the day is saved because it still
has an Extensions/Install.py.  That is the installer that is actually
executed and it has some code to run the correct profile, including a
dependency.  The only hickup so far is that with the newer QI the name
of the other profile is listed instead of the default profile.


That is a bug. I think someone added this code of taking the title from 
the profile, shortly before the final and I missed to review it 
properly. We should just revert those changes. If you have an 
Extensions/Install.py nothing should be read from the profile database.


Can you add a ticket for this last issue?

Hanno

___
Zope-CMF maillist  -  Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See http://collector.zope.org/CMF for bug reports and feature requests


[Zope-CMF] Re: Multiple GS profiles per product

2008-05-16 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Maurits van Rees wrote:

> Some observations here with a few questions sprinkled through.
> 
> For Plone we at Zest Software made eXtremeManagement (affectionately
> called xm), a project management tool.  See
> http://plone.org/products/extreme-management-tool
> 
> For upgrading from Plone 2.5 to 3.0 I made an "upgrade profile":
> basically just a regular extension profile that is not meant to be run
> directly from the portal_quickinstaller or portal_setup but that is
> only hooked up to an upgrade step like this:
> 
>   def from_plone25_to_30(context):
>   context.runAllImportStepsFromProfile(
>   'profile-Products.eXtremeManagement:eXtremeManagement-30-types',
>   purge_old=False)
> 
> It removes some actions from some portal types, which seemed handy to
> do in a GS profile instead of manually coding some python.  Works fine
> actually.  This is on Plone 3.0 with CMFQuickInstaller 2.0.4.
> 
> Note that for GS upgrade steps you do not really need "upgrade
> profiles".  That was just my understanding/expectation of how to do
> upgrade steps at the time.

Sees reasonable, although I should say that I don't use the "upgrade"
machinery in GS at all.

> But: along comes Plone 3.1.1 with CMFQuickInstaller 2.1.4.  This has
> slightly different handling of GS profiles.  In this case when
> visiting the portal_quickinstaller in the ZMI it does not seem to care
> much for the Extensions/Install.py, it finds the two profiles (the
> "upgrade" profile and the default profile) and picks the first one it
> finds and print its name in the list of installed/installable
> products.  So the QI now gives eXtremeManagement the dopey title of
> "eXtremeManagement types fix for Plone 3.0", which is the title of the
> upgrade profile.

This is a bug:  QI should probably be displaying *all* extension
profiles registered for the site root interface, rather than trying to
bless one per product.

> Question 1: can I influence which profile is picked here?  Should we
> add some code to the QuickInstaller.getInstallProfile(s) methods to
> for instance prefer a profile with a name like "productname:default"?
> For reference, this is info from the two profiles I now have:
> 
>  [{'description': u'eXtremeManagement types actions fix for Plone 3.0.',
>'for':  Products.CMFPlone.interfaces.siteroot.IPloneSiteRoot>,
>'id': u'Products.eXtremeManagement:eXtremeManagement-30-types',
>'path': 
> u'/home/maurits/buildout/test/products/eXtremeManagement/profiles/30',
>'product': 'Products.eXtremeManagement',
>'title': u'eXtremeManagement types fix for Plone 3.0',
>'type': 2,
>'version': '1.5.2'},
>   {'description': 'Profile for Extreme Management',
>'for':  Products.CMFPlone.interfaces.siteroot.IPloneSiteRoot>,
>'id': 'eXtremeManagement:default',
>'path': 'profiles/default',
>'product': 'eXtremeManagement',
>'title': 'Extreme Management',
>'type': 2,
>'version': '1.5.2'}]
> 
> The first one is the upgrade profile, only meant to be used via the
> Upgrades tab in portal_setup.  The second one is the default profile
> that I want to have available in the quick installer.
> 
> 
> Now, I tested with eXtremeManagement 1.5.2, the latest stable release,
> in case anyone wants to try it out (remember to add a Poi 1.1 bundle
> too).  That release also has Extensions/(App)Install.py files.  I
> moved those out of the way and restarted.  On Plone 3.0 everything
> seems to go fine: the name in quick installer is 'Extreme Management'
> and installing it does everything it needs to do, using the default
> profile.  This is because the upgrade profile is not found, due to a
> slightly different implementation of the getInstallProfile method.
> 
> Now, on Plone 3.1.1 (QI 2.1.4) with a fresh zodb the QI lists that
> strange name of the upgrade profile instead of the name of the default
> profile.  And indeed when installing it only that upgrade profile is
> executed, not the default profile.


Proposed changes to QI aren't exactly in scope on this list.

> Question 2: I am used to having a profiles directory in a product and
> a subdirectory inside it named 'default'.  eXtremeManagement is the
> only product I know that has a second profile next to it.  Are others
> using more than one profile?  Well, CMFPlone does a few things here.

Yes, I use multiple profiles.

> Question 3: Should we encourage programmers to only use one profile,
> presumably simply in a directory named 'profile' by default?

No.  The name 'default' should *definitely* not be majyk.

> In the case of eXtremeManagement, the day is saved because it still
> has an Extensions/Install.py.  That is the installer that is actually
> executed and it has some code to run the correct profile, including a
> dependency.  The only hickup so far is that with the newer QI the name
> of the other profile is listed instead of the default profile.
> 
> Meanwhile on trunk (and on the 1.6r