On 17/11/2010, at 9:54 AM, Alex Clark wrote:

> On 11/16/10 5:31 PM, Dylan Jay wrote:
>>
>> On 17/11/2010, at 1:59 AM, Alex Clark wrote:
>>
>>> On 11/16/10 8:29 AM, Martin Aspeli wrote:
>>>> On 16 November 2010 10:17, Alex Clark<[email protected]>   wrote:
>>>>>
>>>>> I'm actually now interested in both approaches. While  
>>>>> transmogrifier
>>>>> gets a bad rap for being "heavy" I think there are times when  
>>>>> you do
>>>>> want to reach for something more than a "one off" script.
>>>>
>>>> For the record, Transmogrifier is really quite lightweight. I think
>>>> this "bad rap" comes from people who have not really looked at what
>>>> it
>>>> is or what it does and make a bunch of assumptions. It *does*  
>>>> require
>>>> that you spend an hour or so learning its core concepts. I'm not  
>>>> sure
>>>> that's an unreasonable expectation. If you understand dicts and
>>>> generators, then I think you're pretty much there. If you want to
>>>> write your own blueprints, you need to know how to register a
>>>> utility.
>>>
>>>
>>> Whether or not it's reasonable to expect people to grasp the  
>>> concepts
>>> depends (almost) entirely on who you are talking to IMHO.
>>>
>>> On this list we're talking to add-on package developers, so yeah I'd
>>> expect c.transmogrifier to be digestible here; just as I'd expect
>>> funnelweb to be digestible on plone-users (although unfortunately I
>>> think funnelweb needs a KGS, I can't install it in Plone 4:
>>> http://dpaste.com/275914/ or Plone 3: http://dpaste.com/275982/)
>>>
>>>
>>>>
>>>> In my own experience, once I'd understood those core concepts,
>>>> writing
>>>> a migration process using both out-of-the-box Transmogrifier
>>>> blueprints from various packages and my own custom blueprints for
>>>> client-specific stuff took a lot less time, was a lot easier to  
>>>> test,
>>>> and a lot less error prone than custom scripts. I've written my  
>>>> fair
>>>> share of ad-hoc migrations.
>>>>
>>>> Transmogrifier is built on the principle that every migration is
>>>> different. It is not a one-size-fits-all solution. Rather, it is a
>>>> nice abstraction that lets you focus on writing the bits that *are*
>>>> specific to your use case, and reuse well-tested, easy-to- 
>>>> understand
>>>> components for things like reading from a database, traversing
>>>> filesystem directories, constructing Plone content, dealing with
>>>> workflow states, etc - but only when they make sense.
>>>
>>>
>>> Yes! These last two paragraphs are the attractive bits. For my part,
>>> I'm
>>> still struggling with the "basics" (perhaps because I tend to
>>> over-analyze them.):
>>>
>>>
>>> - How do I install it?
>>> http://pypi.python.org/pypi/collective.transmogrifier/1.2 says "see
>>> docs/INSTALL.txt" which I'd only have if I installed it ;-) (Want me
>>> to
>>> fix this?)
>>>
>>>
>>> - What does it do once I install it (i.e. do I have to start  
>>> Plone? Or
>>> will there be a bin/transmogrifier? etc.)
>>
>>
>> you have a really good point here. This is something I struggled with
>> when first starting with transmogrifier. One thing that isn't very
>> clear is that it has a dependency of CMF and its builtin importing
>> capability in p.a.transmogrifier rely on it to be run inside a plone
>> process.
>>
>> So via a GS is one way but also not a great way to iterate.
>> The trick you used for parse2plone of doing bin/instance run script
>> would be a great way of doing it.
>
>
> So you are saying I could execute the pipeline via "bin/instance run
> myscript.py"? Interesting! I guess that makes sense…
>
>
>>
>> for funnelweb after much mucking around with it being a tool inside
>> plone I decided it was best as its on standalone script that remotely
>> uploaded into plone. One reason being that you will generally iterate
>> a lot with your import script so you really don't want to have to  
>> load
>> plone up every time you make a small change. It also means you crawl
>> in one place to the cache and then upload into plone some other time/
>> place.
>>
>>
>> One thing also that might not be obvious is that bin/funnelweb as a
>> script should work with any arbitrary transmogrifier pipeline, e.g.
>>
>>
>> [funnelweb]
>> recipe = funnelweb
>> eggs = myblueprintpackage
>> pipeline = pipeline.cfg
>>
>
> Yes! I'm counting on using this. Can you check the KGS though? I've  
> been
> getting this all day:
>
>
> ---
> Installing funnelweb.
> The version, 3.8.3  # 3.8.4 has incompatible changes, is not  
> consistent
> with the requirement, 'zope.app.component==3.8.3'.
> While:
>   Installing funnelweb.
> Error: Bad version 3.8.3  # 3.8.4 has incompatible changes
> ----
>
> Is this me, or is something bad going on here?


That is an issue with the latest version of buildout. It suddenly  
stopped ignoring comments in the versions section (something that the  
zope versions.cfg does a log). Just go back to a previous buildout  
version.


>
>
>
> Alex
>
>
>
>>
>>
>>
>>>
>>>
>>>
>>> AFAICT, transmogrifier does nothing without some ZCML to load an
>>> example.cfg. I tried just now to load an example.cfg via zcml-
>>> additional
>>> and/or site-zcml in my plone.recipe.zope2instance section with no
>>> success (got various ZCML "undefined" errors). Next stop would be to
>>> create a package, in which I could have more control, via name space
>>> level configure.zcml file).
>>>
>>>
>>>
>>>
>>> So yeah. Maybe c.transmogrifier could grow a bin/transmogrifier  
>>> script
>>> that could execute example.cfgs ?
>>>
>>>
>>>
>>>
>>> Alex
>>>
>>>
>>>
>>>
>>>>
>>>> Martin
>>>
>>>
>>> --
>>> Alex Clark · http://aclark.net
>>> Author — Plone 3.3 Site Administration · http://aclark.net/admin
>>>
>>> _______________________________________________
>>> Product-Developers mailing list
>>> [email protected]
>>> http://lists.plone.org/mailman/listinfo/product-developers
>
>
> -- 
> Alex Clark · http://aclark.net
> Author — Plone 3.3 Site Administration · http://aclark.net/admin
>
> _______________________________________________
> Product-Developers mailing list
> [email protected]
> http://lists.plone.org/mailman/listinfo/product-developers

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

Reply via email to