<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments for Itinerant Source</title>
	<atom:link href="http://blog.kapilt.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kapilt.com</link>
	<description>Python and Zope Programming</description>
	<pubDate>Fri, 04 Jul 2008 06:58:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
		<item>
		<title>Comment on Introducing Content Mirror by kapilt</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-37</link>
		<dc:creator>kapilt</dc:creator>
		<pubDate>Fri, 04 Jul 2008 03:39:55 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-37</guid>
		<description>hi seletz, thanks for filing an issue for the copy/paste problem, its been fixed ( http://code.google.com/p/contentmirror/issues/detail?id=11 )</description>
		<content:encoded><![CDATA[<p>hi seletz, thanks for filing an issue for the copy/paste problem, its been fixed ( <a href="http://code.google.com/p/contentmirror/issues/detail?id=11" rel="nofollow">http://code.google.com/p/contentmirror/issues/detail?id=11</a> )</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing Content Mirror by kapilt</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-36</link>
		<dc:creator>kapilt</dc:creator>
		<pubDate>Fri, 04 Jul 2008 01:43:12 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-36</guid>
		<description>hi seletz,

a blog isn't really the right forum for bug reports, there's a mailing list and issue tracker on the linked google code site. glad to hear its otherwise working for you.</description>
		<content:encoded><![CDATA[<p>hi seletz,</p>
<p>a blog isn&#8217;t really the right forum for bug reports, there&#8217;s a mailing list and issue tracker on the linked google code site. glad to hear its otherwise working for you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing Content Mirror by seletz</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-35</link>
		<dc:creator>seletz</dc:creator>
		<pubDate>Thu, 03 Jul 2008 19:53:02 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-35</guid>
		<description>Hi,
I've started to play around and read the code.

One thing I've noticed is that copy/paste does yield
in a traceback:

2008-07-03 21:49:55 ERROR Zope.SiteErrorLog http://localhost:8080/plone/folder_paste
Traceback (innermost last):
  Module ZPublisher.Publish, line 125, in publish
  Module Zope2.App.startup, line 238, in commit
  Module transaction._manager, line 96, in commit
  Module transaction._transaction, line 389, in commit
  Module transaction._transaction, line 445, in _callBeforeCommitHooks
  Module ore.contentmirror.operation, line 130, in flush
  Module ore.contentmirror.operation, line 44, in process
  Module ore.contentmirror.serializer, line 34, in add
  Module ore.contentmirror.serializer, line 54, in _copy
  Module ore.contentmirror.transform, line 52, in copy
  Module ore.contentmirror.transform, line 276, in copy
  Module Products.Archetypes.ClassGen, line 56, in generatedAccessor
  Module Products.Archetypes.Field, line 1674, in get
  Module Products.Archetypes.Referenceable, line 81, in getRefs
  Module Products.CMFCore.utils, line 123, in getToolByName
AttributeError: reference_catalog

I'm using 0.4.1 and sqlite3, Plone 3.1.2, Zope 2.10.5 on Leopard.

Other than that it works like a charm!

cheers,
seletz</description>
		<content:encoded><![CDATA[<p>Hi,<br />
I&#8217;ve started to play around and read the code.</p>
<p>One thing I&#8217;ve noticed is that copy/paste does yield<br />
in a traceback:</p>
<p>2008-07-03 21:49:55 ERROR Zope.SiteErrorLog <a href="http://localhost:8080/plone/folder_paste" rel="nofollow">http://localhost:8080/plone/folder_paste</a><br />
Traceback (innermost last):<br />
  Module ZPublisher.Publish, line 125, in publish<br />
  Module Zope2.App.startup, line 238, in commit<br />
  Module transaction._manager, line 96, in commit<br />
  Module transaction._transaction, line 389, in commit<br />
  Module transaction._transaction, line 445, in _callBeforeCommitHooks<br />
  Module ore.contentmirror.operation, line 130, in flush<br />
  Module ore.contentmirror.operation, line 44, in process<br />
  Module ore.contentmirror.serializer, line 34, in add<br />
  Module ore.contentmirror.serializer, line 54, in _copy<br />
  Module ore.contentmirror.transform, line 52, in copy<br />
  Module ore.contentmirror.transform, line 276, in copy<br />
  Module Products.Archetypes.ClassGen, line 56, in generatedAccessor<br />
  Module Products.Archetypes.Field, line 1674, in get<br />
  Module Products.Archetypes.Referenceable, line 81, in getRefs<br />
  Module Products.CMFCore.utils, line 123, in getToolByName<br />
AttributeError: reference_catalog</p>
<p>I&#8217;m using 0.4.1 and sqlite3, Plone 3.1.2, Zope 2.10.5 on Leopard.</p>
<p>Other than that it works like a charm!</p>
<p>cheers,<br />
seletz</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing Content Mirror by kapilt</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-34</link>
		<dc:creator>kapilt</dc:creator>
		<pubDate>Thu, 03 Jul 2008 15:35:06 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-34</guid>
		<description>hi martin,

if you want access all you have to do is send me an email/im with your preferred google account.

cheers,

kapil</description>
		<content:encoded><![CDATA[<p>hi martin,</p>
<p>if you want access all you have to do is send me an email/im with your preferred google account.</p>
<p>cheers,</p>
<p>kapil</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing Content Mirror by Martin Aspeli</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-33</link>
		<dc:creator>Martin Aspeli</dc:creator>
		<pubDate>Thu, 03 Jul 2008 14:47:14 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-33</guid>
		<description>Hi Kapil,

Sorry, didn't mean to be presumptuous. It's not a big issue anyway, so let's leave it. I agree that the plone.org documentation and issue tracker thing is a bit painful currently due to speed. It's mostly the svn repository I'd hoped to be a bit more accessible, but who cares. If I want to contribute, I hope you'll give me access.

I'm also really glad to see the amount of test coverage and documentation here, which is all the more reason why I believe this could be a "next big thing" for Plone.

/me returns to reading the ContentMirror source code

Martin</description>
		<content:encoded><![CDATA[<p>Hi Kapil,</p>
<p>Sorry, didn&#8217;t mean to be presumptuous. It&#8217;s not a big issue anyway, so let&#8217;s leave it. I agree that the plone.org documentation and issue tracker thing is a bit painful currently due to speed. It&#8217;s mostly the svn repository I&#8217;d hoped to be a bit more accessible, but who cares. If I want to contribute, I hope you&#8217;ll give me access.</p>
<p>I&#8217;m also really glad to see the amount of test coverage and documentation here, which is all the more reason why I believe this could be a &#8220;next big thing&#8221; for Plone.</p>
<p>/me returns to reading the ContentMirror source code</p>
<p>Martin</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing Content Mirror by kapilt</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-32</link>
		<dc:creator>kapilt</dc:creator>
		<pubDate>Thu, 03 Jul 2008 12:00:19 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-32</guid>
		<description>frankly martin, i think your making quite a few assumptions, about my intent, and the inability of plone developers to type a different url into the command line, esp. considering that most of them already do.

as it is, content mirror is already being used, already documented, has 100% unit test coverage, and setting up a wiki, issue tracker, mailing list, repository, etc. took me 5 minutes. which means i had a lot more time to actually work on the software.  Doing the equivalent with plone.org infrastructure is so painful, that issue followups and documentations would never have gotten done.

re ttw configuration, i give integrators credit for being able to operate a command line. i think expecting ttw configuration while setting up a relational database, is a bit silly ;-)

that said i'd be willing to embrace a stateless ttw setup if it helps end users install things. but i still think that using local components, in a drive for ttw customization, is a driving force that makes plone harder to use or reconfigure, as it accumulates piles of opaque persistent configuration state and policy.  have you ever tried to upgrade a plone 2.5 site using local components... or seen a non-developer do it successfully ?  anyways that's a different topic.

in fact the main reason that people haven't heard about most of the 'interesting' things i've done is, that i haven't publicized them, which is exactly what i'm doing in this blog post.

i'd also like to give plone developers a bit more credit, if the software is useful, well tested, well documented, i seriously doubt a different repo url is going to be the biggest issue with adoption or contributions.</description>
		<content:encoded><![CDATA[<p>frankly martin, i think your making quite a few assumptions, about my intent, and the inability of plone developers to type a different url into the command line, esp. considering that most of them already do.</p>
<p>as it is, content mirror is already being used, already documented, has 100% unit test coverage, and setting up a wiki, issue tracker, mailing list, repository, etc. took me 5 minutes. which means i had a lot more time to actually work on the software.  Doing the equivalent with plone.org infrastructure is so painful, that issue followups and documentations would never have gotten done.</p>
<p>re ttw configuration, i give integrators credit for being able to operate a command line. i think expecting ttw configuration while setting up a relational database, is a bit silly <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>that said i&#8217;d be willing to embrace a stateless ttw setup if it helps end users install things. but i still think that using local components, in a drive for ttw customization, is a driving force that makes plone harder to use or reconfigure, as it accumulates piles of opaque persistent configuration state and policy.  have you ever tried to upgrade a plone 2.5 site using local components&#8230; or seen a non-developer do it successfully ?  anyways that&#8217;s a different topic.</p>
<p>in fact the main reason that people haven&#8217;t heard about most of the &#8216;interesting&#8217; things i&#8217;ve done is, that i haven&#8217;t publicized them, which is exactly what i&#8217;m doing in this blog post.</p>
<p>i&#8217;d also like to give plone developers a bit more credit, if the software is useful, well tested, well documented, i seriously doubt a different repo url is going to be the biggest issue with adoption or contributions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing Content Mirror by Martin Aspeli</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-31</link>
		<dc:creator>Martin Aspeli</dc:creator>
		<pubDate>Thu, 03 Jul 2008 07:49:32 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-31</guid>
		<description>Hi Kapil,

If you' want to run this as a project, the same way Chris Johnson has run GetPaid, then it makes sense to use a separate hosting infrastructure. I'm just worried that this isn't traditionally your focus, which means that if there isn't a CJ for this project, it may become another "oh, and there's that thing Kapil wrote, which looks interesting, but I haven't used it" kind of thing that people keep making passing remarks to.

Don't take that as a criticism. I'm saying it because I have a feeling this particular product could be more important to Plone's future than many things we've seen lately. For things to be part of Plone's future, though, the community needs to have some degree of adoption and sense of ownership, no matter how good the code. Even something as trivial as the need to ask for a new svn account and remember a different repository URL is a barrier that will keep some people from making the first step to contributing to this thing. We're all horribly lazy. :-)

As for TTW configuration, I think that will be needed if this is to have general appeal beyond developers. Perhaps it isn't suited for that, but if there were a simple default front end that was generally useful, then perhaps. In any case, I agree that such front end ought to live in a separate package. I just hope that it's architecturally possible to configure this thing with some local components rather than having everything be global.

Martin</description>
		<content:encoded><![CDATA[<p>Hi Kapil,</p>
<p>If you&#8217; want to run this as a project, the same way Chris Johnson has run GetPaid, then it makes sense to use a separate hosting infrastructure. I&#8217;m just worried that this isn&#8217;t traditionally your focus, which means that if there isn&#8217;t a CJ for this project, it may become another &#8220;oh, and there&#8217;s that thing Kapil wrote, which looks interesting, but I haven&#8217;t used it&#8221; kind of thing that people keep making passing remarks to.</p>
<p>Don&#8217;t take that as a criticism. I&#8217;m saying it because I have a feeling this particular product could be more important to Plone&#8217;s future than many things we&#8217;ve seen lately. For things to be part of Plone&#8217;s future, though, the community needs to have some degree of adoption and sense of ownership, no matter how good the code. Even something as trivial as the need to ask for a new svn account and remember a different repository URL is a barrier that will keep some people from making the first step to contributing to this thing. We&#8217;re all horribly lazy. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>As for TTW configuration, I think that will be needed if this is to have general appeal beyond developers. Perhaps it isn&#8217;t suited for that, but if there were a simple default front end that was generally useful, then perhaps. In any case, I agree that such front end ought to live in a separate package. I just hope that it&#8217;s architecturally possible to configure this thing with some local components rather than having everything be global.</p>
<p>Martin</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing Content Mirror by kapilt</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-30</link>
		<dc:creator>kapilt</dc:creator>
		<pubDate>Thu, 03 Jul 2008 01:56:35 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-30</guid>
		<description>hi martin,

its trivial to write support for z3 schema based content, alchemist already has support for transformation of such, as evidenced by more other systems on top of it, such as z3c.dobbin. but frankly all such layers we're building on top of plone, ( like dexterity or devilsticks) are just part of the problem which content mirror is designed to reduce, namely reducing the inane layering, and deep software stack Plone uses and pushes on developers, in favor of simpler frameworks. underneath the hoods its all pretty nicely factored out. for example, i use the same event aggregation and operation factory for indexing in ore.xapian for example, and its trivial to switch out to async processing of batches, with processing by the cloud.

frankly its not even that tied to plone, architecturally speaking. The entire thing was developed outside of plone, mocking whatever plone bits it uses.

things like the plone collective to me are code ghettos and graveyards, welcome to the jungle playing in the background. i've used google code for a few projects (getpaid, alchemist, and bungeni) and its more than sufficed, as well as offering the right amount of support infrastructure for doing documentation and issue tracking. plone.org is painful to use in comparison, 'nough said.

i care not for ttw configuration, the system keeps no persistent state, which makes it easy to setup and upgrade. its possible should demand be strong for async batch operation that i'll look into it, but persistent state for configuration means, quoting tres seaver, always having to say your sorry. indeed imo, its the relentless pursuit of ttw configuration that makes most z3 plone software useless for reuse outside of plone.

data deployments are targeted towards dynamic sites, static site deployments have a different set of domain concerns, and outside of configuration fun, cmfdeployment serves those needs well from plone 1.0 to 3.1.

entransit differs greatly for a number of reasons, entransit is designed as intermediate middleware between a plone system and a database, meaning its at least twice as much work to configure, additionally it currently depends on laying out your plone site in a specific instance configuration, using the ensimplestaging product. as i said both cmfdeployment and entransit are comparatively, consulting ware. contentmirror is much simpler, get a db, mod a config file, and go.

as for front ends, python, php, or ruby, the possibilities are all there. personally i was favoring appengine.

cheers,

kapil</description>
		<content:encoded><![CDATA[<p>hi martin,</p>
<p>its trivial to write support for z3 schema based content, alchemist already has support for transformation of such, as evidenced by more other systems on top of it, such as z3c.dobbin. but frankly all such layers we&#8217;re building on top of plone, ( like dexterity or devilsticks) are just part of the problem which content mirror is designed to reduce, namely reducing the inane layering, and deep software stack Plone uses and pushes on developers, in favor of simpler frameworks. underneath the hoods its all pretty nicely factored out. for example, i use the same event aggregation and operation factory for indexing in ore.xapian for example, and its trivial to switch out to async processing of batches, with processing by the cloud.</p>
<p>frankly its not even that tied to plone, architecturally speaking. The entire thing was developed outside of plone, mocking whatever plone bits it uses.</p>
<p>things like the plone collective to me are code ghettos and graveyards, welcome to the jungle playing in the background. i&#8217;ve used google code for a few projects (getpaid, alchemist, and bungeni) and its more than sufficed, as well as offering the right amount of support infrastructure for doing documentation and issue tracking. plone.org is painful to use in comparison, &#8216;nough said.</p>
<p>i care not for ttw configuration, the system keeps no persistent state, which makes it easy to setup and upgrade. its possible should demand be strong for async batch operation that i&#8217;ll look into it, but persistent state for configuration means, quoting tres seaver, always having to say your sorry. indeed imo, its the relentless pursuit of ttw configuration that makes most z3 plone software useless for reuse outside of plone.</p>
<p>data deployments are targeted towards dynamic sites, static site deployments have a different set of domain concerns, and outside of configuration fun, cmfdeployment serves those needs well from plone 1.0 to 3.1.</p>
<p>entransit differs greatly for a number of reasons, entransit is designed as intermediate middleware between a plone system and a database, meaning its at least twice as much work to configure, additionally it currently depends on laying out your plone site in a specific instance configuration, using the ensimplestaging product. as i said both cmfdeployment and entransit are comparatively, consulting ware. contentmirror is much simpler, get a db, mod a config file, and go.</p>
<p>as for front ends, python, php, or ruby, the possibilities are all there. personally i was favoring appengine.</p>
<p>cheers,</p>
<p>kapil</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing Content Mirror by Martin Aspeli</title>
		<link>http://blog.kapilt.com/2008/07/02/introducing-content-mirror/#comment-29</link>
		<dc:creator>Martin Aspeli</dc:creator>
		<pubDate>Wed, 02 Jul 2008 23:34:49 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=19#comment-29</guid>
		<description>Hi Kapil,

This sounds like really great work! I had a look at the code, and it's very interesting indeed.

I wonder why you chose to put it on Google Code rather than one of the Plone repositories, though. It would be a lot easier to work with if it lived in one of the Plone repositories.

The two other things that come to mind:

 - How tied is it to Archetypes? Non-Archetypes content and other data (e.g. stored in bespoke data structures) ought to be configurable

 - Would it be feasible to support a TTW GUI for turning serialisation of given types on or off? I think that if we have serialisers for Archetypes schemata and zope.schema schemata provided by non-Archetypes objects, for workflow state, containment, and possibly a few other bits of "standard" information, could we be able to make it possible to turn serialisation on or off via a GUI rather than a configuration file?

The static/simple deployment story is one that's been lagging for a while. I've tried to get my head around Entransit a few times, but I must admit it scares me a bit, mainly due to the dependencies and configuration overhead. Content mirror sounds like exactly what we need, and I really hope it or something like it can be adopted as a standard part of Plone, or at least promoted as "best practice".

I think for that to happen, we need to have at least one standard front end that's easy to deploy and skin, probably written in PHP. I'm hoping that wouldn't be too hard, even. :)

Cheers,
Martin</description>
		<content:encoded><![CDATA[<p>Hi Kapil,</p>
<p>This sounds like really great work! I had a look at the code, and it&#8217;s very interesting indeed.</p>
<p>I wonder why you chose to put it on Google Code rather than one of the Plone repositories, though. It would be a lot easier to work with if it lived in one of the Plone repositories.</p>
<p>The two other things that come to mind:</p>
<p> - How tied is it to Archetypes? Non-Archetypes content and other data (e.g. stored in bespoke data structures) ought to be configurable</p>
<p> - Would it be feasible to support a TTW GUI for turning serialisation of given types on or off? I think that if we have serialisers for Archetypes schemata and zope.schema schemata provided by non-Archetypes objects, for workflow state, containment, and possibly a few other bits of &#8220;standard&#8221; information, could we be able to make it possible to turn serialisation on or off via a GUI rather than a configuration file?</p>
<p>The static/simple deployment story is one that&#8217;s been lagging for a while. I&#8217;ve tried to get my head around Entransit a few times, but I must admit it scares me a bit, mainly due to the dependencies and configuration overhead. Content mirror sounds like exactly what we need, and I really hope it or something like it can be adopted as a standard part of Plone, or at least promoted as &#8220;best practice&#8221;.</p>
<p>I think for that to happen, we need to have at least one standard front end that&#8217;s easy to deploy and skin, probably written in PHP. I&#8217;m hoping that wouldn&#8217;t be too hard, even. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cheers,<br />
Martin</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Zipped Packages on App Engine :-( by kapilt</title>
		<link>http://blog.kapilt.com/2008/05/30/zipped-packages-on-app-engine/#comment-28</link>
		<dc:creator>kapilt</dc:creator>
		<pubDate>Wed, 02 Jul 2008 20:58:06 +0000</pubDate>
		<guid isPermaLink="false">http://kapilt.wordpress.com/?p=18#comment-28</guid>
		<description>i'm still convinced that this is possible, its primarily a question of time to explore the solution and workarounds.</description>
		<content:encoded><![CDATA[<p>i&#8217;m still convinced that this is possible, its primarily a question of time to explore the solution and workarounds.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
