<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Encolpe's What ? &#187; planet</title>
	<atom:link href="http://encolpe.wordpress.com/category/planet/feed/" rel="self" type="application/rss+xml" />
	<link>http://encolpe.wordpress.com</link>
	<description>Life is freedom and respect</description>
	<lastBuildDate>Mon, 29 Jun 2009 06:39:31 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/d07731bee1d25c72c9e7a3edbf33b0bb?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Encolpe's What ? &#187; planet</title>
		<link>http://encolpe.wordpress.com</link>
	</image>
			<item>
		<title>collective.releaser missing releases and upload bug</title>
		<link>http://encolpe.wordpress.com/2009/06/29/collective-releaser-missing-releases-and-upload-bug/</link>
		<comments>http://encolpe.wordpress.com/2009/06/29/collective-releaser-missing-releases-and-upload-bug/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 23:42:46 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[Quadra Informatique]]></category>
		<category><![CDATA[collective.releaser]]></category>
		<category><![CDATA[bug]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=186</guid>
		<description><![CDATA[Since few weeks we have problems to use collective.releaser when we use release-packages: packages are not uploaded to our private pypi or are published in pypi when they should be private and public packages are not published at all.
collective.releaser seems be a victim of this bug as the 0.6.2 release was never published on pypi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=186&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Since few weeks we have problems to use collective.releaser when we use <em><strong>release-packages</strong></em>: packages are not uploaded to our private pypi or are published in pypi when they should be private and public packages are not published at all.<br />
<em>collective.releaser</em> seems be a victim of this bug as the 0.6.2 release was never published on pypi even if the tag was done 2 months ago.</p>
<p>Today ready this:<br />
<a href="http://dev.plone.org/collective/browser/collective.releaser/tags/0.6.2/collective/releaser/commands.py#L107">collective/releaser/commands.py:L107</a></p>
<p>Line 110, when the expression is matching something the loop continues, then in the line 117 an empty list is in found sometimes.</p>
<p>If you add these two lines after the line 112 you can again upload your releases in cheeseshops:</p>
<pre style="background-color:#e2ebf8;">if founded != []:
    break</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/186/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=186&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2009/06/29/collective-releaser-missing-releases-and-upload-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>Heads up: new plone.recipe.pound release</title>
		<link>http://encolpe.wordpress.com/2009/06/03/heads-up-new-plone-recipe-pound-release/</link>
		<comments>http://encolpe.wordpress.com/2009/06/03/heads-up-new-plone-recipe-pound-release/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 00:42:32 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Plone 3.0]]></category>
		<category><![CDATA[Plone 3.1]]></category>
		<category><![CDATA[Plone 3.2]]></category>
		<category><![CDATA[Plone 3.3]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[plone.recipe.pound]]></category>
		<category><![CDATA[zc.recipe.cmmi]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=182</guid>
		<description><![CDATA[Since few weeks plone.recipe.pound 0.5.4 was broken with an output like this:
An internal error occured due to a bug in either zc.buildout or in a recipe being used:
Traceback (most recent call last):
File "/tmp/tmpVcq-b1/zc.buildout-1.2.1-py2.4.egg/zc/buildout/buildout.py", line 1509, in main
File "/tmp/tmpVcq-b1/zc.buildout-1.2.1-py2.4.egg/zc/buildout/buildout.py", line 473, in install
File "/tmp/tmpVcq-b1/zc.buildout-1.2.1-py2.4.egg/zc/buildout/buildout.py", line 1091, in _call
File "/home/encolpe/.virtualenvs/internal/preprod/plone.recipe.pound/plone/recipe/pound/build.py", line 74, in install
installed = CMMIRecipe.install(self)
File "/home/encolpe/.virtualenvs/internal/preprod/downloads/dist/zc.recipe.cmmi-1.2.0/src/zc/recipe/cmmi/__init__.py", [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=182&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Since few weeks plone.recipe.pound 0.5.4 was broken with an output like this:</p>
<pre style="background-color:#E2EBF8;">An internal error occured due to a bug in either zc.buildout or in a recipe being used:
Traceback (most recent call last):
File "/tmp/tmpVcq-b1/zc.buildout-1.2.1-py2.4.egg/zc/buildout/buildout.py", line 1509, in main
File "/tmp/tmpVcq-b1/zc.buildout-1.2.1-py2.4.egg/zc/buildout/buildout.py", line 473, in install
File "/tmp/tmpVcq-b1/zc.buildout-1.2.1-py2.4.egg/zc/buildout/buildout.py", line 1091, in _call
File "/home/encolpe/.virtualenvs/internal/preprod/plone.recipe.pound/plone/recipe/pound/build.py", line 74, in install
installed = CMMIRecipe.install(self)
File "/home/encolpe/.virtualenvs/internal/preprod/downloads/dist/zc.recipe.cmmi-1.2.0/src/zc/recipe/cmmi/__init__.py", line 155, in install
system("make install")
File "/home/encolpe/.virtualenvs/internal/preprod/downloads/dist/zc.recipe.cmmi-1.2.0/src/zc/recipe/cmmi/__init__.py", line 27, in system
raise SystemError("Failed", c)
SystemError: ('Failed', 'make install')</pre>
<p>This recipe directly unherit from zc.recipe.cmmi and act as a wrapper around the CMMIRecipe.install method. Most arguments used are transmitted to the recipe are self attributes or keys in self.options. The version 1.2.0 of this recipe publish the May, 18 moved the way that extra arguments are transmitted:</p>
<ul>
<li>zc.recipe.cmmi 1.1.x:  self.options['extra_options']</li>
<li>zc.recipe.cmmi 1.2.0: self.extra_options (an empty string by default)</li>
</ul>
<p>There&#8217;s no regression tests, neither an entry in the release history. Youenn did a new release of plone.recipe.pound to fix this new behavior.</p>
<p>Morality:</p>
<ul>
<li>if you are using zc.recipe.cmmi 1.1.x you can still use plone.recipe.pound 0.5.4</li>
<li>if you are using zc.recipe.cmmi 1.2.0 or above use plone.recipe.pound 0.5.5</li>
<li>other recipes using zc.recipe.cmmi may be broken</li>
</ul>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/182/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=182&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2009/06/03/heads-up-new-plone-recipe-pound-release/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>Install a maintenance page without restarting apache</title>
		<link>http://encolpe.wordpress.com/2009/05/08/install-a-maintenance-page-without-restarting-apache/</link>
		<comments>http://encolpe.wordpress.com/2009/05/08/install-a-maintenance-page-without-restarting-apache/#comments</comments>
		<pubDate>Thu, 07 May 2009 22:19:54 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Plone 3.2]]></category>
		<category><![CDATA[Zope2]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[zc.buildout]]></category>
		<category><![CDATA[fabric]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=167</guid>
		<description><![CDATA[These days we are working with fabric to remove some hazard in maintenance.
Recently someone gzip a Data.fs file in production and our customer loose 2 days of work. We choose to use fabric (http://www.nongnu.org/fab/) to limit command line working to the strict minimum.
Now, almost all procedures were added in a fabric factory, from the installation [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=167&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>These days we are working with fabric to remove some hazard in maintenance.<br />
Recently someone gzip a Data.fs file in production and our customer loose 2 days of work. We choose to use fabric (<a href="http://www.nongnu.org/fab/">http://www.nongnu.org/fab/</a>) to limit command line working to the strict minimum.</p>
<p>Now, almost all procedures were added in a fabric factory, from the installation of a development environment to the upgrade of the production server. In this last part, we search a solution to put a maintenance page without have to gain root privileges to restart the apache used in frontend. For static or CGI sites you can use a <em><strong>.htaccess</strong></em> file to override the global rules. For a stopped Zope server it doesn&#8217;t help much.</p>
<p>The goal is to use RewriteCond and RewriteRule in a such way that a static HTML file would be displayed when it exists. We can call it &#8216;<em>maintenance.html</em>&#8216; and rename it &#8216;<em>maintenance.html-disabled</em>&#8216; to let the site be displayed normally.</p>
<p>We start with a virtual host generated by <em><a href="http://pypi.python.org/pypi/iw.recipe.squid" target="_blank">iw.recipe.squid</a></em>:</p>
<pre style="background-color:#cadfed;">&lt;VirtualHost *:80&gt;
   ServerName www.gosseyn.fr

   RewriteEngine On
   RewriteLog /my/path/to/squid/parts/squid/log/rewrite_www.gosseyn.fr.log
   RewriteLogLevel 0

   CustomLog /my/path/to/squid//parts/squid/log/access_www.gosseyn.fr.log common
   ErrorLog /my/path/to/squid//parts/squid/log/error_www.gosseyn.fr.log

   ## common rules for squid rewrite rules
   RewriteRule ^(.*)$ - [E=BACKEND_LOCATION:127.0.0.1]
   RewriteRule ^(.*)$ - [E=BACKEND_PORT:8081]
   RewriteRule ^(.*)$ - [E=BACKEND_PATH:site]

   RewriteRule  ^/(.*)/$ http://127.0.0.1:3128/%{ENV:BACKEND_LOCATION}/%{ENV:BACKEND_PORT}/http/%{SERVER_NAME}/80/%{ENV:BACKEND_PATH}/__original_url__/$1 [L,P]
   RewriteRule  ^/(.*)$ http://127.0.0.1:3128/%{ENV:BACKEND_LOCATION}/%{ENV:BACKEND_PORT}/http/%{SERVER_NAME}/80/%{ENV:BACKEND_PATH}/__original_url__/$1 [L,P]

   ## specific rules base on cookie

&lt;/VirtualHost&gt;</pre>
<p>First we need to declare a document root and to bypass all security rules. We create a new path in the root of our buildout folder called &#8216;maintenances_pages&#8217;.</p>
<pre style="background-color:#cadfed;">   DocumentRoot /my/path/to/buildout/prod/maintenance_pages

   &lt;Directory "/my/path/to/buildout/prod/maintenance_pages"&gt;
       Options None
       AllowOverride None
       Order allow,deny
       allow from all

       &lt;LimitExcept GET&gt;
           Order allow,deny
           allow from all
       &lt;/LimitExcept&gt;
   &lt;/Directory&gt;</pre>
<p>These declaration should satisfy all paranoid BOFH.<br />
Now create a file called maintenance.html within the folder. All code (javascript, CSS and images) must be embeded, this is a limitation of this approach.<br />
Well, how to detect that a file exist on the filesystem from apache. You can do this with the <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteflags"><strong>flag &#8216;-f&#8217;</strong></a> from the rewrite module:</p>
<pre style="background-color:#cadfed;">    RewriteCond /my/path/to/buildout/prod/maintenance_pages/maintenance.html -f</pre>
<p>Then redirect all pages to our maintenance page:</p>
<pre style="background-color:#cadfed;">   RewriteCond %{REQUEST_URI} !/maintenance.html
   RewriteRule $ /maintenance.html [R=302,L]</pre>
<p>We also need to disable the standard rewrite rules. The easier way to do it is to use &#8216;<strong>!-f</strong>&#8216;.</p>
<pre style="background-color:#cadfed;">   RewriteCond /my/path/to/buildout/prod/maintenance_pages/maintenance.html !-f
   RewriteRule  ^/(.*)/$ http://127.0.0.1:3128/%{ENV:BACKEND_LOCATION}/%{ENV:BACKEND_PORT}/http/%{SERVER_NAME}/80/%{ENV:BACKEND_PATH}/__original_url__/$1 [L,P]
   RewriteCond /my/path/to/buildout/prod/maintenance_pages/maintenance.html !-f
   RewriteRule  ^/(.*)$ http://127.0.0.1:3128/%{ENV:BACKEND_LOCATION}/%{ENV:BACKEND_PORT}/http/%{SERVER_NAME}/80/%{ENV:BACKEND_PATH}/__original_url__/$1 [L,P]</pre>
<p>These rules will not be applied anymore when our maintenance file will be name &#8216;maintenance.html&#8217;. Our goal is reached.</p>
<p>The whole virtualhost file look like this:</p>
<pre style="background-color:#cadfed;">&lt;VirtualHost *:80&gt;
   ServerName www.gosseyn.fr

   RewriteEngine On
   RewriteLog /my/path/to/squid/parts/squid/log/rewrite_www.gosseyn.fr.log
   RewriteLogLevel 0

   CustomLog /my/path/to/squid//parts/squid/log/access_www.gosseyn.fr.log common
   ErrorLog /my/path/to/squid//parts/squid/log/error_www.gosseyn.fr.log

   DocumentRoot /my/path/to/buildout/prod/maintenance_pages

   &lt;Directory "/my/path/to/buildout/prod/maintenance_pages"&gt;
       Options None
       AllowOverride None
       Order allow,deny
       allow from all

       &lt;LimitExcept GET&gt;
           Order allow,deny
           allow from all
       &lt;/LimitExcept&gt;
   &lt;/Directory&gt;

   ## our maintenance page
   RewriteCond /my/path/to/buildout/prod/maintenance_pages/maintenance.html -f
   RewriteCond %{REQUEST_URI} !/maintenance.html
   RewriteRule $ /maintenance.html [R=302,L]

   ## common rules for squid rewrite rules
   RewriteRule ^(.*)$ - [E=BACKEND_LOCATION:127.0.0.1]
   RewriteRule ^(.*)$ - [E=BACKEND_PORT:8081]
   RewriteRule ^(.*)$ - [E=BACKEND_PATH:site]

   RewriteCond /my/path/to/buildout/prod/maintenance_pages/maintenance.html !-f
   RewriteRule  ^/(.*)/$ http://127.0.0.1:3128/%{ENV:BACKEND_LOCATION}/%{ENV:BACKEND_PORT}/http/%{SERVER_NAME}/80/%{ENV:BACKEND_PATH}/__original_url__/$1 [L,P]
   RewriteCond /my/path/to/buildout/prod/maintenance_pages/maintenance.html !-f
   RewriteRule  ^/(.*)$ http://127.0.0.1:3128/%{ENV:BACKEND_LOCATION}/%{ENV:BACKEND_PORT}/http/%{SERVER_NAME}/80/%{ENV:BACKEND_PATH}/__original_url__/$1 [L,P]

   ## specific rules base on cookie

&lt;/VirtualHost&gt;</pre>
<p>It will be difficult to include this in a recipe as we modify an existing virtualhost in a very specific way.</p>
<p>As usual, all feedbacks are appreciated.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=167&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2009/05/08/install-a-maintenance-page-without-restarting-apache/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>How to extend you Plone 3.2 buildout</title>
		<link>http://encolpe.wordpress.com/2009/03/16/how-to-extend-you-plone-32-buildout/</link>
		<comments>http://encolpe.wordpress.com/2009/03/16/how-to-extend-you-plone-32-buildout/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 15:12:01 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Plone 3.2]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[updating]]></category>
		<category><![CDATA[zc.buildout]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=149</guid>
		<description><![CDATA[Plone 3.2 and next comes with a hardcoded versions.cfg for each Plone release. For the current release:
http://dist.plone.org/release/3.2.2/versions.cfg
The Plone Upgrade Guide will show you how to transform a basic buildout created with paster:
http://plone.org/documentation/manual/upgrade-guide/version/upgrading-from-3-x-to-3.2
This solution will work until you already defined a &#8216;[versions]&#8216; section in your main buildout file. What we need is to merge the two [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=149&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Plone 3.2 and next comes with a hardcoded versions.cfg for each Plone release. For the current release:<br />
http://dist.plone.org/release/3.2.2/versions.cfg</p>
<p>The Plone Upgrade Guide will show you how to transform a basic buildout created with paster:<br />
http://plone.org/documentation/manual/upgrade-guide/version/upgrading-from-3-x-to-3.2</p>
<p>This solution will work until you already defined a &#8216;<strong>[versions]</strong>&#8216; section in your main buildout file. What we need is to merge the two &#8216;<strong>[versions]</strong>&#8216; sections.</p>
<p>For example, you current &#8216;<em>buildout.cfg</em>&#8216; looks like this:</p>
<pre style="background-color:#CADFED;">
[buildout]
...
eggs =
	archetypes.schematuning
	Products.CacheSetup
	Products.errornumber
	collective.recipe.omelette
	collective.workflowed
	Products.DCWorkflowGraph
	Products.PrintingMailHost
	plone.reload
	Products.PDBDebugMode
	Products.DocFinderTab

versions = versions

[versions]
zope.testing=3.5.1
zope.interface=3.4.1
Products.errornumber=1.2
archetypes.schematuning=1.1
Products.CacheSetup=1.2
</pre>
<hr />
<p>If you add <code style="background-color:#CADFED;">extends = http://dist.plone.org/release/3.2.2/versions.cfg</code> it will be overloaded by the local section displayed above and will be simply ignored by &#8216;<em>bin/buildout</em>&#8216;. If you run an update now all plone bundle eggs will be updated to the last published eggs (Plone 3.3b1, etc).<br />
The solution consist to use the &#8216;extends&#8217; directive to merge sections. For that we need to put your local &#8216;<strong>[versions]</strong>&#8216; section in a separate file.<br />
&#8216;<em>dev-versions.cfg</em>&#8216; will contain:</p>
<pre style="background-color:#CADFED;">
[versions]
zope.testing=3.5.1
zope.interface=3.4.1
Products.errornumber=1.2
archetypes.schematuning=1.1
Products.CacheSetup=1.2
</pre>
<hr />
<p>The &#8216;<em>buildout.cfg</em>&#8216; will contain: </p>
<pre style="background-color:#CADFED;">
[buildout]
...
eggs =
	archetypes.schematuning
	Products.CacheSetup
	Products.errornumber
	collective.recipe.omelette
	collective.workflowed
	Products.DCWorkflowGraph
	Products.PrintingMailHost
	plone.reload
	Products.PDBDebugMode
	Products.DocFinderTab

extends = <em>dev-versions.cfg</em> http://dist.plone.org/release/3.2.2/versions.cfg

versions = versions
</pre>
<hr />
<p>We can update now and verify our eggs versions:</p>
<ul>
<li>Plone 3.2.2</li>
<li>plone.app.locales 3.2.0</li>
<li>Products.CMFPlacefulWorkflow 1.4.0</li>
<li>Products.CacheSetup 1.2</li>
</ul>
<p>It is a certified Plone 3.2.2 installation with our specifics packages.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/149/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=149&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2009/03/16/how-to-extend-you-plone-32-buildout/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8216;Practical Plone 3&#8242; review</title>
		<link>http://encolpe.wordpress.com/2009/03/05/practical-plone-3-review/</link>
		<comments>http://encolpe.wordpress.com/2009/03/05/practical-plone-3-review/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 19:43:57 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Plone 3.0]]></category>
		<category><![CDATA[Plone 3.1]]></category>
		<category><![CDATA[Plone 3.2]]></category>
		<category><![CDATA[Plone 3.3]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Zope2]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[Practical Plone 3]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=140</guid>
		<description><![CDATA[I finished to read the long waited (read updates here  ) &#8216;Practical Plone 3&#8242; book. It reprensents a big amount of very good work.
If you want to begin in Plone or if you want a webmaster guide for your brand new Plone site the two first parts are designed for you. Each step of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=140&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I finished to read the long waited (<a href="http://destefano.wordpress.com/2008/11/24/practical-plone-3/">read updates here <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </a>) &#8216;Practical Plone 3&#8242; book. It reprensents a big amount of very good work.</p>
<p>If you want to begin in Plone or if you want a webmaster guide for your brand new Plone site the two first parts are designed for you. Each step of your needs are describe in a very good teaching way. </p>
<p>Parts are growing in difficulties. The first will show you how to install and what in installed in a default Plone site. The second part will learn you how to become the owner of your site by creating content and configuring it. The third part is for those who wanted to learn how to use addon products for Plone or want to customize Plone site: zc.buildout, PloneFormGen and ArchGenXML are presented here. The last part will show you some general needs around Plone: put Plone in production behind Apache or IIS with speed optimizations, and LDAP/Active Directory integration.</p>
<p>Even if the target of this book is beginners it was a very interresting reading for an old developper like me. If you don&#8217;t use it for yourself, you will use it to give answers to your end-users. I can only recommand everyone to buy it. Nice work guys.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=140&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2009/03/05/practical-plone-3-review/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>Don&#8217;t forget to write tests for your patches</title>
		<link>http://encolpe.wordpress.com/2009/02/24/dont-forget-to-write-tests-for-your-patches/</link>
		<comments>http://encolpe.wordpress.com/2009/02/24/dont-forget-to-write-tests-for-your-patches/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 10:49:31 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Plone 3.2]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[report]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=119</guid>
		<description><![CDATA[As all new major releases Plone 3.2 is heavy tested by early integrators that want the new version. They report bugs and sometimes patches. Hopefully most of them are using &#8217;svn diff&#8217; or &#8216;diff -u&#8217; to prepare those patchesinstead of saying: &#8220;Replace the line XX by this and add that line here&#8221;&#8230;
But the one thing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=119&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As all new major releases Plone 3.2 is heavy tested by early integrators that want the new version. They report bugs and sometimes patches. Hopefully most of them are using &#8217;svn diff&#8217; or &#8216;diff -u&#8217; to prepare those patchesinstead of saying: &#8220;Replace the line XX by this and add that line here&#8221;&#8230;</p>
<p>But the one thing they never do it is to add a test to demonstrate their bugs. Then one of the maintainer have to take time to write a test around what (s)he think to be the bug. Often, the patch is just applied, Plone is growing with another untested code and the life continue.</p>
<p><strong>Please help maintainers: if you are able to write a patch you should be able to write the associated test.</strong></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=119&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2009/02/24/dont-forget-to-write-tests-for-your-patches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>Which mind mapper tool are you using ?</title>
		<link>http://encolpe.wordpress.com/2009/02/22/which-mind-mapper-tool-are-you-using/</link>
		<comments>http://encolpe.wordpress.com/2009/02/22/which-mind-mapper-tool-are-you-using/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 17:32:52 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[freemind]]></category>
		<category><![CDATA[mind mapping]]></category>
		<category><![CDATA[vym]]></category>
		<category><![CDATA[xmind]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=117</guid>
		<description><![CDATA[Since one year now I am using mind mapping tools to manage knowledge around private and professional projects. I tried only Open Source (but not always free) software :

FreeMind (http://freemind.sourceforge.net/wiki/index.php/Main_Page) is a standalone Java program
Xmind (http://www.xmind.net/) is an eclipse extension with a monthly subscription for the professional version
vym (http://www.insilmaril.de/vym/) is a Qt/C++ program

All are very [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=117&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Since one year now I am using mind mapping tools to manage knowledge around private and professional projects. I tried only Open Source (but not always free) software :</p>
<ul>
<li>FreeMind (<a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page" target="_blank">http://freemind.sourceforge.net/wiki/index.php/Main_Page</a>) is a standalone Java program</li>
<li>Xmind (<a href="http://www.xmind.net/" target="_blank">http://www.xmind.net/</a>) is an eclipse extension with a monthly subscription for the professional version</li>
<li>vym (<a href="http://www.insilmaril.de/vym/" target="_blank">http://www.insilmaril.de/vym/</a>) is a Qt/C++ program</li>
</ul>
<p>All are very intuitive and propose import/export for various format but only FreeMind have its Plone addon. It is a flash viewer for .mm files.<br />
None of them propose collaborative edition.</p>
<p>I didn&#8217;t find any python program that implement some mind mapping features in pypi neither on search engines.</p>
<p>In January we generalized the use of mind mapping tools and saw that a lot of us had started to use them since a while without communicate around this need. All these softwares can import map from mindmanager but they cannot import or export map from one of them. The work to merge all our maps to one format will be hard.</p>
<p>Which mind mapping tool are you using ?</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=117&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2009/02/22/which-mind-mapper-tool-are-you-using/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>Fix PIL 1.1.6 installation from sources under debian</title>
		<link>http://encolpe.wordpress.com/2009/02/20/fix-pil-116-installation-from-sources-under-debian/</link>
		<comments>http://encolpe.wordpress.com/2009/02/20/fix-pil-116-installation-from-sources-under-debian/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 23:25:37 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Plone 3.2]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[pil]]></category>
		<category><![CDATA[plonenext]]></category>
		<category><![CDATA[Tcl/Tk]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=107</guid>
		<description><![CDATA[Today I found a bug in kupu integration in Plone. I prepared a patch and I tried to reinstall plonenext environment. But this time it fails to install on the PIL egg.
The PIL egg is very dependant to your architecure. It depends of libjpeg, tkinter (tcl/tk), and some other libraries. I&#8217;m working with a Debian [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=107&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today I found a bug in kupu integration in Plone. I prepared a patch and I tried to reinstall plonenext environment. But this time it fails to install on the PIL egg.</p>
<p>The PIL egg is very dependant to your architecure. It depends of libjpeg, tkinter (tcl/tk), and some other libraries. I&#8217;m working with a Debian unstable with 3 versions of tcl/tk for various programs: 8.3, 8.4 and 8.5.</p>
<p>The errors was the following:</p>
<blockquote><p>getting distribution for &#8216;PIL&#8217;.<br />
libImaging/Effects.c:210: warning: ‘perlin_init’ defined but not used<br />
libImaging/Geometry.c:236: warning: ‘quadratic_transform’ defined but not used<br />
libImaging/Quant.c:311: warning: ‘test_sorted’ defined but not used<br />
libImaging/Quant.c:676: warning: ‘checkContained’ defined but not used<br />
libImaging/QuantHash.c:136: warning: ‘_hashtable_test’ defined but not used<br />
_imagingtk.c:20:16: error: tk.h: Aucun fichier ou répertoire de ce type<br />
_imagingtk.c:23: error: expected ‘)’ before ‘*’ token<br />
_imagingtk.c:31: error: expected specifier-qualifier-list before ‘Tcl_Interp’<br />
_imagingtk.c: In function ‘_tkinit’:<br />
_imagingtk.c:37: error: ‘Tcl_Interp’ undeclared (first use in this function)<br />
_imagingtk.c:37: error: (Each undeclared identifier is reported only once<br />
_imagingtk.c:37: error: for each function it appears in.)<br />
_imagingtk.c:37: error: ‘interp’ undeclared (first use in this function)<br />
_imagingtk.c:45: error: expected expression before ‘)’ token<br />
_imagingtk.c:51: error: ‘TkappObject’ has no member named ‘interp’<br />
_imagingtk.c:55: warning: implicit declaration of function ‘TkImaging_Init’<br />
error: Setup script exited with error: command &#8216;gcc&#8217; failed with exit status 1</p></blockquote>
<p>All development libraries was installed, but the installer cannot find <em>/usr/include/tk.h</em>. There are <em>/usr/include/tcl8.3/tk.h</em>, <em>/usr/include/tcl8.4/tk.h</em>, <em>/usr/include/tcl8.5/tk.h</em>. Then I wrote the little patch below for the setup.py file:</p>
<blockquote><p>Index: setup.py<br />
===================================================================<br />
&#8212; setup.py    (révision 460)<br />
+++ setup.py    (copie de travail)<br />
@@ -199,6 +199,9 @@<br />
add_directory(library_dirs, &#8220;/usr/lib&#8221;)<br />
add_directory(include_dirs, &#8220;/usr/include&#8221;)</p>
<p>+        if os.path.isfile(os.path.join(&#8217;/usr/include&#8217;, &#8216;tcl&#8217;+TCL_VERSION,&#8217;tk.h&#8217;)):<br />
+            add_directory(include_dirs, os.path.join(&#8217;/usr/include&#8217;, &#8216;tcl&#8217;+TCL_VERSION))<br />
+<br />
#<br />
# insert new dirs *before* default libs, to avoid conflicts<br />
# between Python PYD stub libs and real libraries</p></blockquote>
<p>I hope this patch is generic enough to be merged in the next Imaging release. Waiting this next release, I&#8217;m searching for a method to patch an egg before it is compiled by zc.buildout.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=107&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2009/02/20/fix-pil-116-installation-from-sources-under-debian/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>Why Plone architecture must change</title>
		<link>http://encolpe.wordpress.com/2008/10/06/why-plone-architecture-must-change/</link>
		<comments>http://encolpe.wordpress.com/2008/10/06/why-plone-architecture-must-change/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 22:10:39 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[CPS]]></category>
		<category><![CDATA[Plone 2.5]]></category>
		<category><![CDATA[Plone 3.0]]></category>
		<category><![CDATA[Plone 4.0]]></category>
		<category><![CDATA[Zope2]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-en]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[ploneconf2008]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=102</guid>
		<description><![CDATA[I proposed a conference on this theme but it was not keeped for PloneConf2008. Here comes a short work on its, and I will hope it create a debate.
Plone is born with a goal: make Zope 2 and CMF simple. Those two are frameworks and allowed you to create a website&#8230; a so rustic website. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=102&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I proposed a conference on this theme but it was not keeped for PloneConf2008. Here comes a short work on its, and I will hope it create a debate.</p>
<p>Plone is born with a goal: make Zope 2 and CMF simple. Those two are frameworks and allowed you to create a website&#8230; a so rustic website. With Plone you only needed to fill one form to have a cool site ready to use and to custom. At that time Plone was CMFPlone, an other implementation of CMFDefault.</p>
<p>Some new products were inserted in the bundle like GroupUserFolder in a such way that they cannot be separated from the base implementation of Plone.</p>
<p>The second step was the Archetypes framework: a new manner to manage object&#8217;s attributes as schema. With all informations stored in the schema,  mutators and accessors are generated on boot time and forms are generated from schema&#8217;s widgets. It was cool, but not perfect. Then the product ATcontentTypes was created to be the glue to upgrade CMFPlone as Plone: all base types from CMF are now overloaded by a type from ATContentTypes.</p>
<p>So came Zope 3 and Five. Five is the glue that allows Zope 2 developpers to use component architecture from Zope 3 in their code. Plone 2.5 and Plone 3 are using Five.</p>
<p>Another product came from Zope &#8216;renegades&#8217;: PluggableAuthService and its implementation in Plone: PlonePAS. It should replace the old GroupUserFolder but users and groups management templates were never refactored.</p>
<p>Plone 3 introduces new component in plone.app to our greatest happiness.</p>
<p>What part of Plone needs CMF?<br />
Why Plone needs to know about Archetypes storage and CMFEditions strategy?<br />
Why GroupUserFolder is always in the bundle as PlonePAS fit is API?</p>
<p>Now Plone is like the linux kernel: a big monolithic Plone with a lot of modules that create a base Plone 3 site. And so much glue! GroupUserFolder is always here because nobody knows and wants to work on the portal_group replacement.<br />
If you are following Plone4Artist or PloneGov you can see that a part of these projects needs to overload Plone base configuration.</p>
<p>CPS 3, an other CMF-based CMS, was conceived with the thinking that components need to be independant to be reusable and maintainable:</p>
<ul>
<li>CPSSchema depends only on Zope</li>
<li>CPSCore depends only on Zope</li>
<li>CPSDocument depends only on CPSSchema</li>
<li>CPSDefault depends on CPSCore and CPSSchema, and implements the CPS site.</li>
</ul>
<p>After 2 years it was divided into platforms:</p>
<ul>
<li>CPS Legacy</li>
<li>CPS Courier</li>
<li>CPS Groupware</li>
</ul>
<p>In front of that Plone propose at single product with a lot of glue that depends on others products or components that use their own glue and so on&#8230;<br />
There&#8217;s no plone.core and plone.default and we cannot create a plone.artistsite or a plone.govsite.<br />
Do you think that everyone need an openid or an ldap integration in Plone ?</p>
<p>Plone 4 must be a reimplementation, not only a new glue with new concepts. I don&#8217;t want any new functionality in Plone 4, I want modularity and scalability.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=102&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2008/10/06/why-plone-architecture-must-change/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
		<item>
		<title>La gestion des modules et des thèmes dans Drupal 6</title>
		<link>http://encolpe.wordpress.com/2008/10/02/la-gestion-des-modules-et-des-themes-dans-drupal-6/</link>
		<comments>http://encolpe.wordpress.com/2008/10/02/la-gestion-des-modules-et-des-themes-dans-drupal-6/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 11:43:11 +0000</pubDate>
		<dc:creator>encolpe</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[fr]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[planet-fr]]></category>
		<category><![CDATA[Drupal6]]></category>
		<category><![CDATA[fckeditor]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[Nexen]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://encolpe.wordpress.com/?p=94</guid>
		<description><![CDATA[Avant de me lancer dans la conception d&#8217;un thème j&#8217;ai voulu essayer de voir comment Drupal fonctionnait au niveau de la gestion des extensions. Tout d&#8217;abord les thèmes et les modules sont séparés ce qui permet d&#8217;intégrer plus facilement un concepteur graphique dans un projet. Les thèmes sont à rajouter dans &#8216;sites/all/themes&#8216; et les modules [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=94&subd=encolpe&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Avant de me lancer dans la conception d&#8217;un thème j&#8217;ai voulu essayer de voir comment Drupal fonctionnait au niveau de la gestion des extensions. Tout d&#8217;abord les thèmes et les modules sont séparés ce qui permet d&#8217;intégrer plus facilement un concepteur graphique dans un projet. Les thèmes sont à rajouter dans &#8216;<em>sites/all/themes</em>&#8216; et les modules dans &#8216;<em>sites/all/modules</em>&#8216;.</p>
<p>Je cours chercher un premier module à intégrer dans mon site: <a href="http://drupal.org/project/fckeditor"><strong>FCKeditor</strong></a>. J&#8217;utilise déjà cet éditeur en ligne dans Plone, cela me permettra de comparer la difficulté d&#8217;installation dans les deux cas.<br />
Pas de chance, ce module est relativement complexe à installer. Une fois l&#8217;archive décompressée dans votre arborescence il faut encore aller chercher une version de fckeditor sur son site officiel et la déposer dans le module. J&#8217;espère que la dernière version de FCKeditor est compatible avec cette version du module.<br />
Ensuite, pour avoir la possibilité d&#8217;utiliser un navigateur de fichier lors de l&#8217;édition des pages il faut encore suivre une procédure pour l&#8217;activer. Le fichier README est là pour me guider, mais la procédure est pour Drupal 5.2. Je croise les doigts.<br />
Au final, de retour dans l&#8217;interface de configuration des modules le menu FCKeditor est bien présent, mais il me demande d&#8217;aller configurer les permissions pour savoir si les anonymes et les utilisateurs authentifiés peuvent utiliser ce module&#8230; beaucoup de chose à faire pour avoir une installation fonctionnelle par défaut.</p>
<p>Les autres modules présents par défaut dans Drupal 6 présentent un niveau de complexité moins élevés dans le sens où il faut les activer (forum, blog, sondage,&#8230;) puis gérer les permissions.</p>
<p>Pour installer FCKeditor dans Plone il faut décompresser l&#8217;archive, redémarrer le serveur puis appuyer sur le bouton &#8216;installer&#8217; dans l&#8217;interface de configuration. L&#8217;installation est fonctionnelle immédiatement sans même avoir lu le README.</p>
<p>Pour moi c&#8217;est un mauvais point pour drupal : mes modules n&#8217;intègre aucune procédure d&#8217;installation automatique qui les rend fonctionnel<br />
immédiatement pour un débutant. Cela me ramène 4 ans en arrière pour le monde Zope.</p>
<p>Maintenant que je peux créer un peu de contenu je vais pouvoir m&#8217;atteler à la création d&#8217;un thème.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/encolpe.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/encolpe.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/encolpe.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/encolpe.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/encolpe.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/encolpe.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/encolpe.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/encolpe.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/encolpe.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/encolpe.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=encolpe.wordpress.com&blog=1743175&post=94&subd=encolpe&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://encolpe.wordpress.com/2008/10/02/la-gestion-des-modules-et-des-themes-dans-drupal-6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bfe0f9ff13a511088bc2e4e9f42ae808?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">encolpe</media:title>
		</media:content>
	</item>
	</channel>
</rss>