<?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>Leong &#187; Plone</title>
	<atom:link href="http://www.leong.nl/category/plone/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leong.nl</link>
	<description>enjoy life</description>
	<lastBuildDate>Tue, 25 May 2010 18:00:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Plone Conference 2009 &#8211; Hardening Plone</title>
		<link>http://www.leong.nl/2009/10/plone-conference-2009/</link>
		<comments>http://www.leong.nl/2009/10/plone-conference-2009/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 14:17:38 +0000</pubDate>
		<dc:creator>kc</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plone]]></category>

		<guid isPermaLink="false">http://www.leong.nl/?p=137</guid>
		<description><![CDATA[This year I&#8217;m attending the Plone Conference 2009 in Budapest. Today is the second day and as always with Plone conferences the vibe is great and it&#8217;s interesting to see the different talks.
Together with my collegue Kees Hink we gave a presentation about Hardening Plone.
For a customer who needed a DMS to exchange documents with [...]]]></description>
			<content:encoded><![CDATA[<p>This year I&#8217;m attending the <a title="Plone Conference 2009 - Budapest" href="http://temp.ploneconf2009.org/">Plone Conference 2009</a> in Budapest. Today is the second day and as always with Plone conferences the vibe is great and it&#8217;s interesting to see the different talks.</p>
<p>Together with my collegue <a title="Blog Kees Hink" href="http://keeshink.blogspot.com/">Kees Hink</a> we gave a presentation about Hardening Plone.</p>
<p>For a customer who needed a DMS to exchange documents with third parties we hardened the Plone stack. Several highlights of the hardening part are modifcations in the OS,� two technical audits, a process audit and adding some extra products in Plone. Here&#8217;s is the recorded stream of the presentation: <a href="http://www.ustream.tv/recorded/2446265">http://www.ustream.tv/recorded/2446265</a>. Here are the slides:</p>
<div id="__ss_2595885" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Hardening Plone, a military-strength CMS" href="http://www.slideshare.net/khink/hardening-plone-a-militarystrength-cms-2595885">Hardening Plone, a military-strength CMS</a></strong><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ploneconf2009hardeningplone-091127062001-phpapp02&amp;rel=0&amp;stripped_title=hardening-plone-a-militarystrength-cms-2595885" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ploneconf2009hardeningplone-091127062001-phpapp02&amp;rel=0&amp;stripped_title=hardening-plone-a-militarystrength-cms-2595885" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/khink">khink</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.leong.nl/2009/10/plone-conference-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zope Formlib cancel button</title>
		<link>http://www.leong.nl/2009/01/zope-formlib-cancel-button/</link>
		<comments>http://www.leong.nl/2009/01/zope-formlib-cancel-button/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 10:10:44 +0000</pubDate>
		<dc:creator>kc</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[python zope plone formlib]]></category>

		<guid isPermaLink="false">http://www.leong.nl/?p=58</guid>
		<description><![CDATA[For a Zope FormLib based form I wanted a &#8216;Cancel&#8217; button. I tried some googling but couldn&#8217;t find any info on it. Here it is, it isn&#8217;t so hard:
First do some imports:
from plone.app.form.validators import null_validator
from Products.statusmessages.interfaces import IStatusMessage
The cancel function:
 @form.action(&#8220;Cancel&#8221;, validator=null_validator)
def action_cancel(self, action, data):
&#8230;.context = aq_inner(self.context)
&#8230;.IStatusMessage(self.request).addStatusMessage(_(&#8216;Cancelled&#8217;), type=&#8217;info&#8217;)
&#8230;.self.request.response.redirect(\
&#8230;.context.absolute_url()+&#8217;/@@mypage&#8217;)
nb. wordpress messes with the indentation, hence the [...]]]></description>
			<content:encoded><![CDATA[<p>For a <a title="Python pypi, Zope Formlib" href="http://pypi.python.org/pypi/zope.formlib/" target="_blank">Zope FormLib</a> based form I wanted a &#8216;Cancel&#8217; button. I tried some googling but couldn&#8217;t find any info on it. Here it is, it isn&#8217;t so hard:</p>
<p>First do some imports:</p>
<p><em>from plone.app.form.validators import null_validator<br />
from Products.statusmessages.interfaces import IStatusMessage</em></p>
<p>The cancel function:</p>
<p><em> @form.action(&#8220;Cancel&#8221;, validator=null_validator)<br />
def action_cancel(self, action, data):<br />
&#8230;.context = aq_inner(self.context)</em></p>
<p><em>&#8230;.IStatusMessage(self.request).addStatusMessage(_(&#8216;Cancelled&#8217;), type=&#8217;info&#8217;)</em></p>
<p><em>&#8230;.self.request.response.redirect(\<br />
&#8230;.context.absolute_url()+&#8217;/@@mypage&#8217;)</em></p>
<p>nb. wordpress messes with the indentation, hence the dots. time for a code mark-up plugin&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leong.nl/2009/01/zope-formlib-cancel-button/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KSS, client action on server</title>
		<link>http://www.leong.nl/2009/01/kss-client-action-on-server/</link>
		<comments>http://www.leong.nl/2009/01/kss-client-action-on-server/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 16:52:36 +0000</pubDate>
		<dc:creator>kc</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[KSS]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.leong.nl/?p=49</guid>
		<description><![CDATA[I&#8217;m using KSS in Plone to ajaxify user interface actions. When you&#8217;ve got a server-side KSS method and would like to call a client action, here&#8217;s how it is done:
self.commands.addCommand(&#8216;alert&#8217;, &#8216;.dummy-selector, message=&#8217;I'm called from the server!&#8217;)
self.commands.addCommand(&#8216;myKssAction&#8217;, &#8216;my-selector&#8217;, param_1=&#8221;, param_n=&#8221;)
This way you can do necessary things (like storing data from a form), update the info on [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m using <a title="KSS Project" href="http://kssproject.org/" target="_blank">KSS</a> in Plone to ajaxify user interface actions. When you&#8217;ve got a server-side <a title="KSS Project" href="http://kssproject.org/" target="_blank">KSS</a> method and would like to call a client action, here&#8217;s how it is done:</p>
<blockquote><p>self.commands.addCommand(&#8216;alert&#8217;, &#8216;.dummy-selector, message=&#8217;I'm called from the server!&#8217;)</p></blockquote>
<blockquote><p>self.commands.addCommand(&#8216;myKssAction&#8217;, &#8216;my-selector&#8217;, param_1=&#8221;, param_n=&#8221;)</p></blockquote>
<p>This way you can do necessary things (like storing data from a form), update the info on the page and using the above to call a <a href="http://docs.jquery.com" target="_blank">Jquery</a> function to do fancy style effects.</p>
<p>Simple as that!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leong.nl/2009/01/kss-client-action-on-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
