<?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>Indent four &#187; Plone</title>
	<atom:link href="http://www.indentfour.com/blog/category/plone/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.indentfour.com/blog</link>
	<description>Eight steps forward - four steps back</description>
	<lastBuildDate>Wed, 04 Aug 2010 13:35:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Varnish Proxy shutting down while running under supervisor</title>
		<link>http://www.indentfour.com/blog/2010/08/varnish-proxy-shutting-down-while-running-under-supervisor/</link>
		<comments>http://www.indentfour.com/blog/2010/08/varnish-proxy-shutting-down-while-running-under-supervisor/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 13:34:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[supervisor]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[varnish]]></category>

		<guid isPermaLink="false">http://www.indentfour.com/blog/?p=171</guid>
		<description><![CDATA[We are running quite a number of Plone sites with the Varnish proxy server in front of them, all neatly managed by the supervisor, a process manager.
Recently some of our Varnishes unexepectly quit. Checking the supervisor logs gives an &#8216;expected&#8217; shutdown state, the same message you see when you shut down a process manually with [...]]]></description>
			<content:encoded><![CDATA[<p>We are running quite a number of Plone sites with the Varnish proxy server in front of them, all neatly managed by the <a href="http://www.supervisord.org">supervisor</a>, a process manager.</p>
<p>Recently some of our Varnishes unexepectly quit. Checking the supervisor logs gives an &#8216;expected&#8217; shutdown state, the same message you see when you shut down a process manually with supervisorctl. But we didn&#8217;t do that.</p>
<p>So: A) why is varnish quitting and B) Why doesn&#8217;t supervisor restart it?</p>
<p>To start with (B): by default supervisor thinks exit codes 0 and 2 are &#8216;expected&#8217; codes on which a process isn&#8217;t restarted. You can change this by adding</p>
<pre>exitcodes = 0</pre>
<p>to your supervisord.conf or adding it as an extra setting like this in your buildout if you are using collective.recipe.supervisor:</p>
<pre>30 varnish (exitcodes=0) ${buildout:directory}/bin/varnish</pre>
<p>Now for (A). I haven&#8217;t nailed it down exactly yet, but most buildout examples (and our production servers are still using Varnish 2.0.X, where the cli_timeout by default is 5 seconds. This is a timeout for communication between parents and worker processes in the varnish setup. I&#8217;ve found this<a href="http://varnish-cache.org/ticket/329"> bug ticket #329</a> where the cli_timeout by default has been upped to 10 seconds, because some setups might timeout when the system is under heavy load (as we found out later from our munin graphs, the systems were quite busy around the time that Varnish exitted).</p>
<p>I haven&#8217;t been able to find much documentation yet on exit code 2 from varnish and I&#8217;m not sure yet if if is also sometimes used for &#8216;graceful&#8217; stops. Which would mean that supervisor will not let the process end when it should, but hopefully this will solve our varnish exits for now.</p>
<p>If you want a newer Varnish in your buildout with the default cli_timeout set to 10 seconds, try plone.recipe.varnish 1.1b1 . One warning though: On my OS X 10.6 developer machine I  had to install pcre using macports before varnish would build. All my tricks to get a pcre compiled in from source in my buildout cost me 100 grey hairs and half a day of trial and error without succes. But that&#8217;s something for another blog post.</p>
<p>Did you run into similar problems and/or have tips or other solutions? Please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indentfour.com/blog/2010/08/varnish-proxy-shutting-down-while-running-under-supervisor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory monitoring with supervisor, memmon and and zc.buildout</title>
		<link>http://www.indentfour.com/blog/2010/08/memory-monitoring-with-supervisor-memmon-and-and-zc-buildout/</link>
		<comments>http://www.indentfour.com/blog/2010/08/memory-monitoring-with-supervisor-memmon-and-and-zc-buildout/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 12:00:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[supervisor]]></category>

		<guid isPermaLink="false">http://www.indentfour.com/blog/2010/08/memory-monitoring-with-supervisor-memmon-and-and-zc-buildout/</guid>
		<description><![CDATA[UPDATE: I&#8217;vechecked in a fix on collective.recipe.supervisor trunk, hopefully it will be picked up with release 0.12. 
I’ve been tinkering a bit with process memory monitoring for applications which are started and managed with supervisord. If you want Memmon or status checking you will need the ‚superlance’ package added.
Since we are using buildout to generate [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE: I&#8217;vechecked in a fix on collective.recipe.supervisor trunk, hopefully it will be picked up with release 0.12. </p>
<p>I’ve been tinkering a bit with process memory monitoring for applications which are started and managed with supervisord. If you want Memmon or status checking you will need the ‚superlance’ package added.</p>
<p>Since we are using buildout to generate all our setups I’m using collective.recipe.supervisor to generate the supervisord.conf. Adding<br />
<code>plugins = superlance<br />
eventlisteners =<br />
Memmon TICK_60 ${buildout:bin-directory}/memmon [-p instance=400MB]</code></p>
<p>Does not get the monitor running though. When starting supervisord the memmon process is exitting to soon and stopping. Running memmon on the command line with the correct options gets it running though.</p>
<p>After some more trial and error and <a href="http://www.mail-archive.com/supervisor-users@lists.supervisord.org/msg00231.html">searching online</a> the culprit seems to be a recent change with recentsupervisor releases. this is what the recipe generated for the eventlistener:</p>
<p><code>[eventlistener:Memmon]<br />
command = /Users/fred/buildouts/officious/bin/memmon -p instance=400MB<br />
events = TICK_60<br />
process_name=Memmon<br />
environment=SUPERVISOR_USERNAME=myusername,<br />
¬ SUPERVISOR_PASSWORD=mypassword,<br />
¬ SUPERVISOR_SERVER_URL=‚http://127.0.0.1:12345</code></p>
<p>The values in the environment line should be quotes though. So changing that line to</p>
<p><code>environment=SUPERVISOR_USERNAME='myusername’,<br />
¬ SUPERVISOR_PASSWORD='mypassword',<br />
¬ SUPERVISOR_SERVER_URL='http://127.0.0.1:12345'</code></p>
<p>makes memmon start up correctly.<del datetime="2010-08-04T13:11:21+00:00"> I&#8217;ll see if I can get this reported/fixed in the recipe this week.</del>(updated on trunk).</p>
<p>btw. (¬ ) is linebreak, but should be continued on the previous line</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indentfour.com/blog/2010/08/memory-monitoring-with-supervisor-memmon-and-and-zc-buildout/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>First 2010 Plone aha-erlebnis: Ordering objects in folders with multilingual sites</title>
		<link>http://www.indentfour.com/blog/2010/01/first-2010-plone-aha-erlebnis-ordering-objects-in-folders-with-multilingual-sites/</link>
		<comments>http://www.indentfour.com/blog/2010/01/first-2010-plone-aha-erlebnis-ordering-objects-in-folders-with-multilingual-sites/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 13:26:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[LinguaPlone]]></category>

		<guid isPermaLink="false">http://www.indentfour.com/blog/?p=145</guid>
		<description><![CDATA[For some time I have been plagued with random ordering hickups in Plone. Say you have  a Plone site with 4 folders and you&#8217;d like to move the last folder in the folder_contents to the top so that it also appears first in the main portal_tabs. Normal procedure: you drag the item to the top [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">For some time I have been plagued with random ordering hickups in Plone. Say you have  a Plone site with 4 folders and you&#8217;d like to move the last folder in the folder_contents to the top so that it also appears first in the main portal_tabs. Normal procedure: you drag the item to the top of the site by &#8216;pulling&#8217; on the two &#8216;::&#8217; colons at the end.  It seems to work at first but there&#8217;s some sneaky AJAX going on in the background. If you reload the page your folder is still where it was.<img class="size-full wp-image-151 aligncenter" title="Ordering in a Plone folder" src="http://www.indentfour.com/blog/wp-content/uploads/2010/01/ordering-plone.jpg" alt="ordering-plone" width="405" height="243" /></p>
<p style="text-align: left;">You do it again with a reload. Nothing. You do it again. It moves up one spot. That&#8217;s not good enough&#8230; If you disable javascript in your browser you will see two arrows, this is the plain HTML fallback. it calls an url on the folder that ends with &#8216;mainfolder/folder_position?position=up&amp;id=site-content&#8217; to move the object up in the folder. But what&#8217;s going on with this non deterministic ordering?</p>
<p style="text-align: left;"><img class="size-full wp-image-157 aligncenter" title="ordering-arrows" src="http://www.indentfour.com/blog/wp-content/uploads/2010/01/ordering-arrows.jpg" alt="ordering-arrows" width="210" height="125" /></p>
<p>My colleague <a href="http://maurits.vanrees.org/weblog" target="_blank">Maurits van Rees</a> had an interesting theory that seems plausible enough for me at the moment: in all the sites I have experienced thes ordering problems there&#8217;s LinguaPlone installed because the site is multilingual. And one of the tricks LinguaPlone has up it&#8217;s sleeves is that it will filter out all objects in folder listings and navigation that are in a different language than the language you&#8217;re viewing the site in.  So what is happening when you move an object one position up in a Dutch/English site where there are not 4, but actually 8 folders in the Plone site root? Nothing. Only after moving up 5 times you will notice any difference, because you have to pass 4 &#8216;hidden&#8217; Dutch folders first if you are trying to re-order the English objects.</p>
<p><img class="aligncenter size-full wp-image-148" title="ordering" src="http://www.indentfour.com/blog/wp-content/uploads/2010/01/ordering.jpg" alt="ordering" width="647" height="247" /></p>
<p>When using drag and drop the javascript involved is a bit more intelligent and tries to move the object for example 4 positions if you drag it 4 places above. But as you can see that doesn&#8217;t help in this case. Imagine how many times you have to move an item when there are 5 or 6 translations in a site, each with 5 folders in the main site root.</p>
<p>I&#8217;ve seen this happening in several Plone 3 sites with LinguaPlone 2.2/2.4 Hard to tell what/who is to blame or how to fix this, but it&#8217;s annoying at least.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indentfour.com/blog/2010/01/first-2010-plone-aha-erlebnis-ordering-objects-in-folders-with-multilingual-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Plone 4.0 core-dev on OS X Leopard 10.5</title>
		<link>http://www.indentfour.com/blog/2009/10/building-plone-4-0-core-dev-on-os-x-leopard-10-5/</link>
		<comments>http://www.indentfour.com/blog/2009/10/building-plone-4-0-core-dev-on-os-x-leopard-10-5/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 15:38:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.indentfour.com/blog/?p=125</guid>
		<description><![CDATA[update 1: there is python26 in MacPorts.
After the great Plone Conference 2009 that was held from wednesday to friday we are now sprinting two more days. I guess there&#8217;s more than 200 people sprinting on saturday and sunday, improving Plone in all area&#8217;s: documentation, code, add-ons, you name it.
I gave up on getting plone 4.0 [...]]]></description>
			<content:encoded><![CDATA[<p><em>update 1</em>: there is python26 in MacPorts.</p>
<p>After the great Plone Conference 2009 that was held from wednesday to friday we are now sprinting two more days. I guess there&#8217;s more than 200 people sprinting on saturday and sunday, improving Plone in all area&#8217;s: documentation, code, add-ons, you name it.</p>
<p>I gave up on getting plone 4.0 coredev running on my mac a few months ago after five minutes when something started to complain, but with all the gread minds around me in Budapest and a slide show by Maurits I wanted to get it running now. But it&#8217;s still painfull for some reason and I have I have no clue why it works for everybody else but not for me. Anyway, here are the roadblocks I bumped into installing it on OS X Leopard <strong>10.5</strong> .</p>
<h3>Python 2.6</h3>
<p>You need python 2.6 to run Plone 4.  OS X leopard comes default with an older python 10.5. For doing my Plone 3.X projects I use the python2.4 from macports, which works great, but macports for Leopard doesn&#8217;t have a python 2.6 package. Snow Leopard raised the bar by including support for both 32bit and 64bit in python, and causing a lot of pain to build other python versions from source, because they might link to the wrong 32bit or 64bit support libraries.</p>
<p>Florian Schulze created a buildout builds python 2.4/2.5 and 2.6 for you, paying attention to all the dependencies. It&#8217;s major goal was to simplify install on Snow Leopard but it works on Leopard 10.5 as well. Or: it should, because it doesn&#8217;t for me, it stops when trying to compile python 2.4. Solution: remove all references to python 2.4 and 2.5 from the buildout.cfg : you only need python 2.6 for Plone 4 and the other versions are already there from macports or the system python.  Hurdle one taken, I have a python 2.6.</p>
<h3>Distribute madness</h3>
<p>After fetching the Plone 4 development branch from <span style="text-decoration: underline;"><em>http://svn.plone.org/svn/plone/buildouts/plone-coredev/branches/4.0</em></span> ,  doing a <em><span style="text-decoration: underline;">python2.6 bootstrap.py</span></em> and running <span style="text-decoration: underline;">bin/buildout</span>, the buildout coun&#8217;t install mr.developer.</p>
<address># ImportError: &lt;module &#8217;setuptools.dist&#8217; from &#8216;/Users/fred/buildouts/pythons/python-2.6/lib/python2.6/site-packages/distribute-0.6.3-py2.6.egg/setuptools/dist.pyc&#8217;&gt; has no &#8216;check_packages&#8217; attribute<br />
# An error occured when trying to install mr.developer 1.1.Look above this message for any errors thatwere output by easy_install.</address>
<p>Now what. For some reason the included Distribute version was still stuck at 0.6.3, when 0.6.6. is the most recent version. So I created a python  2.6 virtualenv from my pythons 2.6 buildout (virtualenv-2.6 is created in the bin folder there) and installed  0.6.6 by using the easy_install from the newly created virtualenv. By the way, distribute is the succesor to the setuptools package.</p>
<p>After having a virutalenv with up to date distribute I used it to bootstrap my Plone 4 coredev buildout again and run bin/buildout. jay!</p>
<h3>mr.developer is drunk</h3>
<p>Buildout finished with a report that mr.developer couldn&#8217;t find some sources. You can list them by running bin/develop status, they have exclamation marks before them.  In particular, Products.CMFQuickInstaller and Products.PlacelessTranslationService were not installed by mr.developer in the src/ subfolder. I checked paths, checked with other sprinters, did an svn update, reran bin/buildout, nothing.  In the end I just did a manual svn checkout of the two packages with the links provided in the sources.cfg from the Plone4 core-dev in the src folder.</p>
<h3>Swallow the blue PILl</h3>
<p>bin/instance fg to start Plone 4 and&#8230;&#8230; we have no PIL module. Ah, right, I created a virtualenv without site-packages for the python2.6 to install Distribute. Been there, done that. There&#8217;s an easy way to add the Python Imaging (alias PIL) to your virtualenv by running <span style="text-decoration: underline;">easy_install http://dist.plone.org/thirdparty/PILwoTk-1.1.6.4.tar.gz . </span></p>
<p>And we&#8217;re up and running with a Plone 4 test buildout on OS X Leopard 10.5 . Finally.</p>
<h3>Update 1</h3>
<p>Apparently I had a serious headache or my macports was messed up when I search for Python 2.6 in macports two weeks ago. Alec Mitchell points out it has been there for a long time, just search for with <span style="text-decoration: underline;">port search  python26</span>. After installing python 2.6 with sudo port install python26 and not forgetting to install py26-pil as well, all of the above mentionned problems with distribute and mr.developer are gone. Pfew.</p>
<p><img class="aligncenter size-full wp-image-135" title="plone4" src="http://www.indentfour.com/blog/wp-content/uploads/2009/10/plone4.png" alt="plone4" width="446" height="287" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.indentfour.com/blog/2009/10/building-plone-4-0-core-dev-on-os-x-leopard-10-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deliverance theming for Plone with buildout</title>
		<link>http://www.indentfour.com/blog/2009/07/deliverance-theming-for-plone-with-buildout/</link>
		<comments>http://www.indentfour.com/blog/2009/07/deliverance-theming-for-plone-with-buildout/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 16:14:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[deliverance]]></category>
		<category><![CDATA[theming]]></category>

		<guid isPermaLink="false">http://www.indentfour.com/blog/?p=74</guid>
		<description><![CDATA[We are actively using Deliverance at Zest Software to theme a default Plone site  with a completely new skin. With Deliverance you run a &#8216;transformation&#8217; server in front of your website like a proxy, but as an added bonus (or more as its intended purpose) you select parts of pages that the Plone site serves [...]]]></description>
			<content:encoded><![CDATA[<p>We are actively using Deliverance at <a href="http://www.zestsoftware.nl/">Zest Software</a> to theme a default Plone site  with a completely new skin. With Deliverance you run a &#8216;transformation&#8217; server in front of your website like a proxy, but as an added bonus (or more as its intended purpose) you select parts of pages that the Plone site serves and insert these snippets like the content, main navigation and support menu&#8217;s  into placeholders from a static html template with css and images on the file system.</p>
<p>Deliverance is being experimented with and put to production use by many organisations/people already . There are quite some blog posts and notes on the web, but Documentation and howto&#8217;s are still below the level of  more mature (read: older) projects. The <a href="http://deliverance.openplans.org/">official deliverance 0.3 documentation</a> gives a thorough overview of commands and transformation, but doesn&#8217;t present much real world usage or a full &#8216;howto&#8217;. This is not surprising since deliverance is so general in nature (fetch, transform/merge and deliver). Your individual documentation needs really depend on the sources from which you want to merge.</p>
<p><strong>Installing with buildout</strong></p>
<p>We are using buildout to develop all our Plone Sites. In the Plone Collective there&#8217;s an <a href="http://svn.plone.org/svn/collective/deliverancedemo/">example buildout &#8216;deliverancedemo&#8217;</a> that sets up a Plone site and deliverance server for you.</p>
<p>There&#8217;s a <a href="http://www.coactivate.org/projects/sorrento-sprint-2009/deliverance-documentation/">howto in the works</a> for this example buildout, based on excellent presentations given by Nate Aune. At the Plone Symposium 2009 sprint in Sorrento I&#8217;ve helped a bit with the tutorial and got my first live experience with Deliverance. The tutorial is still a work in progress.  This blog post is mainly a collection of things I&#8217;ve run into so far, not a structured &#8220;do this, do that&#8221;.</p>
<p>One of deliverance&#8217;s requirements is python lxml, which in turn needs the libxml2 and libxslt libraries. Especially on Mac OS X these libraries can cause a lot of headaches, hence the z3c.recipe.staticlxml recipe to compile them static and not use the OS X system libraries.</p>
<p>One caveat here is that the recipe depends on zc.recipe.cmmi to compile the libraries but fails to create a &#8216;downloads&#8217; directory in your main buildout. So create the downloads dir or make sure it&#8217;s in your buildouts svn repository.</p>
<p>Once you have the buildout running you can start the Plone site with bin/instance, and deliverance with &#8220;bin/deliverance-proxy rules.xml&#8221;</p>
<p><strong>Default transforms</strong></p>
<p>Deliverance does some default actions without you specifiying them in the rules.xml . This bit us while experimenting when we wanted to override which javascript/css was copied from the Plone site into the theme. You can s<a href="http://deliverance.openplans.org/configuration.html#standard-actions-and-suppress-standard">uppress these default actions</a> using the  <em>suppress-standard=&#8221;1&#8243;</em> attribute on a rule container so that you can specify your own.</p>
<p><strong>Switching themes</strong></p>
<p>Our deliverance project at work needs a slightly different theme for the homepage and second level pages. In the rules.xml you set the default theme to use with:</p>
<p><code>&lt;theme href="/static/index.html" /&gt;</code></p>
<p>Between the ruleset as the default template to use for merging your content into. Rules can be specified for certain classes only.</p>
<p><code><span style="font-family: -webkit-monospace; line-height: 14px;">&lt;theme href="/static/index.html" /&gt;</span><br />
&lt;match path="regex:^/$"/&gt;<br />
&lt;rule class="homepage&gt;<br />
&lt;theme href="/static/homepage.html"/&gt;<br />
&lt;/rule&gt;<br />
</code></p>
<p>This will use /static/index.html as the default page, but for the exact path &#8220;/&#8221; switch to static/homepage.html . Note that you can use <a href="http://deliverance.openplans.org/configuration.html#string-matching">hints like &#8216;regexp:&#8217; or &#8216;exact:&#8217;</a> in any rule attribute that does string matching. Without this &#8216;regexp&#8217; the path attribute in the match action would have matched any request since the default for path attributes is prefix matching.</p>
<p><strong>Feeding javascript/css into the theme</strong></p>
<p>Putting content from the plone site in to a static theme is rather straighforward, excitement starts when you also want to provide Plone&#8217;s editing functionality in the deliverance served site.</p>
<p>Plone uses quite some css and javascript for the content editing. A standard Plone site will not include &#8216;authoring.css&#8217; for anonymous users but add this into the head with an  @import when a user is logged in. Rules for this are set in the css_registry tool in the Plone site.</p>
<p>Ideally you would not want to use any css or javascript from the Plone site, but to support the editing styles you then have to select and copy everything necessary from the Plone styles in your static template. And anonymous visitors would still receive all the unnecessary authoring css.</p>
<p>Deliverance has some fancy CSS3 selector action that let you check on attributes in tags in the content and copy them for the theme. So could use</p>
<p><code> &lt;prepend content="link[href *= 'authoring']" theme='children:/html/head' /&gt;</code></p>
<p>to copy a link tag with an href attribute to something with &#8216;authoring&#8217; in the head section.  But this will only work if you set the rendering type of the css resource in the css_registry to &#8216;link&#8217;. By default it is set to import, but you cannot select this @import with the help of CSS3 selectors.</p>
<p>Plone also cleverly merges css resources registered in the css_registry into single files with a new name including a hash, for example &#8216;authoring-cachekey0936.css&#8217;.  This file then contains the authoring.css and every css below this file in the registry if it has marked as mergeable and the same rendering type. If you want to include ONLY authoring.css with Deliverance you will also have to turn off &#8216;merging&#8217;.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-83" title="Plone css_registry" src="http://www.indentfour.com/blog/wp-content/uploads/2009/07/cssregistry-authoringcss.png" alt="Plone css_registry" width="522" height="119" /></p>
<p style="text-align: left; ">To make this easier we have still created a Plone theme for the site, even though Deliverance is sitting in front doing the main themeing. The plone theme doesn&#8217;t do much theming, but settings like these are easy to configure on the filesystem using Generic Setup in your theme&#8217;s profiles/default/cssregistry.xml</p>
<p style="text-align: left;"><strong>Where&#8217;s the code?</strong></p>
<p style="text-align: left;">Once we&#8217;re done with the initial version of  project we are working on now, the buildout and theme will be released on the Plone collective to serve as another example. The more examples, the merrier.</p>
<p style="text-align: left;"><strong>Other resources:</strong></p>
<p>As stated there are a lot of individual blog posts online, and the <a href="http://deliverance.openplans.org">official documentation site</a> obviously to begin with. Two  gems I found:</p>
<p><a href="http://macadames.wordpress.com/2009/05/23/some-deliverance-tips/">Macadames Blog</a> : Tips on {SERVER_NAME} in your rules, apache virtualhost config and integration with PyQuery.</p>
<p>Ian Bickings&#8217; <a href="http://codespeak.net/svn/z3/deliverance/sandbox/ianb/ploneconf2008/index.txt">PloneConf 2008 Deliverance presentation notes</a>. These are buried in an svn sandbox but provide some very cool real world use cases with solutions and rule examples.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indentfour.com/blog/2009/07/deliverance-theming-for-plone-with-buildout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>zc.buildout and broken product distros</title>
		<link>http://www.indentfour.com/blog/2009/06/zc-buildout-and-broken-product-distros/</link>
		<comments>http://www.indentfour.com/blog/2009/06/zc-buildout-and-broken-product-distros/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 00:27:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[buildout]]></category>

		<guid isPermaLink="false">http://www.indentfour.com/blog/?p=65</guid>
		<description><![CDATA[This one had biten me a few months ago and now again. A customer project includes the PloneSurvey product and downloads the package from www.plone.org plone.recipe.distros . No it doesn&#8217;t. If you try to download the package you get a 0 bytes tar file. Probably a left over from the file migration in the Plone [...]]]></description>
			<content:encoded><![CDATA[<p>This one had biten me a few months ago and now again. A customer project includes the PloneSurvey product and downloads the package from www.plone.org plone.recipe.distros . No it doesn&#8217;t. If you try to download the package you get a 0 bytes tar file. Probably a left over from the file migration in the Plone Software Center.</p>
<blockquote><p>http://plone.org/products/plone-survey/releases/1.2.0/plonesurvey.tar<strong> (don&#8217;t use this)</strong></p></blockquote>
<p>And buildout doesn&#8217;t complain. You only spot it later when you see Broken product references in the instance logs and see a &#8220;Product Removed&#8221; notice in the portal_quickinstaller in a site where it still was installed. Sigh.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indentfour.com/blog/2009/06/zc-buildout-and-broken-product-distros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
