<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Christopher Warner</title>
	
	<link>http://weblog.kernelcode.com</link>
	<description>"So, it's not like the code is my brain; keep it"</description>
	<lastBuildDate>Sat, 31 Oct 2009 21:48:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ChristopherWarner" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Companion Video for Creating a Plone 3.x content type</title>
		<link>http://feedproxy.google.com/~r/ChristopherWarner/~3/-Zs6ypjb-Y8/</link>
		<comments>http://weblog.kernelcode.com/2009/09/30/companion-video-for-creating-a-plone-3-x-content-type/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 19:04:21 +0000</pubDate>
		<dc:creator>Christopher Warner</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://weblog.kernelcode.com/?p=263</guid>
		<description><![CDATA[A small group of heathens thought this video would be a really good idea so I did it and it’s about 25 minutes but hopefully it’s useful to you. I wanted to originally keep it under 10 minutes but there was too much to cover for the layman. However I think we hit every target [...]]]></description>
			<content:encoded><![CDATA[<p>A small group of heathens thought this video would be a really good idea so I did it and it’s about 25 minutes but hopefully it’s useful to you. I wanted to originally keep it under 10 minutes but there was too much to cover for the layman. However I think we hit every target pretty squarely for a first intro/walkthrough for a halfway decent python programmer.</p>
<p>I didn’t edit any of the idiot parts where we have obvious slip ups and it’s all off the cuff. This took quite possibly, all day, and by the time I was done I had my pool game to attend but I rushed and still had to sit for nearly an hour to encode. Then obviously another 10-15 minutes to upload at which point I had to leave. When I returned around 1am vimeo chewed on it for another hour (it seemingly did a really bad job so i’m cutting the video again for rerelease at a lower quality scale so maybe we can actually see it properly through out; if you can see it properly then I already did it). If I get good feedback; i’ll do these more often.</p>
<p>The original guide is available <a href="http://people.kernelcode.com/cwarner/2009/09/28/creating-a-content-type-for-plone-3-x/">here</a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="250" 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://vimeo.com/moogaloop.swf?clip_id=6828341&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="450" height="250" src="http://vimeo.com/moogaloop.swf?clip_id=6828341&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/6828341">Creating a Plone 3 Content Type</a> from <a href="http://vimeo.com/user1220847">Christopher Warner</a> on <a href="http://vimeo.com/">Vimeo</a>.</p>
<p>A walkthrough or guide of creating a Plone 3.x Content type via paster and using archetypes. The actual walk through is available here at http://people.kernelcode.com/cwarner/2009/09/28/creating-a-content-type-for-plone-3-x/</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://weblog.kernelcode.com/2009/02/10/random-cool/" rel="bookmark">Random Cool</a></li><li><a href="http://weblog.kernelcode.com/2009/03/30/opencalais/" rel="bookmark">OpenCalais</a></li><li><a href="http://weblog.kernelcode.com/2009/09/29/creating-a-content-type-for-plone-3-x/" rel="bookmark">Creating a Content Type for Plone 3.x</a></li><li><a href="http://weblog.kernelcode.com/2009/01/29/plone-where-is-it-useful-example-2/" rel="bookmark">Plone where is it useful? Example #2</a></li><li><a href="http://weblog.kernelcode.com/2009/05/15/on-twitter-and-my-first-book/" rel="bookmark">On twitter and my first book</a></li></ul></div><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fweblog.kernelcode.com%2F2009%2F09%2F30%2Fcompanion-video-for-creating-a-plone-3-x-content-type%2F&amp;linkname=Companion%20Video%20for%20Creating%20a%20Plone%203.x%20content%20type"><img src="http://weblog.kernelcode.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/ChristopherWarner/~4/-Zs6ypjb-Y8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://weblog.kernelcode.com/2009/09/30/companion-video-for-creating-a-plone-3-x-content-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://weblog.kernelcode.com/2009/09/30/companion-video-for-creating-a-plone-3-x-content-type/</feedburner:origLink></item>
		<item>
		<title>Creating a Content Type for Plone 3.x</title>
		<link>http://feedproxy.google.com/~r/ChristopherWarner/~3/bgavyZVXn8A/</link>
		<comments>http://weblog.kernelcode.com/2009/09/29/creating-a-content-type-for-plone-3-x/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 04:37:27 +0000</pubDate>
		<dc:creator>Christopher Warner</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://weblog.kernelcode.com/?p=261</guid>
		<description><![CDATA[So you have installed Plone now you want to get to the business of filling it with all of your content. You start by searching on the Plone website for a way to create your own custom content type so you can begin management of the data. However, it’s all a confusing mess to you; [...]]]></description>
			<content:encoded><![CDATA[<p>So you have installed <a href="http://www.plone.org/">Plone</a> now you want to get to the business of filling it with all of your content. You start by searching on the Plone website for a way to create your own custom content type so you can begin management of the data. However, it’s all a confusing mess to you; you’re a halfway decent programmer, but you’re not a brain surgeon and you want to go to lunch today.</p>
<p>Here is a straight-forward and quick way to do this with a Plone 3.x installation.</p>
<ol>1. Go to your Plone installation directory.<br />
2. Change directory to your zinstance/src directory so for example /home/cwarner/Plone/zinstance/src<br />
3. Run the command ../bin/paster create –list-template</ol>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689162_ZtEGQ-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689162_ZtEGQ-L.jpg" alt="" /></a></p>
<p>We have many templates to select from here but in our case we just want to create a simple content type based on Archetypes (a discussion on this later). So we’ll use the archetype template.</p>
<ol>1. Run the command ../bin/paster create -t archetype</ol>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689129_XJfWH-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689129_XJfWH-L.jpg" alt="" /></a></p>
<p>We are going to create a DVD content type to hold all of the information for our DVD’s. So we answer all the following questions:</p>
<ol>1. The title of our Project in this case I chose “DVD Content” because I was excited.2. The Namespace package question revolves around the namespace you want your content type to belong to. This is more programmer related and involves a discussions on namespaces but suffice to say that you don’t need to be too concerned at this point. You can safely leave it at the default of plone.</p>
<p>3. The package contained in the namespace you chose above. So for example if you chose “cool” for question two. In question three your choice would be appended to “cool”. So if we choose “ness” or “beans” for our answer here the final result will be “cool.ness” or “cool.beans”. Again this involves a discussion about Namespaces but for our example we just let it be “dvd”. So our final result would be “plone.dvd”</p>
<p>4. We are always creating a Zope 2 Product because Plone is still a Zope 2 application for all intents and purposes. There are things Plone can do that rely on Zope 3 but for compatibility purposes it’s currently Zope 2. So this question will mostly always be True at least for Plone 3.x</p>
<p>5. Version of the product; You can choose any version number you’d like!</p>
<p>6. Description of the product in one line; a short description is good here.</p>
<p>7. A longer description of the product. Notice the in reST in parenthesis; this just takes the longer description of your product and converts it into HTML so that it can be used to publish your package in a public repository.</p>
<p>8. The author’s name of the package; That’s me with a couple of typos</p>
<p>9. My email address which at this point all the spambots have chewed threw numerous times over</p>
<p>10. Keywords or Tags will help others find our project should we decide to publish it on PyPi which is the Python Packaging Index allowing other developers a chance to find our content-type. In this case because it’s just a one off content-type and an example we won’t be publishing for the masses so it doesn’t matter what you put here.</p>
<p>11. URL and home page can be anything. Normally people just put a link to the subversion repository for the code of our content-type; especially if it’s going to be published but you can put any valid URL here.</p>
<p>12. License of the content, whether it’s opensource or not. GPL, BSD, MIT, etc</p>
<p>13. Zip safe; This question for the most part dealing with Plone 3.x will always be False. This goes back to a time where packages/content types were distributed in zip form and in our case that will never be true.</ol>
<p>Great, now that we’ve created the base skeleton for what is to be our new content type we can list the files on the filesystem which reveals our newly created “dvd” directory.<br />
<span> </span><br />
<a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689184_kSJkB-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689184_kSJkB-L.jpg" alt="" /></a></p>
<p>We can now change directory into our dvd directory and list the filesystem. There are many files in here but for right now let us just run the following command.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689211_nLeBb-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689211_nLeBb-L.jpg" alt="" /></a></p>
<p>../../bin/paster addcontent -l</p>
<p>This gives us a handy list of all the available templates we can use to create our content type and not surprisingly the one we need is right there. “contenttye: A content type skeleton”. So let’s do it.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689249_taRga-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689249_taRga-L.jpg" alt="" /></a></p>
<ol> 1. Enter the contenttype_name; It’s a DVD, and this is what we are managing information about so we ‘DVD’ sounded like a good content type name2. The description of the DVD; we could of said “Digital Video Disc” but I didn’t think about it when I just typed that.</p>
<p>3. Is the content type folderish? This means that should we be able to create or add other content types into our DVD. For example this would come in handy lets say if we had a content type called Movies and in that content type we wanted to add other content types like a DVD or VHS. So we could have a Movie named “Cast Away” and if it was folderish add the DVD copy of the movie or the VHS copy of the movie, or whatever other content types we created that could be attributed to the parent Movie content type. In this case we don’t want to add anything else to our DVD content type so we answer False</p>
<p>4. Global_allow is a flag that allows us to add our DVD content type to anywhere in the hierarchy of our site.</p>
<p>5. Allow_discussion this allows commentary on the content type. This doesn’t mean commentary in the way most people think about it; at least not for our uses. Let us say one of our employees at TimexWarner (our fictional company) added a DVD to our database and we as the editors of this DVD collection came across an error. This would allow us to comment on the error and have that employee fix it. Or we could have a discussion about the validity of a piece of information attributed to a DVD, or the spelling of name all in private without affecting the piece of content on our public facing website or intranet.</ol>
<p>Once these questions are answered the skeleton of our content type has been created and we are almost halfway there.</p>
<p>Now remember the brief namespace non-explanation earlier? Here is where it comes into play we are going to change directories into plone and then into dvd. Remember (plone.dvd) if you chose something else as in (cool.beans) you’d be changing directories into cool/beans.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689262_B3GwJ-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689262_B3GwJ-L.jpg" alt="" /></a></p>
<p>Once we are in the dvd directory we see the “content” directory. This is the meat of the whole content-type so we change directory again and cd content and list the filesystem, we see three files. Great.. The one we are inerested in right now is the dvd.py file.</p>
<p>You can open this file with your favorite text editor. In my case that would usually be <a href="http://www.vim.org/">Vim</a> but lately i’ve been use something called <a href="http://macromates.com/">TextMate</a> and it’s proven to be quite capable.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689287_aBftv-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689287_aBftv-L.jpg" alt="" /></a></p>
<p>Here’s where we get to the point where you can begin adding what you consider a DVD to be made of in my case here are the attributes I need for every single DVD in my collection.</p>
<p>1. Publisher<br />
2. Length in running minutes of the DVD<br />
3. The ISBN<br />
4. The MPAA Rating of the DVD<br />
5. The color of the film whether it’s color or black &amp; white.</p>
<p>These are the only 5 attributes that are required of me and so we can begin adding this information to our skeleton Schema called “DVDSchema” on line 14.</p>
<p>We’ll begin at line 16 but first we are going to need two reference sheets and if you are going to be creating Plone Content types of on a regular basis it’ll help to have them printed out. Our <a href="http://plone.org/documentation/manual/archetypes-developer-manual/fields/fields-reference">Fields reference</a> and our <a href="http://plone.org/documentation/manual/archetypes-developer-manual/fields/widgets-reference#SelectionWidget">Widget reference</a>.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689356_oHZpP-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689356_oHZpP-L.jpg" alt="" /></a></p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663689339_p765e-A-LB"><img src="http://photos.applejollyrancher.com/photos/663689339_p765e-L.jpg" alt="" /></a></p>
<p>In the creation of our schema you’ll have a representative field that utilizes a widget. So lets start with each of our attributes.</p>
<blockquote><p>1. Publisher:<br />
<code>atapi.StringField(<br />
name='dvdPublisher',<br />
widget=atapi.StringWidget(<br />
label=u'DVD Publisher',<br />
label_msgid='PloneDvd_label_dvdPublisher',<br />
il8n_domain='PloneDvd',<br />
maxlength=50,<br />
size=50,<br />
),</code></p>
<p><code> </code></p>
<p><code> required=False,<br />
searchable=True<br />
)<br />
</code></p></blockquote>
<p>So the Publisher attribute has the following representation in our DVDSchema and it’s pretty straight forward. The name of the field is dvdPublisher and it’s a StringField. It is not required but it is searchable meaning that you can search the database for it. The StringWidget size and maxlength are 50 characters. We aren’t going to discuss the label_msgid and il8n_domain flags because it involves it’s own discussion or post in the future. In any event we will see how this correlates in a final picture but lets continue.</p>
<blockquote><p>2. Length in minutes<br />
<code>atapi.IntegerField(<br />
name='dvdLength',<br />
widget=atapi.IntegerWidget(<br />
label=u"DVD Length",<br />
label_msgid='PloneDvd_label_dvdLength',<br />
il8n_domain='PloneDvd',<br />
size=3<br />
),<br />
required=False,<br />
searchable=True<br />
),<br />
</code></p>
<p>3. ISBN Number<br />
<code>atapi.StringField(<br />
name='dvdISBN',<br />
widget=atapi.StringWidget(<br />
label=u'DVD ISBN',<br />
label_msgid='PloneDVD_label_dvdISBN',<br />
il8n_domain='PloneDvd',<br />
maxlength=13,<br />
size=13,<br />
), </code></p>
<p>required=False,<br />
searchable=True<br />
),</p>
<p>4. DVD MPAA Rating<br />
<code>atapi.StringField(<br />
name='dvdRating',<br />
widget=atapi.StringWidget(<br />
label=u'DVD MPAA Rating',<br />
label_msgid='PloneDVD_label_dvdRating',<br />
il8n_domain='PloneDvd'), </code></p>
<p>vocabulary=["G", "PG", "PG-13", "R", "NC-17"]<br />
required=False,<br />
searchable=False</p>
<p>5. DVD Film Color<br />
<code>atapi.StringField(<br />
name='dvdColor',<br />
widget=atapi.StringWidget(<br />
label=u'DVD Film Color',<br />
label_msgid='PloneDVD_label_dbdColor',<br />
il8n_domain='PloneDvd'), </code></p>
<p>vocabulary=["Black &amp; White", "Color"],<br />
required=False,<br />
searchable=True<br />
),</p></blockquote>
<p>The full schema should resemble something like this:</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663736453_iXwS7-A-LB"><img src="http://photos.applejollyrancher.com/photos/663736453_iXwS7-L.jpg" alt="" /></a></p>
<p>That complete we can save the file and from here the next step is getting our content type safely installed into Plone. This involves modifying our buildout configuration or buildout.cfg file. This file is usually located in your zope instance directory so in our case /home/cwarner/Plone/zinstance/buildout.cfg. Open the file in your favorite text editor and let’s begin modification. You want to search for the “Eggs” heading (an egg is simply a way of distributing a python package similar to a zip file or tarball if you are familiar with that) and add “dvd” into the section. As that’s the name of our content type that we are developing and it’s the name of the egg that will be created.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663789402_5YCvN-A-LB"><img src="http://photos.applejollyrancher.com/photos/663789402_5YCvN-L.jpg" alt="" /></a></p>
<p>Next we search for the “Development Eggs” section again; this is a content type that we are developing so we have to add “dvd” into the section as well but in this case we put the actual directory where our content type is located.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663789368_UV4rC-A-LB"><img src="http://photos.applejollyrancher.com/photos/663789368_UV4rC-L.jpg" alt="" /></a></p>
<p>Next up we add the ZCML slug for our content type package. So search for the ZCML slug section and recall the namespace non-discussion because it comes into play here. It will come up here again, so we chose plone for our parent namespace and dvd for our sub namespace which made it plone.dvd. If you chose cool then beans then you’d put cool.beans.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663789320_CbHaD-A-LB"><img src="http://photos.applejollyrancher.com/photos/663789320_CbHaD-L.jpg" alt="" /></a></p>
<p>Save the file and exit your favorite editor here. At this point we have to run buildout to re-read the configuration file and package and apply our content type so it’s ready for Plone on start/restart.</p>
<p>We will use the command bin/buildout -voN; which basically means run buildout in verbose mode, offline mode (we haven’t done anything that needs to be pulled from online) and in non-newest mode meaning that buildout won’t go out on the internet searching for new distributions of packages for Plone at this time.</p>
<p>Once complete Plone should have our new content type and we should be able to restart Plone and see it in our setup. Navigate your way to the add-on products section in Site Setup and you should see our content type listed there. Proceed to select it and install it and it should show up under the installed products section.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663789437_J9Vqr-A-LB"><img src="http://photos.applejollyrancher.com/photos/663789437_J9Vqr-L.jpg" alt="" /></a></p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663789474_DrQWd-A-LB"><img src="http://photos.applejollyrancher.com/photos/663789474_DrQWd-L.jpg" alt="" /></a></p>
<p>From here we are complete we can now add a piece of dvd content to Plone so let us try it.</p>
<p><a href="http://photos.applejollyrancher.com/Other/Project-work/9784217_xAxca/1/#663789606_YPAsu-A-LB"><img src="http://photos.applejollyrancher.com/photos/663789606_YPAsu-L.jpg" alt="" /></a></p>
<p>And we are done! There is so much more that one can do with your content type. As you become more versed in creating custom content types this will take you all of 10 minutes to do. Next in this series of what I’m calling ‘The Pre-book” we will be displaying your content data on a highly visible website with roughly 1 million unique visitors a day.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://weblog.kernelcode.com/2009/09/01/project-de-clutter/" rel="bookmark">Project De-clutter</a></li><li><a href="http://weblog.kernelcode.com/2009/03/03/my-snowday-partner/" rel="bookmark">My Snowday Partner</a></li><li><a href="http://weblog.kernelcode.com/2009/08/31/desk-clutter/" rel="bookmark">Desk clutter</a></li><li><a href="http://weblog.kernelcode.com/2008/12/13/blog-catchup-out-with-the-old-in-with-the-new/" rel="bookmark">Blog catchup, out with the old in with the new</a></li><li><a href="http://weblog.kernelcode.com/2009/03/03/more-on-object-databases/" rel="bookmark">More on Object Databases</a></li></ul></div><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fweblog.kernelcode.com%2F2009%2F09%2F29%2Fcreating-a-content-type-for-plone-3-x%2F&amp;linkname=Creating%20a%20Content%20Type%20for%20Plone%203.x"><img src="http://weblog.kernelcode.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/ChristopherWarner/~4/bgavyZVXn8A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://weblog.kernelcode.com/2009/09/29/creating-a-content-type-for-plone-3-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://weblog.kernelcode.com/2009/09/29/creating-a-content-type-for-plone-3-x/</feedburner:origLink></item>
		<item>
		<title>Plone deployment for www.gnome.org</title>
		<link>http://feedproxy.google.com/~r/ChristopherWarner/~3/6-LrzDHVHxE/</link>
		<comments>http://weblog.kernelcode.com/2009/09/23/plone-deployment-for-www-gnome-org/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 22:19:40 +0000</pubDate>
		<dc:creator>Christopher Warner</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://weblog.kernelcode.com/?p=259</guid>
		<description><![CDATA[So, Carsten is trying to get Plone deployed on socket.gnome.org this is just a public request to gnome-infrastructure or any gnome people who come across this that would be able to give us a hand with this. I have some free time so if for some reason we could get this done ASAP that would [...]]]></description>
			<content:encoded><![CDATA[<p>So, Carsten is trying to get Plone deployed on socket.gnome.org this is just a public request to gnome-infrastructure or any gnome people who come across this that would be able to give us a hand with this. I have some free time so if for some reason we could get this done ASAP that would be great! At least I’d like to see the site for the new gnome.org deployed.</p>
<p>I’m reading the archives now and Carsten already hit this up but I’d like to keep it moving.. I’ll ping it again myself but we’d like to push this through if possible. I’m pretty sure we can get this done within a couple of hours! This may have fallen through an email crack which is why I post here. If you are reading this in syndication somewhere; please check the list <img src="http://people.kernelcode.com/cwarner/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://weblog.kernelcode.com/2008/11/07/world-plone-day-2008/" rel="bookmark">World Plone Day 2008</a></li><li><a href="http://weblog.kernelcode.com/2008/07/19/gnome-plone-migration-update/" rel="bookmark">Gnome Plone Migration Update</a></li><li><a href="http://weblog.kernelcode.com/2007/12/30/random-update/" rel="bookmark">Random Update</a></li><li><a href="http://weblog.kernelcode.com/2008/01/25/new-york-media-content-management-etc/" rel="bookmark">New York Media Content Management etc.</a></li><li><a href="http://weblog.kernelcode.com/2008/06/04/off-she-goes/" rel="bookmark">Off she goes</a></li></ul></div><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fweblog.kernelcode.com%2F2009%2F09%2F23%2Fplone-deployment-for-www-gnome-org%2F&amp;linkname=Plone%20deployment%20for%20www.gnome.org"><img src="http://weblog.kernelcode.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/ChristopherWarner/~4/6-LrzDHVHxE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://weblog.kernelcode.com/2009/09/23/plone-deployment-for-www-gnome-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://weblog.kernelcode.com/2009/09/23/plone-deployment-for-www-gnome-org/</feedburner:origLink></item>
		<item>
		<title>Mac OSX 10.5, HFS+ needs an upgrade</title>
		<link>http://feedproxy.google.com/~r/ChristopherWarner/~3/6RV19i1j0Bc/</link>
		<comments>http://weblog.kernelcode.com/2009/09/09/mac-osx-10-5-hfs-needs-an-upgrade/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 00:27:47 +0000</pubDate>
		<dc:creator>Christopher Warner</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://weblog.kernelcode.com/?p=257</guid>
		<description><![CDATA[Recently i’ve been having problems with Finder and HFS+ in the simple process of copying files over my network. First a little background. This all started with Project De-clutter as I have a bunch of dvds sitting in a corner that I wanted to rip and store on my ZFS fileserver (this running OpenSolaris). It’s [...]]]></description>
			<content:encoded><![CDATA[<p>Recently i’ve been having problems with Finder and <a href="http://en.wikipedia.org/wiki/HFS_Plus">HFS+</a> in the simple process of copying files over my network. First a little background. This all started with <a href="http://people.kernelcode.com/cwarner/2009/09/01/project-de-clutter/">Project De-clutter </a>as I have a bunch of dvds sitting in a corner that I wanted to rip and store on my <a href="http://en.wikipedia.org/wiki/ZFS">ZFS</a> fileserver (this running <a href="http://www.opensolaris.com/">OpenSolaris</a>). It’s roughly 120+ dvds and the process itself has been slow in ripping via <a href="http://handbrake.fr/">Handbrake</a> and then moving them over to my <a href="http://www.popcornhour.com/onlinestore/">Popcorn hour A-100</a> via 100Mb which is dog slow but it’s not like I am moving these movies everyday (at least until this is complete). So the schedule is to keep myself on a 2-4 dvd a day ripping process.</p>
<p>That said the problem isn’t in the ripping even though we’ve had some issues there. The main problem is that HFS+ locks up the file and doesn’t release the lock. This is caused by I believe a couple of things all interacting at once. It seems if you have Time Machine running in the background while ripping a dvd the resulting file will be checked a couple of times if it’s locked by a process. Once the lock is released it then begins the backup of that file; there is an obvious window of time for this and the amount of times polled before it gives up is unknown. If you begin a copy of the file Finder will begin copying and eventually popup an error that the file is either in use or an unknown error has occurred. I’m just not sure about how it all exactly works yet but it’s quite annoying.</p>
<p>This led into me ripping straight to the zfs fileserver which is on a gigabit switch so slightly faster but still sub-optimal. So I remember having some inklings about ZFS on OSX and thought maybe i’d try that and low and behold it seems it was already on my system. With one caveat; I’d have to download the full ZFS read/write kext.</p>
<p><code>AppleJolly-Rancher-MacPro:~ christopherwarner$ sudo zpool<br />
Password:<br />
ZFS Readonly implemntation is loaded!<br />
To download the full ZFS read/write kext with all functionality enabled, please go to http://developer.apple.com<br />
Read-Only ZFS Implementation<br />
missing command<br />
usage: zpool command args ...<br />
where 'command' is one of the following: </code></p>
<p>list [-H] [-o field[,field]*] [pool] &#8230;<br />
iostat [-v] [pool] &#8230; [interval [count]]<br />
status [-vx] [pool] &#8230;</p>
<p>online &lt;pool&gt; &lt;device&gt; &#8230;<br />
offline [-t] &lt;pool&gt; &lt;device&gt; &#8230;</p>
<p>scrub [-s] &lt;pool&gt; &#8230;</p>
<p>import [-d dir] [-D]<br />
import [-d dir] [-D] [-f] [-o opts] [-R root] -a<br />
import [-d dir] [-D] [-f] [-o opts] [-R root ] &lt;/pool&gt; &lt;pool | id&gt; [newpool]</p>
<p>history [&lt;/pool&gt; &lt;pool&gt;]&lt;/pool&gt;&lt;/device&gt;&lt;/pool&gt;&lt;/device&gt;&lt;/pool&gt;</p>
<p>Nice, I have a terabyte drive laying about somewhere, I’m sure. Although I was planning to upgrade to Snow Leopard at some point in the near future. Seeing as I haven’t heard of any major regressions in the first week seemed like a good time to lose yet another night of sleep and push this De-clutter project forward. Turns out, ZFS is missing from Snow Leopard and no one is saying anything on the issue. I suspect this has a lot to do with the fact that Oracle purchased Sun and Apple doesn’t want to find themselves in an untenable position. Also, considering Snow Leopard was supposed to be a clean up release it wouldn’t have made sense, it’s still not stable. So the decision which ever way it went is understandable.</p>
<p>Unfortunately because HFS+ sucks i’ll have to revert to ZFS on Opensolaris over a gig connect if I’m going to upgrade. This filesystem situation at this point is only going to become worst with time. Not just for myself but for lots of people who are now consolidating their content. Hopefully; something is done.</p>
<p>SOCIAL NETWORKING RULES:<br />
<em>disclaimer: this entry or note as it is syndicated to facebook doesn’t actually mean I wrote it on facebook or even published it at the time you see it. Which means if you see it and happen to bring it up at a party where i’m trying to have fun.. I probably will not want to talk about it or explain what it means. I still love you though so sans entertaining myself whatever you want!. <img src="http://people.kernelcode.com/cwarner/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> </em></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://weblog.kernelcode.com/2009/09/01/project-de-clutter/" rel="bookmark">Project De-clutter</a></li><li><a href="http://weblog.kernelcode.com/2008/11/07/world-plone-day-2008/" rel="bookmark">World Plone Day 2008</a></li><li><a href="http://weblog.kernelcode.com/2009/02/10/random-cool/" rel="bookmark">Random Cool</a></li><li><a href="http://weblog.kernelcode.com/2009/09/29/creating-a-content-type-for-plone-3-x/" rel="bookmark">Creating a Content Type for Plone 3.x</a></li><li><a href="http://weblog.kernelcode.com/2008/12/26/opensolaris-zfs-timemachine-backup-server/" rel="bookmark">Opensolaris ZFS + TimeMachine Backup Server</a></li></ul></div><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fweblog.kernelcode.com%2F2009%2F09%2F09%2Fmac-osx-10-5-hfs-needs-an-upgrade%2F&amp;linkname=Mac%20OSX%2010.5%2C%20HFS%2B%20needs%20an%20upgrade"><img src="http://weblog.kernelcode.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/ChristopherWarner/~4/6RV19i1j0Bc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://weblog.kernelcode.com/2009/09/09/mac-osx-10-5-hfs-needs-an-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://weblog.kernelcode.com/2009/09/09/mac-osx-10-5-hfs-needs-an-upgrade/</feedburner:origLink></item>
		<item>
		<title>Project De-clutter</title>
		<link>http://feedproxy.google.com/~r/ChristopherWarner/~3/G04awpu380E/</link>
		<comments>http://weblog.kernelcode.com/2009/09/01/project-de-clutter/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 10:02:06 +0000</pubDate>
		<dc:creator>Christopher Warner</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://weblog.kernelcode.com/?p=255</guid>
		<description><![CDATA[
clutter &#124;?kl?t?r&#124; noun – a collection of things lying about in an untidy mass.
So, today I started the process of getting rid of some of the clutter from my desk area but first I wanted to work on the unsightly wire situation. This turned into an exercise primarily in futility and basically a FULL. DAY. [...]]]></description>
			<content:encoded><![CDATA[<p><img title="Project Declutter" src="http://photos.applejollyrancher.com/photos/636348615_YvX6i-M.jpg" alt="clut . ter" /></p>
<p><strong><em>clutter |?kl?t?r| noun – a collection of things lying about in an untidy mass.</em></strong></p>
<p>So, today I started the process of getting rid of some of the clutter from my desk area but first I wanted to work on the unsightly wire situation. This turned into an exercise primarily in futility and basically a FULL. DAY. EXERCISE. It turns out that no matter how well the cables are organized it falls back to the placement of the electrical outlets. Which keeps it looking completely cluttered. I’m currently considering just getting a mat and covering the whole thing at this point. Actually I do have a mat now that I think about it. It just happens to have been urinated on recently but it’s 2am at the time of this writing.. I guess I could drive to the 24hr laundromat and chuck it in the wash. In any event..<br />
<img title="Before" src="http://photos.applejollyrancher.com/photos/636347911_LcmpZ-S.jpg" alt="Dusty" width="199" height="300" /> <img title="After" src="http://photos.applejollyrancher.com/photos/636346889_TbCbs-S.jpg" alt="After" width="199" height="300" /><br />
<strong>Before &amp; After</strong></p>
<p>I did get a lot of the dust and dirt that have built over the last 4 years up and the difference is pretty much night and day. This involved a mixture of rubbing alcohol, hydrogen peroxide, water and soap. You can cut all of those into a bowl.. a 1/4 for each substance. The wipe down should be quick (use a soft sponge) and you don’t want the mixture to pool or sit on the wood floor because with enough time it will soak it in and that would suck for you. So you’ll want a bunch of paper towel on hand (Costco currently has Bounty 12 MEGA ROLLS on sale) Also, on the base boards you’ll want to have a can of compressed air handy so you can blow out any moisture that may get stuck in the crevices. Also, don’t forget because of the dust it’s a good idea to have a fan blowing out a window or away from you. Once everything is pulled up and dry I recommend a light layer of “<a href="http://www.scrubbingbubbles.com/">Scrubbing Bubbles</a>” Bathroom cleaner.. This stuff removes soap scum but it also removes engrained dirt that didn’t come up the first time around pretty well.. I love this stuff now and use it on everything (4 bottle pack on sale at Costco). Once that’s pulled up you’ll want to put down a light layer of Pledge and wipe that up immediately. Again; it’s not something you want to sit, be sure to put it on the baseboards as well.</p>
<p>The above will take a long time and most likely be painful.</p>
<p>Next up, for the actual desk clutter I came up with a simple formula. Remove anything from the desk that you have not used in a month. So, if I have not used it in 4 weeks, it’s obviously not something I use on a regular basis. So it can go in the closet until I need it. This formula turned out to be really effective (my apologies the photos lack light).</p>
<p><img src="http://photos.applejollyrancher.com/photos/636398001_WsrxV-M.jpg" alt="Simple Formula" /></p>
<p><img src="http://photos.applejollyrancher.com/photos/636343809_dhAEm-M.jpg" alt="Simple Formula" /></p>
<p>If an unfortunate act of fate it seems my red cactus has rotted. It’s strange because i’ve watered them once since I got them a couple weeks ago and it wasn’t that much water. The other orange one seems fine; i’ll have to go pick another 2 or 3 up.</p>
<p><img src="http://photos.applejollyrancher.com/photos/636406106_CsMhg-M.jpg" alt="Red Cactus killed." /></p>
<p>&lt;center&gt;<br />
<img src="http://photos.applejollyrancher.com/photos/636344560_oMcQH-M.jpg" alt="By myself" />&lt;/center&gt;</p>
<p>That said.. the process continues.. Tomorrow we start with the mess below. We’ll see how much I can get done. This may actually just need me to purchase a 16 or 24 port switch for this floor. It all started innocently, first the tivo, then backup server, video jukebox, actually I’m not even sure what else is hooked up here.<br />
<img src="http://photos.applejollyrancher.com/photos/636350670_whAbM-M.jpg" alt="Entangled Mess" /></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://weblog.kernelcode.com/2009/08/31/desk-clutter/" rel="bookmark">Desk clutter</a></li><li><a href="http://weblog.kernelcode.com/2009/03/03/my-snowday-partner/" rel="bookmark">My Snowday Partner</a></li><li><a href="http://weblog.kernelcode.com/2008/12/13/blog-catchup-out-with-the-old-in-with-the-new/" rel="bookmark">Blog catchup, out with the old in with the new</a></li><li><a href="http://weblog.kernelcode.com/2009/09/29/creating-a-content-type-for-plone-3-x/" rel="bookmark">Creating a Content Type for Plone 3.x</a></li><li><a href="http://weblog.kernelcode.com/2009/03/31/opencalais-example/" rel="bookmark">OpenCalais Example</a></li></ul></div><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fweblog.kernelcode.com%2F2009%2F09%2F01%2Fproject-de-clutter%2F&amp;linkname=Project%20De-clutter"><img src="http://weblog.kernelcode.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a><img src="http://feeds.feedburner.com/~r/ChristopherWarner/~4/G04awpu380E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://weblog.kernelcode.com/2009/09/01/project-de-clutter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://weblog.kernelcode.com/2009/09/01/project-de-clutter/</feedburner:origLink></item>
	</channel>
</rss>
