<?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/"
	>

<channel>
	<title>DavidJB.com &#187; product</title>
	<atom:link href="http://davidjb.com/blog/tag/product/feed" rel="self" type="application/rss+xml" />
	<link>http://davidjb.com</link>
	<description>The ramblings of an IT professional about life, the Universe, and Plone</description>
	<lastBuildDate>Thu, 22 Jul 2010 07:21:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Plone, Dexterity, and Incorrect Widgets</title>
		<link>http://davidjb.com/blog/2010/06/plone-dexterity-and-incorrect-widgets</link>
		<comments>http://davidjb.com/blog/2010/06/plone-dexterity-and-incorrect-widgets#comments</comments>
		<pubDate>Mon, 21 Jun 2010 05:09:31 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[content type]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[dexterity]]></category>
		<category><![CDATA[fields]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://davidjb.com/?p=463</guid>
		<description><![CDATA[A nice &#8216;gotcha&#8217; is the distinction between Zope&#8217;s schema.Date and schema.Datetime. The difference is obvious and straightforward when the two terms are laid out side-by-side: one is for dates only and the other adds a time component. Where things fell down for me in my usage of these fields with a Dexterity-based content type in [...]]]></description>
		<wfw:commentRss>http://davidjb.com/blog/2010/06/plone-dexterity-and-incorrect-widgets/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plone and Dexterity: Working with computed fields</title>
		<link>http://davidjb.com/blog/2010/04/plone-and-dexterity-working-with-computed-fields</link>
		<comments>http://davidjb.com/blog/2010/04/plone-and-dexterity-working-with-computed-fields#comments</comments>
		<pubDate>Mon, 19 Apr 2010 04:03:20 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[computation]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[dexterity]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://davidjb.com/?p=334</guid>
		<description><![CDATA[Today, we&#8217;re looking at how to utilise computed fields within a Dexterity-based content type. The specific use-case is that of having two separate fields (first name and surname, for a Person type, for example) generate the complete object title. The first part of this &#8212; having the title of the content displayed correctly &#8212; is [...]]]></description>
		<wfw:commentRss>http://davidjb.com/blog/2010/04/plone-and-dexterity-working-with-computed-fields/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plone/Zope:  Utilising zope.testrecorder for unit testing</title>
		<link>http://davidjb.com/blog/2010/03/plonezope-utilising-zope-testrecorder-for-unit-testing</link>
		<comments>http://davidjb.com/blog/2010/03/plonezope-utilising-zope-testrecorder-for-unit-testing#comments</comments>
		<pubDate>Wed, 24 Mar 2010 23:40:27 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[recorder]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[unit tests]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://davidjb.com/?p=331</guid>
		<description><![CDATA[Writing unit tests (especial doctests) for your Plone product is reasonably time consuming. For us developers, having tested code is absolutely essential. This is especially true when clients are beating down your door looking for a fully functional product and you need to know what you&#8217;ve written works and isn&#8217;t going to fall over (just [...]]]></description>
		<wfw:commentRss>http://davidjb.com/blog/2010/03/plonezope-utilising-zope-testrecorder-for-unit-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PloneFormGen (Plone) &amp; Google Calendar Integration</title>
		<link>http://davidjb.com/blog/2009/09/ploneformgen-plone-google-calendar-integration</link>
		<comments>http://davidjb.com/blog/2009/09/ploneformgen-plone-google-calendar-integration#comments</comments>
		<pubDate>Tue, 22 Sep 2009 00:40:34 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[gen]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[mash]]></category>
		<category><![CDATA[pfg]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://davidjb.com/?p=233</guid>
		<description><![CDATA[It&#8217;s a little bit of a different mash-up, but it&#8217;s still nonetheless useful to have, given types of booking forms and so forth that could utilise it.  The easiest way I found (to avoid security issues with Python scripts in Plone) was to create an external method and just import it within a PFG Custom [...]]]></description>
		<wfw:commentRss>http://davidjb.com/blog/2009/09/ploneformgen-plone-google-calendar-integration/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plone: Re-ordering Viewlets</title>
		<link>http://davidjb.com/blog/2009/08/plone-re-ordering-viewlets</link>
		<comments>http://davidjb.com/blog/2009/08/plone-re-ordering-viewlets#comments</comments>
		<pubDate>Wed, 19 Aug 2009 06:34:08 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[genericsetup]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://davidjb.com/?p=134</guid>
		<description><![CDATA[Just responded to a post on the Plone Nabble forums (here) about how to re-order viewlets.  In particular, this one is little different (but not terribly so) because the original poster wanted to put the breadcrumbs above the global sections (global tabs in Plone).  Normally, this is straight forward because you just use a Generic [...]]]></description>
		<wfw:commentRss>http://davidjb.com/blog/2009/08/plone-re-ordering-viewlets/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating &amp; distributing a new Plone/PyPI product</title>
		<link>http://davidjb.com/blog/2009/08/creating-distributing-a-new-plonepypi-product</link>
		<comments>http://davidjb.com/blog/2009/08/creating-distributing-a-new-plonepypi-product#comments</comments>
		<pubDate>Mon, 17 Aug 2009 00:01:34 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[easy_install]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://davidjb.com/?p=95</guid>
		<description><![CDATA[It&#8217;s amazing to see how technologies can be so smoothly integrated these days.  I&#8217;m talking, at least in this instance, about how setuptools works with PyPI (and then Plone.org&#8217;s Products section) and allows you to distribute your product(s) to the world.  So far, I&#8217;ve just got the one &#8212; collective.portlet.googleapps &#8212; but I&#8217;m sure time [...]]]></description>
		<wfw:commentRss>http://davidjb.com/blog/2009/08/creating-distributing-a-new-plonepypi-product/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plone: Relative &#8216;Recent Changes&#8217; Portlets</title>
		<link>http://davidjb.com/blog/2008/11/plone-relative-recent-changes-portlets</link>
		<comments>http://davidjb.com/blog/2008/11/plone-relative-recent-changes-portlets#comments</comments>
		<pubDate>Thu, 20 Nov 2008 01:33:08 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[portlets]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://davidjb.com/?p=113</guid>
		<description><![CDATA[The problem I&#8217;ve been faced with today on our Plone systems is that I need to created a &#8216;Recent Changes&#8217; portlet that&#8217;s relative to where the user is on the site. Now, the standard portlet doesn&#8217;t do anything for me, so that&#8217;s pretty useless. I had a look at the standard code for the portlet [...]]]></description>
		<wfw:commentRss>http://davidjb.com/blog/2008/11/plone-relative-recent-changes-portlets/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
