Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Chris Withers
Charlie Clark wrote:
> As you know, I don't use Plone either. I'm also evil but in a different  
> way! The recipe just sets up a Zope 2 instance, which I believe is a bit  
> tricky to work on all platforms. 

It's a piece of piss and needs no special recipes:

http://docs.zope.org/zope2/releases/2.12/INSTALL-buildout.html#creating-a-buildout-based-zope-instance

cheers,

Chris

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Charlie Clark
Am 04.08.2010, 11:15 Uhr, schrieb Chris Withers :

> yes, which it isn't for me, since it's evil and I'm not using Plone

Well, I said it was the idiot's guide...

As you know, I don't use Plone either. I'm also evil but in a different  
way! The recipe just sets up a Zope 2 instance, which I believe is a bit  
tricky to work on all platforms. That said the recipe could probably be a  
simpler.

Charlie
-- 
Charlie Clark
Managing Director
Clark Consulting & Research
German Office
Helmholtzstr. 20
Düsseldorf
D- 40215
Tel: +49-211-600-3657
Mobile: +49-178-782-6226
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Chris Withers
Hanno Schlichting wrote:
> If you have a package, which isn't in the "Products" namespace and
> still want its initialize to be called, you need to add some bits to
> your configure.zcml:
> 
> 

Right, that's the bit I was after :-)

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
 - http://www.simplistix.co.uk
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Hanno Schlichting
On Wed, Aug 4, 2010 at 11:13 AM, Chris Withers  wrote:
> Okay, but what about:
>
> 
>
> ...causes Whatever/__init__.py's initialize method to get called?

Yes. Eggified products behave in the same way as code dumped into one
of the "products" directories.

If you have a package, which isn't in the "Products" namespace and
still want its initialize to be called, you need to add some bits to
your configure.zcml:



> Yeah, but it's setuptools namespace packages magic that makes sure __path__,
> which the old Zope 2 code iterates over, is set up correctly, right?

Sure.

Hanno
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Baiju M
On Wed, Aug 4, 2010 at 2:45 PM, Chris Withers  wrote:
> Baiju M wrote:
>>>
>>> zcml = simplistix.MailTemplates to your instance configuration and you're
>>> good.
>>
>> There is an assumption that plone.recipe.zope2instance [1] is used
>> to create instances from Buildout.
>
> yes, which it isn't for me, since it's evil and I'm not using Plone ;-)

The plone.recipe.zope2instance is not Plone specific.  It works well for us.

BTW, there is related recipe: http://pypi.python.org/pypi/plone.recipe.zeoserver

Regards,
Baiju M
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Chris Withers
Baiju M wrote:
>> zcml = simplistix.MailTemplates to your instance configuration and you're
>> good.
> 
> There is an assumption that plone.recipe.zope2instance [1] is used
> to create instances from Buildout.

yes, which it isn't for me, since it's evil and I'm not using Plone ;-)

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
 - http://www.simplistix.co.uk
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Chris Withers
Hanno Schlichting wrote:
> On Wed, Aug 4, 2010 at 10:55 AM, Chris Withers  wrote:
>> What does a "regular ZCML slug" look like?
> 
> My first Google hit is this
> http://worldcookery.com/files/ploneconf05-five/step2.html :)

yeah yeah...

Okay, but what about:



...causes Whatever/__init__.py's initialize method to get called?

>> Is this setuptools namespace package magic making things work or is there
>> explicit code in Zope that does this?
> 
> It's not really setuptools specific. It's just the same old code that
> does "import Products" and then iterates over everything it finds.

Yeah, but it's setuptools namespace packages magic that makes sure 
__path__, which the old Zope 2 code iterates over, is set up correctly, 
right?

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
 - http://www.simplistix.co.uk
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Baiju M
On Wed, Aug 4, 2010 at 2:33 PM, Charlie Clark
 wrote:
> Am 04.08.2010, 10:56 Uhr, schrieb Jens Vagelpohl :
>
>> In essence: If your egg is in the "Products" namespace you don't need to
>> do anything after adding it e.g. to the list of eggs for a Zope instance
>> in your buildout.cfg. The product will be recognized, installed, and any
>> configure.zcml in the root picked up automatically.
>
> ie. in buildout just putting
> eggs = Products.MailTemplates
>
> should work fine. As will pip install Products.MailTemplates (just tested
> against Products.CMFDefault)
>
>> That's one reason I stick to that namespace for anything that is indeed
>> a Zope 2 Product.
>
> OTOH if you don't want to stick with Products. you will need to add
> something like
>
> zcml = simplistix.MailTemplates to your instance configuration and you're
> good.

There is an assumption that plone.recipe.zope2instance [1] is used
to create instances from Buildout.

 [1] http://pypi.python.org/pypi/plone.recipe.zope2instance

Regards,
Baiju M
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Hanno Schlichting
On Wed, Aug 4, 2010 at 10:55 AM, Chris Withers  wrote:
> What does a "regular ZCML slug" look like?

My first Google hit is this
http://worldcookery.com/files/ploneconf05-five/step2.html :)

> Is this setuptools namespace package magic making things work or is there
> explicit code in Zope that does this?

It's not really setuptools specific. It's just the same old code that
does "import Products" and then iterates over everything it finds.

Hanno
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Charlie Clark
Am 04.08.2010, 10:56 Uhr, schrieb Jens Vagelpohl :

> In essence: If your egg is in the "Products" namespace you don't need to
> do anything after adding it e.g. to the list of eggs for a Zope instance
> in your buildout.cfg. The product will be recognized, installed, and any
> configure.zcml in the root picked up automatically.

ie. in buildout just putting
eggs = Products.MailTemplates

should work fine. As will pip install Products.MailTemplates (just tested  
against Products.CMFDefault)

> That's one reason I stick to that namespace for anything that is indeed
> a Zope 2 Product.

OTOH if you don't want to stick with Products. you will need to add  
something like

zcml = simplistix.MailTemplates to your instance configuration and you're  
good.

Hope this idiot's guide helps.

Charlie
-- 
Charlie Clark
Managing Director
Clark Consulting & Research
German Office
Helmholtzstr. 20
Düsseldorf
D- 40215
Tel: +49-211-600-3657
Mobile: +49-178-782-6226
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Jens Vagelpohl
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 8/4/10 10:52 , Hanno Schlichting wrote:
> Hi.
> 
> On Wed, Aug 4, 2010 at 10:31 AM, Chris Withers  wrote:
>> I'm in the process of egg-ifying some Zope 2 Products of mine (first up
>> is MailTemplates) and I'm curious as to how add-in products work in an
>> egg-based Zope setup.
>>
>> Do I need to include anything in zope.conf or some zcml somewhere?

> If your package is a namespace package in the 'Products' namespace,
> then it will be picked up automatically, once added to the PYTHONPATH.

In essence: If your egg is in the "Products" namespace you don't need to
do anything after adding it e.g. to the list of eggs for a Zope instance
in your buildout.cfg. The product will be recognized, installed, and any
configure.zcml in the root picked up automatically.

That's one reason I stick to that namespace for anything that is indeed
a Zope 2 Product.

jens

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAkxZKzQACgkQRAx5nvEhZLK7TgCeI2n6Y+xjagXyPZHeNuEII2V3
xMUAoIJHoErxjlAjZRWYPME8tEPM1S2O
=IYFz
-END PGP SIGNATURE-
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Chris Withers
Hanno Schlichting wrote:
> For a general Python package to be picked up, you would need to add a
> regular ZCML slug into the etc/package-includes directory of your
> instance.

What does a "regular ZCML slug" look like?

> If your package is a namespace package in the 'Products' namespace,
> then it will be picked up automatically, once added to the PYTHONPATH.

Is this setuptools namespace package magic making things work or is 
there explicit code in Zope that does this?

> This is triggered by the "five:loadProducts" and
> "five:loadProductsOverrides" directives in your instances site.zcml.
> The code for those directives is either in Products.Five or OFS
> depending on which version of Zope2 you use.

Thanks for this!

Chris

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Hanno Schlichting
Hi.

On Wed, Aug 4, 2010 at 10:31 AM, Chris Withers  wrote:
> I'm in the process of egg-ifying some Zope 2 Products of mine (first up
> is MailTemplates) and I'm curious as to how add-in products work in an
> egg-based Zope setup.
>
> Do I need to include anything in zope.conf or some zcml somewhere?

For a general Python package to be picked up, you would need to add a
regular ZCML slug into the etc/package-includes directory of your
instance.

If your package is a namespace package in the 'Products' namespace,
then it will be picked up automatically, once added to the PYTHONPATH.
This is triggered by the "five:loadProducts" and
"five:loadProductsOverrides" directives in your instances site.zcml.
The code for those directives is either in Products.Five or OFS
depending on which version of Zope2 you use.

Hanno
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Products in Zope 2.12+

2010-08-04 Thread Chris Withers
Hi All,

I'm in the process of egg-ifying some Zope 2 Products of mine (first up 
is MailTemplates) and I'm curious as to how add-in products work in an 
egg-based Zope setup.

Do I need to include anything in zope.conf or some zcml somewhere?

If not how are products picked up? Where can I find that code that does 
this?

Oh, and more in passing that actual hope, are there any docs anywhere on 
this? :-)

cheers,

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
 - http://www.simplistix.co.uk
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )