<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Kamon Ayeva : Yet Another Blog</title>
	<atom:link href="http://kayeva.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kayeva.wordpress.com</link>
	<description>Solutions &#62; Technology &#62; Open Source &#62; python.zope.plone</description>
	<lastBuildDate>Sat, 21 Nov 2009 11:44:50 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='kayeva.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/c778404bb8d61bc0449b558ffd07ba8b?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Kamon Ayeva : Yet Another Blog</title>
		<link>http://kayeva.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kayeva.wordpress.com/osd.xml" title="Kamon Ayeva : Yet Another Blog" />
		<item>
		<title>Jumped in a new job and contemplating new challenges</title>
		<link>http://kayeva.wordpress.com/2009/11/21/jumped-in-a-new-job-and-contemplating-new-challenges/</link>
		<comments>http://kayeva.wordpress.com/2009/11/21/jumped-in-a-new-job-and-contemplating-new-challenges/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 11:06:37 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[advocacy]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[websites]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=123</guid>
		<description><![CDATA[I have recently quit Ingeniweb for a job in an international organization involved in the promotion of cultural diversity and sustainable development, to only mention two of its activity fields.
I am in charge of website projects (in the context of the Communication department). There is a lot to do, the first thing being understanding the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=123&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have recently quit Ingeniweb for a job in an international organization involved in the promotion of cultural diversity and sustainable development, to only mention two of its activity fields.</p>
<p>I am in charge of website projects (in the context of the Communication department). There is a lot to do, the first thing being understanding the context, the way things work here, and the people&#8217;s expectations.</p>
<p>As for the tools and technologies side of things, there is not currently anything Python-based here. PHP (SPIP) rules ! Well, I guess it&#8217;s perceived as easy and more importantly, skills exist everywhere (<em>me looking in the direction of &#8220;web agencies&#8221;</em>).<br />
So, one of the interesting things will be to introduce Python, where it makes sense, in the not-too-far (hopefully) future. Anyway, I am confident that will happen one day. After all, it&#8217;s not always bad to be ahead of the time. You just have to wait, monitor, and talk to people everytime there is an opportunity. And you might be lucky and convince those who take the time to listen <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=123&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2009/11/21/jumped-in-a-new-job-and-contemplating-new-challenges/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>Scratching my own documentation itch</title>
		<link>http://kayeva.wordpress.com/2009/03/21/scratching-my-own-documentation-itch/</link>
		<comments>http://kayeva.wordpress.com/2009/03/21/scratching-my-own-documentation-itch/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 11:04:16 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[archetypes]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[pycon]]></category>
		<category><![CDATA[zca]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=114</guid>
		<description><![CDATA[A week ago, I finished updating the Archetypes Developer Manual for Plone 3. In case you have not seen it, the new version is interesting for any developer who has to develop or update an Archetypes-based product ; it tries to present our current coding practices (GenericSetup, ZCA techniques&#8230;) The manual is accompanied by a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=114&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A week ago, I finished updating the <a href="http://plone.org/documentation/manual/archetypes-developer-manual" target="_blank">Archetypes Developer Manual</a> for Plone 3. In case you have not seen it, the new version is interesting for any developer who has to develop or update an Archetypes-based product ; it tries to present our current coding practices (GenericSetup, ZCA techniques&#8230;) The manual is accompanied by a new <a href="http://plone.org/products/example.archetype/" target="_blank">example package</a>. It is also useful, directly, for the &#8220;what does what/how to&#8221; when using the <a href="http://plone.org/products/zopeskel/">ZopeSkel</a> &#8220;archetype&#8221; template with paster to bootstrap your product package.</p>
<p><strong>What&#8217;s next ?</strong></p>
<p>I started another manual to give an overview of the Zope Component Architecture techniques and tools we use for Plone development. Part of the initial work is refactoring/merging existing howtos and tutorials written by the other documentation contributors, and updating them. Hopefully, a first cut of this manual will be reviewed and published in a few weeks.</p>
<p><strong>Sprinting at Pycon</strong></p>
<p>Next week, I am going to Pycon in Chicago and will have 2 days to participate to the post-conference sprints. My current plan is to just dedicate my time to documentation. Topics that I may start contributing on are &#8220;Dexterity content types&#8221; and &#8220;WSGI setup for Plone (3/4) + using middlewares to augment your deployment&#8221;. There may be other topics to give priority to, and I will discuss with others to find out. And of course, I will have some time to make progress on the ZCA manual.</p>
<p>Looking forward to meet other &#8220;Python Web&#8221; community members there!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=114&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2009/03/21/scratching-my-own-documentation-itch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>Documentation bookmarks for self and others</title>
		<link>http://kayeva.wordpress.com/2009/02/20/documentation-bookmarks-for-self-and-others/</link>
		<comments>http://kayeva.wordpress.com/2009/02/20/documentation-bookmarks-for-self-and-others/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 17:26:59 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=104</guid>
		<description><![CDATA[Useful parts of the various documentation efforts now available within the Zope community:

Zope components and interfaces
Acquisition
ZODB: the part from the ZDG and the ZODB wiki page
 Testing, Debugging &#38; co: Testing and Debugging (ZDG), Testing in Plone, Python Profilers
 Buildout tutorial for Plone

       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=104&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Useful parts of the various documentation efforts now available within the Zope community:</p>
<ul>
<li><a href="http://docs.zope.org/zdg/ComponentsAndInterfaces.html">Zope components and interfaces</a></li>
<li><a href="http://docs.zope.org/zope2book/Acquisition.html">Acquisition</a></li>
<li>ZODB: <a href="http://docs.zope.org/zdg/ZODBPersistentComponents.html">the part from the ZDG</a> and <a href="http://wiki.zope.org/ZODB/Documentation">the ZODB wiki page</a></li>
<li> Testing, Debugging &amp; co: <a href="http://docs.zope.org/zdg/TestingAndDebugging.html">Testing and Debugging (ZDG)</a>, <a href="http://plone.org/documentation/tutorial/testing">Testing in Plone</a>, <a href="http://docs.python.org/library/profile.html">Python Profilers</a></li>
<li> <a href="http://plone.org/documentation/tutorial/buildout/">Buildout tutorial for Plone</a></li>
</ul>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=104&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2009/02/20/documentation-bookmarks-for-self-and-others/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>Proposing Python trainings</title>
		<link>http://kayeva.wordpress.com/2009/02/20/proposing-python-trainings/</link>
		<comments>http://kayeva.wordpress.com/2009/02/20/proposing-python-trainings/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 17:00:23 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[learning]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=98</guid>
		<description><![CDATA[After years of Plone training, I have been working on a Python course offering. That evolution makes sense since a wider group of people come to Python via Plone, and now I want to bring to the table the other interesting and useful bits of Python&#8230; Things like SQLAlchemy, web frameworks, system administration or data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=98&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>After years of Plone training, I have been working on a Python course offering. That evolution makes sense since a wider group of people come to Python via Plone, and now I want to bring to the table the other interesting and useful bits of Python&#8230; Things like <a title="SQLAlchemy" href="http://sqlalchemy.org" target="_blank">SQLAlchemy</a>, web frameworks, system administration or data crunching techniques and tools, or simply exploiting the Python Standard Library.</p>
<p>There is probably a bunch of people interested by using Python for their daily work, and who need some training to get there.</p>
<p>If you are in that situation, feel free to contact me and let me know which type of course you would like and if I can help organize it for you. For maximum flexibility, you could choose among several options: a public class with several participants, a customized class for a group within your organization, or one or several coaching days to help approach problems within a project. I have already experienced any of these formats and they all work well.</p>
<p>If you are based in France, you might want to join the <a title="Python training class" href="http://ingeniweb.com/services/training/trainings_list/python/" target="_blank">first public Python class we will be organizing in June</a> for the french public.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=98&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2009/02/20/proposing-python-trainings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>Promoting Python and Plone in Africa</title>
		<link>http://kayeva.wordpress.com/2008/11/07/promoting-python-and-plone-in-africa/</link>
		<comments>http://kayeva.wordpress.com/2008/11/07/promoting-python-and-plone-in-africa/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 20:46:25 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[advocacy]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[zope]]></category>
		<category><![CDATA[africa]]></category>
		<category><![CDATA[morocco]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/2008/11/07/promoting-python-and-plone-in-africa/</guid>
		<description><![CDATA[It seems that only South Africa had an event listed as part of the World Plone Day set of local events. As an african, I am of course interested by this fact, and I would have expected some Plone presence in another region. Hopefully, we can fix that for next year&#8217;s edition !
I am promoting [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=88&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It seems that only South Africa had an event listed as part of the <a href="http://plone.org/events/wpd">World Plone Day</a> set of local events. As an african, I am of course interested by this fact, and I would have expected some Plone presence in another region. Hopefully, we can fix that for next year&#8217;s edition !</p>
<p>I am promoting an effort called <a title="Python African Tour project wiki" href="http://www.openplans.org/projects/python-african-tour" target="_blank">Python African Tour</a> which aims at sending volunteers, within the next couple of years, in the different regions of Africa, based on sponsoring, to train beginner developers there on Python and its related technologies. It&#8217;s a way to introduce newbies there to a programming language that helps the developer get his job done, as well as all the community practices that help us improve our daily work. It&#8217;s also a way to get new developers join the Python community.</p>
<p>The first country the tour will visit is Morocco, in December, from the 18th to the 22nd. Among the possible countries to plan in 2009 are Nigeria and South Africa. Obviously our plans will depend on discussions with local contacts we get, and sponsoring possibilities.</p>
<p>For Morocco, Amine Soulaymani, a developer living in Morocco, and <a href="http://www.danielnouri.org/blog">Daniel Nouri</a> have volunteered to participate as instructors for the students at <a href="http://www.emi.ac.ma/">Ecole Mohammedia d&#8217;Ingenieurs</a>, ­the school that will host the Python training session.<br />
In addition to the training session during the first 2 days, we plan to have 3 days of community activities: an unconference-style open event with demos and talks related to Python, followed by a sprint that will be hosted in the offices of <a href="http://www.nextma.com/">Nextma</a>, a solution provider doing Python. Talks and sprint activities should cover Plone, with the participation of a <a href="http://plonegov.org/">PloneGov</a> / CommunesPlone team joining us from Belgium, <a href="http://www.python.org/dev/peps/pep-0333/">WSGI</a> / <a href="http://repoze.org/">Repoze </a> and <a href="http://www.openerp.com/">­OpenERP </a> with contributors from Nextma.</p>
<p>On a side note, I have proposed a talk with <a href="http://robertoallende.com/weblog" target="_blank">Roberto Allende</a> for next year&#8217;s Pycon to present our ideas and actions to help spread Python in both South America and Africa.</p>
<p>If you want to contribute in any way, <a href="mailto:python-african-tour-discussion@lists.openplans.org">­­contact us through the project&#8217;s mailing list</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=88&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2008/11/07/promoting-python-and-plone-in-africa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>Not at the Plone conference</title>
		<link>http://kayeva.wordpress.com/2008/10/07/not-at-the-plone-conference/</link>
		<comments>http://kayeva.wordpress.com/2008/10/07/not-at-the-plone-conference/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 20:40:56 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=80</guid>
		<description><![CDATA[Unfortunately, I was unable to go to DC for the Plone conference.
I want to apologize to the people who were expecting to follow the tutorial on z3c.form, which had to be canceled.
I am thinking about submitting an improved version of that tutorial proposal for Pycon 2009, and I hope to be there and meet some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=80&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Unfortunately, I was unable to go to DC for the Plone conference.</p>
<p>I want to apologize to the people who were expecting to follow the tutorial on z3c.form, which had to be canceled.</p>
<p>I am thinking about submitting an improved version of that tutorial proposal for Pycon 2009, and I hope to be there and meet some of you.</p>
<p>Have fun, and let the people know it ! Zope is back (in various forms <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), and we are going toward more successes in the coming years.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=80&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2008/10/07/not-at-the-plone-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>More on using the EditForm</title>
		<link>http://kayeva.wordpress.com/2008/09/17/more-on-using-the-editform/</link>
		<comments>http://kayeva.wordpress.com/2008/09/17/more-on-using-the-editform/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 20:03:41 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[learning]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[zope]]></category>
		<category><![CDATA[content types]]></category>
		<category><![CDATA[forms]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=63</guid>
		<description><![CDATA[I now better understand this after reading z3c.form&#8217;s doctests: If the context object that you want to edit fulfills the interface used for your EditForm, the code for defining the form class could be as small as this (followed by the usual configure.zcml snippet):


class ContactEditForm(z3c.form.form.EditForm):
    """ Contact Edit Form """

   [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=63&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I now better understand this after reading z3c.form&#8217;s doctests: If the context object that you want to edit fulfills the interface used for your EditForm, the code for defining the form class could be as small as this (followed by the usual configure.zcml snippet):</p>
<pre>
<blockquote>
class ContactEditForm(z3c.form.form.EditForm):
    """ Contact Edit Form """

    fields = z3c.form.field.Fields(IContactData)

# For wrapping the form presentation within Plone's layout
ContactEditFormView = layout.wrap_form(ContactEditForm, label="Edit Form")</blockquote>
</pre>
<p>If it does not, you get an error as the framework finds that the object does not match the schema or there is not an adapter to it.</p>
<p>The solution in such a case is to define an adapter to the interface, and override the getContent() method of the form to give the adapted object to the EditForm so it can do its job on it, i.e. update it.</p>
<p>Here is an example with an ATDocument used as the context.</p>
<pre>
<blockquote>
class ContactAdapter(object):
    zope.component.adapts(IATDocument)
    zope.interface.implements(IContactData)

    def __init__(self, document):
        self.document = document

    @apply
    def lastname():
        def get(self):
            return getTheLastname(self.document)
        def set(self, value):
            setTheLastname(self.document, value)
        return property(get, set)</blockquote>
</pre>
<pre>
<blockquote>
class ContactEditForm(z3c.form.form.EditForm):
    """ Contact Edit Form """

    fields = z3c.form.field.Fields(IContactData)

    def getContent(self):
        '''See interfaces.IForm'''
        return IContactData(self.context)</blockquote>
</pre>
<p>This approach is valid for cases where you don&#8217;t want to introduce a new content type. Hopefully, there will be a time when introducing a new type would be easier, not require too much things to change, and not add complexity to your Plone site with the risk of maintenance issues. (I&#8217;m thinking <em>plone.dexterity</em> here.) <em>Then, things should be straightforward.</em></p>
<p>You can find the detailed code of my z3c.form usage examples in the<br />
<a href="http://svn.plone.org/svn/collective/example.z3cform/" target="_blank"><em>example.z3cform</em></a> package in the Collective.</p>
<p><strong>Update</strong>: Do not forget to register the Adapter in the configure.zcml. (Thx to Gilles for informing me that I forgot to mention this bit.)</p>
<pre>
<blockquote>&lt;adapter factory=”.adapter.ContactAdapter” /&gt;</blockquote>
</pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kayeva.wordpress.com/63/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kayeva.wordpress.com/63/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=63&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2008/09/17/more-on-using-the-editform/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>Example code for getting started with z3c.form forms</title>
		<link>http://kayeva.wordpress.com/2008/09/13/example-code-for-getting-started-with-z3cform-forms/</link>
		<comments>http://kayeva.wordpress.com/2008/09/13/example-code-for-getting-started-with-z3cform-forms/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 18:57:29 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[learning]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[zope]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[z3c.form]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=55</guid>
		<description><![CDATA[I have been working on an example package to show how to get started with z3c.form-based forms in Plone, and this helps me prepare myself for the tutorial session I will lead at the Plone conference.
I just updated the code, to end my day at the Paris Bobun Sprint, by adding a technique you can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=55&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have been working on an example package to show how to get started with z3c.form-based forms in Plone, and this helps me prepare myself for the tutorial session I will lead at the Plone conference.</p>
<p>I just updated the code, to end my day at the Paris Bobun Sprint, by adding a technique you can use &#8211; based on a feature of the framework &#8211; when you want to provide your own specific error message on a field&#8217;s validation (a common need, when you are improving a form&#8217;s usability for the users). I will explain this feature in detail in a next post.</p>
<p>My tentative TODO list for the next days/weeks is:</p>
<ul>
<li>Write tests</li>
<li>An example of custom widget</li>
<li>An example of data converter (maybe)</li>
<li>An example of using AjaX (jQuery, KSS) to improve the forms&#8217;s usability</li>
</ul>
<p>You can check the code in the collective (<a title="example.z3cform" href="https://svn.plone.org/svn/collective/example.z3cform/trunk/" target="_blank">https://svn.plone.org/svn/collective/example.z3cform/trunk/</a>) and send me feedback, suggestions, or questions.</p>
<p>Enjoy !</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kayeva.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kayeva.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=55&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2008/09/13/example-code-for-getting-started-with-z3cform-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>Updating your form code to latest version of plone.z3cform</title>
		<link>http://kayeva.wordpress.com/2008/07/26/updating-your-form-code-to-latest-version-of-plonez3cform/</link>
		<comments>http://kayeva.wordpress.com/2008/07/26/updating-your-form-code-to-latest-version-of-plonez3cform/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 09:10:55 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[documentation]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=45</guid>
		<description><![CDATA[I am glad to see more work is happening for using z3c.form in CMF and Plone, and Daniel Nouri updated us this week with the latest changes. I just updated my buildout to use the new packages and got plone.z3cform 0.4 and plone.app.z3cform 0.3.2.
With the small API changes that happened, you can see below that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=45&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I am glad to see more work is happening for using z3c.form in CMF and Plone, and Daniel Nouri updated us this week with the latest changes. I just updated my buildout to use the new packages and got plone.z3cform 0.4 and plone.app.z3cform 0.3.2.</p>
<p>With the small API changes that happened, you can see below that there is less to write to expose the form in the Plone site (our ContactForm example from my<br />
<a href="http://kayeva.wordpress.com/2008/07/19/a-variation-on-my-previous-z3cform-example/" target="_blank">previous post</a>):</p>
<pre>
<blockquote># my.example/my/example/browser.py

import datetime
from zope import schema
import zope.component
import z3c.form

import plone.app.z3cform
from plone.app.z3cform import layout

from plone.i18n.normalizer.interfaces import IIDNormalizer

from my.example import interfaces
from my.example.contact import MyContact

class ContactForm(z3c.form.form.Form):
    """ Contact Form """

    fields = z3c.form.field.Fields(interfaces.IContactData)
    message_field = z3c.form.field.Fields(schema.TextLine(__name__ = 'message',
                                                          title=u"Message",
                                                          required=False)
                                          )
    fields += message_field

    ignoreContext = True

    @z3c.form.button.buttonAndHandler(u'Send', name='send')
    def handle_send(self, action):
        data, errors = self.extractData()
        if errors:
            self.status = z3c.form.form.EditForm.formErrorsMessage
            return

        # Add the contact data, if not in yet
        id = data['firstname'] + data['lastname']
        id = zope.component.queryUtility(IIDNormalizer).normalize(id)

        if id not in self.context.objectIds():
            self._name = id
            contact = MyContact(self._name, **data)
            self.context[self._name] = contact

        # Complete the code so it sends the message to the site admin...
        message = data['message']
        print "Message from %s %s (%s):\n%s" % (data['firstname'], data['lastname'], data['email'], data['message'])

        self.request.RESPONSE.redirect(self.context.absolute_url())

# New way to provide the wrapping View
ContactFormView = layout.wrap_form(ContactForm, label="Contact Form")</strong>
<blockquote></pre>
<p>The related ZCML code does not change.<br />
By the way, on my TODO list, is moving from ZCML to grokcore.component registration <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kayeva.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kayeva.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=45&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2008/07/26/updating-your-form-code-to-latest-version-of-plonez3cform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
		<item>
		<title>A variation on my previous z3c.form example</title>
		<link>http://kayeva.wordpress.com/2008/07/19/a-variation-on-my-previous-z3cform-example/</link>
		<comments>http://kayeva.wordpress.com/2008/07/19/a-variation-on-my-previous-z3cform-example/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 10:49:10 +0000</pubDate>
		<dc:creator>kamon</dc:creator>
				<category><![CDATA[learning]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://kayeva.wordpress.com/?p=32</guid>
		<description><![CDATA[Another example of form logic, adding to the one discussed in my previous post.
Here is the idea: If you need a more flexible solution for your use case, you can inherit directly from z3c.form.form.Form.
Let&#8217;s say you want the form to be used for both adding contact information (making sure later that this only works when [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=32&subd=kayeva&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Another example of form logic, adding to the one discussed in my <a href="http://kayeva.wordpress.com/2008/07/16/using-z3cform-for-our-forms-in-plone/" target="_blank">previous post</a>.</p>
<p>Here is the idea: If you need a more flexible solution for your use case, you can inherit directly from z3c.form.form.Form.<br />
Let&#8217;s say you want the form to be used for both adding contact information (making sure later that this only works when the user is authenticated) and sending a mail message to the site administrator. A site feedback form that will at the same time be used to populate your database of contacts.  </p>
<p>Your form class could be defined as follows (I&#8217;m skipping the imports part):</p>
<pre>
<blockquote># my.example/my/example/browser.py

class ContactForm(z3c.form.form.Form):
    """ Contact Form """
    fields = z3c.form.field.Fields(interfaces.IContactData)
    message_field = z3c.form.field.Fields(schema.TextLine(__name__ = 'message',
                                                          title=u"Message",
                                                          required=False)
                                          )
    fields += message_field

    ignoreContext = True

    @z3c.form.button.buttonAndHandler(u'Send', name='send')
    def handle_send(self, action):
        data, errors = self.extractData()
        if errors:
            self.status = z3c.form.form.EditForm.formErrorsMessage
            return

        # Add the contact data, if not in yet
        id = data['firstname'] + data['lastname']
        id = zope.component.queryUtility(IIDNormalizer).normalize(id)

        if id not in self.context.objectIds():
            self._name = id
            contact = MyContact(self._name, **data)
            self.context[self._name] = contact

        # Do something else, e.g. send the message to the site admin.
        # Complete the code as needed...
        message = data['message']
        print "Message from %s %s (%s):\n%s" % (data['firstname'], data['lastname'], data['email'], data['message'])

        # Redirect
        self.request.RESPONSE.redirect(self.context.absolute_url())</blockquote>
</pre>
<p>The main points of the used pattern:</p>
<ul>
<li>You define the fields for the form ; new fields can be added to the already defined list (based on the IContactData schema in interfaces.py) using the &#8220;+&#8221; operator.</li>
<li>You define your specific form button(s) and handler method(s). In the case of a standard AddForm, there is already a handle_add() defined for the &#8220;add&#8221; button for you.</li>
<li>Also, you need to set the form attribute &#8216;ignoreContext&#8217; to True, so that the form has the same behaviour as an AddForm, i.e. it does not have to get/set data on attributes on the context. Note that by default, an AddForm has this attribute set to True, and an EditForm has it set to False.</li>
</ul>
<p>Now, the final touch with the wrapping view&#8230;</p>
<pre>
<blockquote>class ContactFormView(base.FormWrapper):

    form = ContactForm
    label= "Contact Form"</blockquote>
</pre>
<p>&#8230; and its configuration:</p>
<pre>
<blockquote>&lt;configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    xmlns:five="http://namespaces.zope.org/five"
    i18n_domain="my.example" &gt;

    &lt;browser:page
        for="Products.CMFPlone.Portal.PloneSite"
        name="contact_form"
        class=".browser.ContactFormView"
        permission="zope2.View"
        /&gt;

&lt;/configure&gt;</blockquote>
</pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kayeva.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kayeva.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kayeva.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kayeva.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kayeva.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kayeva.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kayeva.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kayeva.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kayeva.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kayeva.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kayeva.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kayeva.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kayeva.wordpress.com&blog=827664&post=32&subd=kayeva&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://kayeva.wordpress.com/2008/07/19/a-variation-on-my-previous-z3cform-example/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6777eaf2b0a56fd4645b3d1d48fddc7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kamon</media:title>
		</media:content>
	</item>
	</channel>
</rss>