Hi all,


I've been working with Dylan Jay on mr.migrator: a command line way to execute transmogrifier pipelines, and we now have a working demo:

- https://github.com/aclark4life/mr_migrator_demo

To run it yourself, try this:

$ git clone g...@github.com:aclark4life/mr_migrator_demo.git
$ cd mr_migrator_demo
$ python2.6 bootstrap.py -d
$ bin/buildout
$ bin/plone start

Now create a Plone site called "Plone" TTW, and then:

$ bin/mr.migrator

At which point you will see a bunch of stuff:

---
...
WARNING:upload:Failuire while creating 'http://admin:admin@localhost:8080/platea' of type 'Folder'
INFO:upload:/platea Created with type=Folder
Level 1:logger:/platea
WARNING:upload:Failuire while creating 'http://admin:admin@localhost:8080/tortor' of type 'Folder'
INFO:upload:/tortor Created with type=Folder
Level 1:logger:/tortor
WARNING:upload:Failuire while creating 'http://admin:admin@localhost:8080/index.html' of type 'Document'
INFO:upload:/index.html Created with type=Document
Level 1:logger:/index.html
WARNING:upload:Failuire while creating 'http://admin:admin@localhost:8080/ad/index.html' of type 'Document'
INFO:upload:/ad/index.html Created with type=Document
Level 1:logger:/ad/index.html
...
---

And if you check the site again you'll see content in your site (more or less; I'm still working on it.)

So, now I'm writing this email to:

- Share the news of command-line driven transmogrification: it's coming!

and:

- Ask for feedback on the issue of making collective.transmogrifier listen for a "transmogrify" target, coming from blueprints who add an entry point like:

setup(
    ...

    entry_points="""
    [z3c.autoinclude.plugin]
    target = transmogrify
    """
)


That would allow a buildout[1] like this to work:



[mr.migrator]
recipe = mr.migrator
pipeline = pipeline.cfg
eggs =
    transmogrify.filesystem
    transmogrify.ploneremote
    transmogrify.pathsorter
    transmogrify.printer


Otherwise, we'll need to make mr.migrator accept the ZCML parameter, and end users will have to list their blueprints twice:



[mr.migrator]
recipe = mr.migrator
pipeline = pipeline.cfg
eggs =
    transmogrify.filesystem
    transmogrify.ploneremote
    transmogrify.pathsorter
    transmogrify.printer
zcml =
    transmogrify.filesystem
    transmogrify.ploneremote
    transmogrify.pathsorter
    transmogrify.printer


This only works now (without the zcml=) because I have created branches of collective.transmogrify and transmogrify.filesystem where I added the includePlugins ZCML:

- http://svn.plone.org/svn/collective/collective.transmogrifier/branches/aclark-mr-migrator-compat/src/collective/transmogrifier/configure.zcml


and the transmogrify entry point:

- https://svn.plone.org/svn/collective/transmogrify.filesystem/branches/aclark-mr-migrator-compat/setup.py

So what do you product developers think? Do you care at all? Personally, I don't want to:

a. Enter zcml= in my buildout.cfgs
b. Write the code to make it work in mr.migrator.

But that's just me.

As MJ has cautioned, we need to be careful about using z3c.autoinclude because it goes a bit nuts scanning files on the file system (which is why I have it tied to that zcml:condition currently).


Thoughts appreciated!


Thanks,


Alex



[1] https://github.com/aclark4life/mr_migrator_demo/blob/master/buildout.cfg


--
Alex Clark ยท http://aclark.net/help-me-help-plone

_______________________________________________
Product-Developers mailing list
Product-Developers@lists.plone.org
https://lists.plone.org/mailman/listinfo/product-developers

Reply via email to