On 16/04/12 23:19, Andreas Jung wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

What particular problem will be solved here? Your example
is just a 1:1 transformation from ZCML to Python. When I read "Grok"
then I associate simplification and auto-configuration (some magic
under the hood making my life easier). I am missing this here :-)

That's a very good point and moving slugs from ZCML to Python was the primary goal for this release.

Thinking about it, some stuff, like i18n and profiles registration, could be more magical, as these ones could use some conventions (profiles folder, locales folder). I will explore this for a beta release.

best,
ea


Andreas

Érico Andrei wrote:
Hello guys,

I would like to present you collective.grok, a package bringing Grok
and Martian to Generic Setup and i18n registrations in Plone.

Right now the package is in version 1.0a2 (released on Pypi) and the
code and issue tracker are available at GitHub
(https://github.com/collective/collective.grok)

So, a tipical zcml file to handle profiles registration like this:

<configure xmlns="http://namespaces.zope.org/zope";
xmlns:genericsetup="http://namespaces.zope.org/genericsetup";
xmlns:i18n="http://namespaces.zope.org/i18n";
i18n_domain="collective.person">

<genericsetup:registerProfile name="default"
title="collective.person: Install" directory="profiles/default"
description="collective.person"
provides="Products.GenericSetup.interfaces.EXTENSION"
i18n:attributes="title; description" />

<genericsetup:registerProfile name="uninstall" title="Uninstall
collective.person" directory="profiles/uninstall"
description="Uninstall collective.person"
provides="Products.GenericSetup.interfaces.EXTENSION"
i18n:attributes="title; description" />


<genericsetup:importStep name="collective.person-upgrades"
title="collective.person: Upgrades" description="Run available
upgrades for this package."
handler="collective.person.setuphandlers.run_upgrades">
</genericsetup:importStep>

<include package=".upgrades" />

<genericsetup:importStep name="collective.person" title="Person
Catalog Import Step" description=""
handler="collective.person.exportimport.catalog.importPersonCatalog">


<depends name="toolset"/>
</genericsetup:importStep>

<genericsetup:exportStep name="collective.person" title="Person
Catalog Export Step" description=""
handler="collective.person.exportimport.catalog.exportPersonCatalog"
/>

</configure>


Would be replaced by functions and decorators in Python files:

from collective.grok import gs

gs.profile(name=u'default', title=u'collective.person: Install',
description=u'collective.person', directory='profiles/default')

# Uninstall Profile gs.profile(name=u'uninstall', title=u'Uninstall
collective.person', description=u'collective.person',
directory='profiles/uninstall')

@gs.importstep(name=u'collective.person-upgrades',
title='collective.person: Upgrades', description='Run available
upgrades for this package.', dependencies=[]) def
run_upgrades(context): pass

@gs.importstep(name=u'collective.person', title='Person Catalog
Import Step', description='', dependencies=['toolset', ]) def
importPersonCatalog(context): pass


@gs.exportstep(name=u'collective.person', title='Person Catalog
Export Step', description='',) def exportPersonCatalog(context):
pass


In the near future, collective.grok is planned to  support also:

* Portlets registration

* Transmogrifier

* Dexterity Behaviors (I'm not sure about this one, should be
somewhere else...)


best, Érico Andrei [email protected]
<mailto:[email protected]>  Simples Consultoria
www.simplesconsultoria.com.br<http://www.simplesconsultoria.com.br>
+551138982121 +551184443867

_______________________________________________ Product-Developers
mailing list [email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers
- -- ZOPYX Limited | zopyx group
Charlottenstr. 37/1     | The full-service network for Zope&  Plone
D-72070 Tübingen        | Produce&  Publish
www.zopyx.com           | www.produce-and-publish.com
- ------------------------------------------------------------------------
E-Publishing, Python, Zope&  Plone development, Consulting


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQGUBAEBAgAGBQJPjNNAAAoJEADcfz7u4AZjBoQLwM5kCNVG/0OS2HNqfzxxhqA5
rtibixArwziBupdBoSDP+JHI+5kiJoJ5ErMOyvy2jIyarXcSjbgC7XrIeIbGxxuX
QkWKo/Qe4CIJagFVTwE/2k+Ncg+iCGSM8+IRbAM2PI4P/uieortFeV6f0r8l9rqt
1sOdLIUeF+tKO+DndxAQJsdd8L7lnOSPU05LkhkBCRT2FeAwYOE+1UJCXPT4FQVn
cFB7jGzzJhVBkOZ7Pilcq80Y7PsUeq7geSRJ/kmzSBfxwfnfbyqhEHTiqDNikHaV
OlWNOCuXQIYJWouzfg15hb79kHh8v6NOIB8cHMFmAj2P8O5Za2hJNl+2dPHwPdw7
80Z3t2O5Eezt5o8o8K3PmM3mB39vywo7kiZsWD58GUJvGbhNIYcW+dbGyNUGz/ul
mo1OZT8KcVyOHoLVfIKFEFIMU61b8heItfrOX+CQKHhJfdbBVFXAEBn0wC92IT6r
oZVt7iI+7xixcrGimMg87iXb4QcWxII=
=QpWu
-----END PGP SIGNATURE-----


_______________________________________________
Product-Developers mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers

_______________________________________________
Product-Developers mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers

Reply via email to