<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sapere aude! &#187; plone</title>
	<atom:link href="http://dukebody.com/tag/plone/feed/" rel="self" type="application/rss+xml" />
	<link>http://dukebody.com</link>
	<description>Dare to know - Atrévete a servirte de tu propia razón</description>
	<lastBuildDate>Sun, 04 Jul 2010 23:19:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Plone 3 Multimedia review</title>
		<link>http://dukebody.com/2010/07/plone-3-multimedia-review/</link>
		<comments>http://dukebody.com/2010/07/plone-3-multimedia-review/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 23:18:14 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=181</guid>
		<description><![CDATA[
Time for a new review of a Plone book! This time it&#8217;s Plone 3 Multimedia, by Tom Gross, and published by, guess who&#8230; Packt Publishing! One would say that Packt has a really good marketing team. :P
The mistake in the title is here strikes once again, since most of the book, if not it all, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packtpub.com/plone-3-3-multimedia-website/book?utm_source=dukebody.com&amp;utm_medium=link&amp;utm_content=blog&amp;utm_campaign=mdb_003341"><img class="alignright size-full wp-image-182" style="border: medium none;" title="Plone 3 Multimedia" src="http://dukebody.com/wp-content/uploads/2010/07/7665_MockupCover_0.jpg" alt="Plone 3 Multimedia cover" width="125" height="152" /></a></p>
<p>Time for a new review of a Plone book! This time it&#8217;s <a href="http://www.packtpub.com/plone-3-3-multimedia-website/book?utm_source=dukebody.com&amp;utm_medium=link&amp;utm_content=blog&amp;utm_campaign=mdb_003341">Plone 3 Multimedia</a>, by Tom Gross, and published by, guess who&#8230; Packt Publishing! One would say that Packt has a really good marketing team. :P</p>
<p>The mistake in the title is here strikes once again, since most of the book, if not it all, will apply also for Plone 4, but Packt continues following this policy.</p>
<p>First think I thought was&#8230; do we really need a whole book about multimedia in Plone? The answer is, well, there is enough material, enough multimedia-related products for Plone out there to write a book about the topic if you want to.</p>
<p>One thing I don&#8217;t understand is what the target audience is supposed to be. The &#8220;Who this book is for&#8221; section claims that (please Packt don&#8217;t sue me for copyright-related issues ;):</p>
<blockquote><p><em>This book is for Plone integrators who want to extend the core of Plone with multimedia features. It gives no introduction to Plone and readers should know how to set up a Plone site using a buildout. The book can be read and understood well even if the reader is not a Python developer, though some examples have Python code included.</em></p></blockquote>
<p>The book starts giving definitions of what a CMS or what multimedia is and the different types of multimedia elements we can stumble upon, so you think it&#8217;s going to be soft, but it soon dives into using multimedia in Zope Page Templates and Python code, and later uses some more advanced concepts (e.g. automated testing, traversers, marking interfaces, zope events&#8230;) without (IMO) proper introduction.</p>
<p>Is not that I can&#8217;t accept the reader is required to have some former Plone knowledge — what I don&#8217;t understand is the mixture of really-newbies with more advanced coding material.</p>
<p>I would have appreciated a kind of requirements story to give more coherence to the content as a whole, something like what happens in the <a href="https://www.packtpub.com/plone-3-3-products-development-cookbook/book">Plone 3 Products Development Cookbook</a> or <a href="https://www.packtpub.com/Professional-Plone-web-applications-CMS/book">Proffessional Plone Development</a>: a fictitious client that presents some requirements for a to-be-developed Plone site.</p>
<p>Plone 3 Multimedia doesn&#8217;t follow this pattern, and the result is a different structure, a reference presenting and briefly explaining different products to add multimedia features to your site, like the whole Plone 4 Artists (p4a) suite, plonetruegallery, Slideshowfolder, collective.flowplayer, Plumi, Vice, collective.uploadify or Red5, among others.</p>
<p>The two last chapters deal with what I think are vital topics when dealing with multimedia: storage and caching. In the storage one, I miss some more guidance about which storage system choose in every situation and why, instead of just a list of different available products with storage-related features.</p>
<p>Finally, I don&#8217;t think the appendices, covering multimedia and syndication formats, licenses and links for getting more help, are worth it. We already have Wikipedia, Google searches and all, so if one wants to read about, say, Ogg Vorbis, one ends <a href="http://www.vorbis.com/">here</a> or <a href="http://en.wikipedia.org/wiki/Vorbis">here</a>, with a lot more info that what one can find in the corresponding appendix of the book. All these pages could have better been employed in explaining more deeply the more advanced technical concepts, for example.</p>
<p>To sum up, I find this book good for &#8220;advanced&#8221; integrators or developers who are looking for an overview of the different available multimedia products for Plone. For the rest, I&#8217;ve not doubt you can learn something from it, but perhaps <a href="http://plone.org/documentation/books">others</a> fit your profile better.</p>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2010/07/plone-3-multimedia-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plone 3 Products Development Cookbook</title>
		<link>http://dukebody.com/2010/06/plone-3-products-development-cookbook/</link>
		<comments>http://dukebody.com/2010/06/plone-3-products-development-cookbook/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 16:10:09 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=163</guid>
		<description><![CDATA[When I received a review request for Plone 3 Products Development Cookbook from Packt, the first thing I thought was: How didn&#8217;t I know about this book before, and who are the authors? I&#8217;d certainly not heard about them (Juan Pablo Giménez and Marcos F. Romero) nor this upcoming book ever before, but it seems [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packtpub.com/plone-3-3-products-development-cookbook/book?utm_source=dukebody.com&amp;utm_medium=link&amp;utm_content=blog&amp;utm_campaign=mdb_003340"><img class="alignright" style="border: none;" title="Plone 3 Cookbook cover" src="https://www.packtpub.com/sites/default/files/imagecache/productview/bookimages/6729_MockupCover.jpg" alt="Plone 3 Cookbook" width="125" height="152" /></a>When I received a review request for <a href="http://www.packtpub.com/plone-3-3-products-development-cookbook/book?utm_source=dukebody.com&amp;utm_medium=link&amp;utm_content=blog&amp;utm_campaign=mdb_003340">Plone 3 Products Development Cookbook</a> from <a href="https://www.packtpub.com">Packt</a>, the first thing I thought was: How didn&#8217;t I know about this book before, and who are the authors? I&#8217;d certainly not heard about them (Juan Pablo Giménez and Marcos F. Romero) nor this upcoming book ever before, but it seems there are a lot of Plone books being written behind the scenes by people not hanging at #plone too. :)</p>
<p>The list of reviewers, comprising Martin Aspeli, Alec Mitchell and Emanuel Sartor, being as they are core and very active developers, automatically made me think this was going to be an accurate and up-to-date book.</p>
<p>This is the second book in the market about modern development with Plone, after Martin Aspeli&#8217;s <a href="https://www.packtpub.com/Professional-Plone-web-applications-CMS/book">Proffessional Plone Development</a>. And after having skimmed through it (if you try to proof-read this kind of books from top to bottom your brain can explode), I can say that it&#8217;s probably going to become a classic invaluable reference as PPD already is.</p>
<p><a href="http://www.packtpub.com/plone-3-3-products-development-cookbook/book?utm_source=dukebody.com&amp;utm_medium=link&amp;utm_content=blog&amp;utm_campaign=mdb_003340">Plone 3 Products Development Cookbook</a> spans over 350 pages full of useful tips, set-up instructions and step-by-step coding approaches to solve specific use-cases (that&#8217;s why it&#8217;s called &#8220;cookbook&#8221;). Even if the book title says Plone <em>3</em>, I think it&#8217;s just a Packt policy &#8211; one can be sure that most of the contents (if not all them) will be valid for Plone 4 too, and the authors even included some special instructions for Plone 4.</p>
<p>The book show-cases the development of an hypothetical digital newspaper with Plone, covering the whole process: From installing Python and Plone in Linux or Windows (Mac OSX specifics aren&#8221;t covered in this book) to preparing the production environment, passing through the installation of useful development tools like ipdb, DocFinderTab or plone.reload, creating content-types using ArchGenXML, paster-aided plain Archetypes or Dexterity, internationalizing and localizing the product, building XML-RPC interaction with other systems, and more (see the <a href="https://www.packtpub.com/toc/plone-3-products-development-cookbook-table-contents">full table of contents</a>). All the features coded include automated tests, what is a Very Good Practice and will help devs to be less afraid of writing tests.</p>
<p>The book is organized in a recipe-list fashion, in chapters, every recipe  including &#8220;getting ready&#8221;, &#8220;how to do it&#8221;, &#8220;how it works&#8221; and &#8220;there is more&#8221; sections. Sometimes the separation of concerns between these sections is not very clear, but one can expect a series of short steps in &#8220;how to do it&#8221;, to use as reference, and some brief explanation in &#8220;how it works&#8221;.</p>
<p>In my opinion, this is not a book for beginners. Even if there are some explanations in the &#8220;how it works&#8221; section of each recipe, they are almost always quite brief, and can certainly make you have to re-read and Google for more documentation often, if you really want to understand how the Zope Component Architecture, ZPT, skin layers, z3c.forms, etc. work. I see it more as a reference book for more advanced developers, who can also discover in this book some tricks and approaches they didn&#8217;t know before &#8211; I certainly did!</p>
<p>Summing up, this is a really useful reference for folks with previous developing experience in Plone. My sincere congratulations to the authors for their hard work to make this happen &#8211; I&#8217;m sure it will hit the shelves of every active Plone developer!</p>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2010/06/plone-3-products-development-cookbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ploning from Sorrento</title>
		<link>http://dukebody.com/2010/05/ploning-from-sorrento/</link>
		<comments>http://dukebody.com/2010/05/ploning-from-sorrento/#comments</comments>
		<pubDate>Wed, 26 May 2010 17:18:02 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[sorrento]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=156</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://dukebody.com/wp-content/uploads/2010/05/sorrento-small.jpg"><img class="aligncenter size-full wp-image-157" title="sorrento-coding" src="http://dukebody.com/wp-content/uploads/2010/05/sorrento-small.jpg" alt="" width="487" height="364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2010/05/ploning-from-sorrento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My GSoC project proposal: Core tiles development</title>
		<link>http://dukebody.com/2010/04/my-gsoc-project-proposal-core-tiles-development/</link>
		<comments>http://dukebody.com/2010/04/my-gsoc-project-proposal-core-tiles-development/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 08:31:16 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[deco]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[tiles]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=136</guid>
		<description><![CDATA[Update: This project has been accepted! Martin Aspeli will be my mentor. :)
For those of you not familiarized with Plone nor web development nor computers: I want to press a lot of buttons to make the pattern of lights shown in a metal rectangle change however I want. (credits to xkcd #722 ;)
For the rest [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: This project has been accepted! Martin Aspeli will be my mentor. :)</strong></p>
<p>For those of you not familiarized with Plone nor web development nor computers: I want to press a lot of buttons to make the pattern of lights shown in a metal rectangle change however I want. (credits to <a href="http://xkcd.com/722/">xkcd #722</a> ;)</p>
<p>For the rest of you, here goes my <a href="http://socghop.appspot.com/site/home/site">Google Summer of Code</a> 2010 student proposal!</p>
<h2>Core tiles development</h2>
<p><em>Deco is a revolutionary page composition system heavily based on semantic HTML and middleware software (either WSGI or using a post-publication hook), which could probably be shipped by default with Plone 5. The underlying Deco architecture, based on the concepts of panels and tiles, needs a set of core tiles (image, video, navigation tree, content-type field) to be inserted in the page.</em></p>
<p><strong>What are you studying, and where?</strong></p>
<p>I&#8217;m a Physics student from the Universidad Complutense de Madrid, Spain. I&#8217;m studying now in Stockholm (Kungligla Tekniska Högskolan) as an Erasmus student, and will study in Barcelona next year within another exchange programme (Séneca).</p>
<p><strong>What is the most interesting programming project you&#8217;ve undertaken while at university?</strong></p>
<p>I&#8217;ve coded a C++ app to solve the minesweeper game using different chained strategies.</p>
<p><strong>Have you ever contributed to an open source project? If so, give details. </strong></p>
<p><em>(Remember, filing bug reports and writing documentation are every bit as much contributions as writing code)</em></p>
<p>I&#8217;ve contributed to:</p>
<p>- Flock: Bug reports and translations to Spanish, as well as trying to lead the l10n team for a while.</p>
<p>- Mozilla: Providing help in the Mozilla Hispano (community website) forums, as well as writing some end-user documentation and a localization QA application in Django.</p>
<p>- Alqua: Wrote part of the code to use LaTeX templates written in the Cheetah template language to generate quality documents.</p>
<p>- Plone: Contributed and managed developer documentation. Leaded efforts to write documentation for the upcoming Plone versions. Reported a bunch of bugs, and fixed anohter (coding).</p>
<p><strong>Have you used Plone before? What for?</strong></p>
<p>Yes, for the Alqua website, in my first job (Zassh website), working with the Plone community and in my current job in Webworks.</p>
<p><strong>Have you spoken to anyone in the Plone community about your project? Who?</strong></p>
<p>Yes, Martin Aspeli, Geir Baekholt, Matthew Wilkes, Alexander Limi, David Glick, Rob Gietema and I guess some others I don&#8217;t remember right now.</p>
<p><strong>What is your project idea?</strong></p>
<p><em>This is the most important bit, so be as detailed as you can.</em></p>
<p>Deco is a new and exciting new way of composing, and I&#8217;d say that even theming pages and a website. It allows the user to create flexible grid-based layouts for the contents directly through the web without the limits of portlets and viewlets positioning and unifying these two concepts through the idea of &#8220;tile&#8221;.</p>
<p>Some sample tiles have been developed as a proof of concept (example.deco), but we need to develop a set of standard core tiles, including the so-called &#8220;application&#8221; ones like Text, Navigation, Image, Video, Calendar, Login Box, Search Box, Map, RSS Feed or Comments, and the field-type one, which can represent fields like Title, Description or Date. These last one would be probably integrated with Dexterity.</p>
<p>I want to create all these, and I think that we will find and solve a lot of issues underlying the current architectural Deco code in the way. The collective.tinymcetiles product, already usable, will allow us to insert tiles in Rich Fields and therefore test them.</p>
<p>At the same time, most of the infrastructure and API for creating, storing and displaying tiles is already completed (plone.tiles and plone.app.tiles), as well as the system to merge and render panel layouts (plone.app.blocks), but we still lack a system to store and manage site and page-wide layouts. I want to work also on the design and implementation of this system, with the help of my mentor.</p>
<p>Finally, and keeping in mind the radical change of concept Deco involves, I&#8217;d like to write quite a lot high and low-level documentation about how the whole system works, ensuring a smooth transition curve for people already used to the old way as long as newcomers.</p>
<p><strong>Please complete the following sentences about how you see the state of the project at different points in the timeline:</strong></p>
<p>At the start of the official coding period (i.e. a month after the accepted projects are announced) my project will be &#8230;just about to start after having read the documentation about the different packages involved and played with them, creating some test tiles and some test Dexterity content-types, to understand better how they work.</p>
<p>3 weeks into the official coding period my project will be &#8230;having coded an alpha version of most of the application tiles: Image, Video, File, etc. These tiles can work with Archetypes content types and collective.tinymcetiles.</p>
<p>Half-way through the coding period my project will be &#8230;having coded an alpha version of a sample field tile. These tiles would extract the data from a Dexterity content-type. example.deco already implements a proof-of-concept for a field tile, but this implementation needs to be rethinked according to M. Aspeli. Field tiles won&#8217;t probably work well with with collective.tinymcetiles, but Rob Gietema (from 4Digital) is already working on the plone.app.deco package to support this.</p>
<p>3 weeks from the end of the coding period my project will be &#8230;having polished the previous tiles and started working on a Dexterity &#8220;Page&#8221; content-type to be able to insert field and app tiles in it without collective.tinymcetiles.</p>
<p>At the end of the coding period my project will be &#8230;finished working on the Page type and the previous tiles.</p>
<p>3 months after summer of code finishes my project will be &#8230;hopefully continued to fix bugs and improve it! It will need to if we want it to make into Plone 5.</p>
<p><strong>Do you have any other commitments during the summer of code period (i.e. between June and August)?</strong></p>
<p>I plan to travel for holidays for at least a week. I also have to move from Madrid to Barcelona, so I&#8217;ll need to look for an apartment there and probably will be busy for a week or so till everything settles down again in my life. :)</p>
<p>I&#8217;ll also attend the Plone Symposium East 2010 at the end of May.</p>
<p>I also plan to attend the Plone Conference 2010 this Autumn.</p>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2010/04/my-gsoc-project-proposal-core-tiles-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plone 3 for Education review</title>
		<link>http://dukebody.com/2010/02/plone-3-for-education-review/</link>
		<comments>http://dukebody.com/2010/02/plone-3-for-education-review/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 20:08:41 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=122</guid>
		<description><![CDATA[One of the first things you have to keep in mind when considering to get this book is the target audience. If you&#8217;re a hard-core developer who keeps Proffessional Plone Development under your pillow, this book might be a bit too &#8220;soft&#8221; for you. It&#8217;s targeted to integrators with little experience in Plone who want [...]]]></description>
			<content:encoded><![CDATA[<p>One of the first things you have to keep in mind when considering to get <a href="http://www.packtpub.com/plone-3-for-education/book">this book</a> is the target audience. If you&#8217;re a hard-core developer who keeps <a href="http://www.packtpub.com/Professional-Plone-web-applications-CMS/book">Proffessional Plone Development</a> under your pillow, this book might be a bit too &#8220;soft&#8221; for you. It&#8217;s targeted to integrators with little experience in Plone who want to learn about how to perform certain tasks, from publishing an usable events calendar to create an on-line form for visitors&#8217; comments.</p>
<p>Both the author, Erik Rose, and the technical reviewers are well known and respected in the community. I&#8217;ve chatted more than once with two of the reviewers, Steve McMahon and Denys Mishunov, and I know they&#8217;re quite skillful and competent, so you can expect the book to be correct and well-written.</p>
<p>I must admit that, at first, I was a bit annoyed with the step-by-step recipe-style of the book. Being a Physics student, I&#8217;m used to read texts where the main points of the theory are explained, but the step-by-step procedure is often left as an exercise to the reader. Having to follow closely a list of steps makes me feel like a script-kiddie: somebody who executes a series of steps without actually understanding what is she/he really doing.</p>
<p>However, Erik has taken care of providing a lot of contextual explanation about the steps, with comments about the different options you have and why would you prefer to choose one or another. Moreover, the just-follow-these-steps approach is not so heavily used after the two first chapters.</p>
<p>Although the title of the book suggests that people in the educational context are its only target public, you can learn a lot from its suggested approaches even if you aren&#8217;t into education. Being very, very practical, it covers a freaking impressive list of tasks/features: making academic courses available on-line, a directory of personnel, setting-up a blog and a forum, publishing audio and video, creating forms easily, theming a site and managing a production system.</p>
<p>I wouldn&#8217;t have covered the theming and the sysadmin stuff, since it&#8217;s quite technical and there are already (or are coming) good book references on these subjects, including the <a href="http://www.packtpub.com/plone-3-theming-create-flexible-powerful-professional-templates">Plone 3 Theming</a> by Veda Williamson, <a href="http://www.packtpub.com/practical-plone-3-beginners-guide-to-building-powerful-websites">Practical Plone 3</a>, or the upcoming <a href="http://www.packtpub.com/plone-3-3-site-administration/book">Plone 3.3 Site Administration</a> by the popular Alex Clark. By the way, Alex, please tell Packt that this title is not attractive at all marketingly-speaking — people will think that the book only applies to 3.3!</p>
<p>Unlike other books, which are quite bare-Plone centered, a lot of interesting add-on products are documented, more or less extensively: FacultyStaffDirectory (of which Erik is an active contributor and therefore even provides tips about future development!), p4a.Calendar, Scrawl, QuillsEnabled, PloneBoard, collective.flowplayer, p4a.video, p4a.audio, PloneFormGen, z3c.jbot and CacheFu, among others.</p>
<p>Erik doesn&#8217;t simply provide general technical manager advice, but also tells you about good practices for content editors based on his previous experience and known pitfalls. What is even more impressive, he sometimes points you to some tickets in Trac about open issues! While this would be more suitable for on-line documentation, it reflects the active involvement and time Erik has spent on investigating what he&#8217;s writing about. Good work, Erik!</p>
<p>The book is full of evangelism, specially in the first chapter, where it comes in loads. While it shows that Erik (and the reviewers?) is really passionate about Plone, I guess that who bought this book is looking for info about how to use the product, not marketing stuff, and perhaps these pages could have seen better use with some images, more extensive explanation of a certain feature, or just removed and the price of the book lowered. But this is only the opinion of someone who&#8217;s already convinced of the coolness of Plone. Erik also takes the opportunity to expose his political view about the issues with buildout, installation and packaging.</p>
<p>The writing style is clear and always fun. Sentences like &#8220;<em>Who can resist puppies? They are heart-meltingly cute and loads of fun, but it&#8217;s easy to forget, when their wet little noses are in your face, that they come with responsibility. Likewise, add-ons are free to install and use, but they also bring hidden costs.</em>&#8221; make you smile and remind you that some people in the Plone community have a good sense of humour and are crazy enough to publish this kind of stuff in a technical book. :)</p>
<p>Kudos to Erik — while I was certainly biased about reading a book for non-developers and just for Education, you managed to make me learn new stuff and enjoy doing so!</p>
<p>I&#8217;d like to thank Packt Publishing for providing me a free review copy of the e-book for my reading pleasure. The 2nd chapter, <a href="http://www.packtpub.com/files/8129-plone-3-for-education-sample-chapter-2-calendaring.pdf">Calendaring</a>, is available from their site free of charge, in the case you want to take a peek before considering to get the book.</p>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2010/02/plone-3-for-education-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Porting PHC to Plone 4</title>
		<link>http://dukebody.com/2009/12/porting-phc-to-plone-4/</link>
		<comments>http://dukebody.com/2009/12/porting-phc-to-plone-4/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 01:29:56 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[plone]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=108</guid>
		<description><![CDATA[I&#8217;ve spent some time this weekend updating the Plone Help Center product to work in Plone 4, specifically in Plone 4.0a2. Some reasons/excuses:

I had free time.
I love coding for fun.
I wanted to experience myself how easy/hard can be to updating a Plone 3 product to work in Plone 4.

The changelog will tell you about every [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent some time this weekend updating the Plone Help Center product to work in Plone 4, specifically in Plone 4.0a2. Some reasons/excuses:</p>
<ul>
<li>I had free time.</li>
<li>I love coding for fun.</li>
<li>I wanted to experience myself how easy/hard can be to updating a Plone 3 product to work in Plone 4.</li>
</ul>
<p>The <a href="http://dev.plone.org/collective/log/Products.PloneHelpCenter/branches/dukebody-plone4-compatibility">changelog</a> will tell you about every change I performed, but a summary of the most important stuff is:</p>
<ul>
<li>The attribute <em>__implements__</em> of a class cannot be used anymore. Use <em>zope.interface</em> <em>implements</em> and <em>implementsOnly</em> instead.</li>
<li>Use <em>mailhost.send</em> instead of <em>mailhost.secureSend</em>. Learn <a href="http://plone.org/documentation/manual/upgrade-guide/version/upgrading-plone-3-x-to-4.0/updating-add-on-products-for-plone-4.0/mailhost.securesend-is-now-deprecated-use-send-instead">how to upgrade your product accordingly</a> (thanks alecm!).</li>
<li>Manually define all needed variables which were formerly globally defined in the famous <em>main_template</em>. This was the most time-consuming step, because I had to fix them one-by-one following a try-error approach. Thanks god PHC has automatic tests, which helped a lot there.<br />
Perhaps we could come up with a handy find-grep expression to be run in the root of your add-on package to identify all templates where you&#8217;re using global expressions (no longer available). find-grep hackers are welcome to comment this post. ;)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2009/12/porting-phc-to-plone-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing Plone 4.0a1 on Debian</title>
		<link>http://dukebody.com/2009/11/installing-plone-40a1-on-debian/</link>
		<comments>http://dukebody.com/2009/11/installing-plone-40a1-on-debian/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 23:48:25 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[plone4]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=104</guid>
		<description><![CDATA[I just read on a tweet that the first alpha release of Plone 4 is already available for testing and I wasn&#8217;t able to resist the temptation. :P  As some people have already pointed out, Python 2.6 for Debian is only available from the experimental repository, and most of us prefer to stay testing or [...]]]></description>
			<content:encoded><![CDATA[<p>I just read on <a href="http://twitter.com/esteele/status/5868522625">a tweet</a> that the first alpha release of Plone 4 is already available for testing and I wasn&#8217;t able to resist the temptation. :P  As some people have already pointed out, Python 2.6 for Debian is only available from the experimental repository, and most of us prefer to stay testing or unstable at most. :)</p>
<p>Thanks god, there&#8217;s a buildout recipe (we should create a Linux distro based on buildout someday, alecm ;) to build Python from source in an isolated environment. Steps:</p>
<ol>
<li>svn co https://svn.plone.org/svn/collective/buildout/python/ buildout.python</li>
<li>cd buildout.python; python bootstrap.py</li>
<li>Edit buildout.cfg to fit your needs. You might want to comment out the references to the Python versions you don&#8217;t want to install.</li>
<li>bin/buildout</li>
<li>cd to-another-directory; paster create -t plone3_buildout plone4.</li>
<li>Enter &#8220;4.0a1&#8243; (without quotes) when asked about &#8220;Which Plone version to install&#8221;. Make sure you have the last version of ZopeSkel (2.14.1 while I&#8217;m writing this &#8211; easy_install -U ZopeSkel) or the generated buildout.cfg won&#8217;t be valid for Plone 4 otherwise. Thanks to MatthewWilkes for the pointer and of course for the ZopeSkel release. :)</li>
<li>path-to-buildout.python/python-2.6/bin/python bootstrap.py</li>
<li>bin/buildout. If you get tons of lines in your console output about fetching distribute, see <a href="http://reinout.vanrees.org/weblog/2009/11/13/distribute-buildout-recursion-fixed.html">this post</a> by Reinout van Rees.</li>
<li>You&#8217;ll need to install PIL to run Plone, so do either:
<ol>
<li>python-2.6/bin/easy_install-2.6 http://dist.repoze.org/PIL-1.1.6.tar.gz, or</li>
<li>Add PIL or PILwoTk to any of the eggs sections of your Plone 4 buildout and re-run bin/buildout.</li>
</ol>
</li>
</ol>
<p>If you stumble upon an error message similar to:</p>
<pre>Downloading http://dist.repoze.org/PIL-1.1.6.tar.gz
Processing PIL-1.1.6.tar.gz
Running PIL-1.1.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Fev48C/PIL-1.1.6/egg-dist-tmp-SNtCRu
In file included from decode.c:608:
libImaging/Zip.h:11:18: error: zlib.h: No such file or directory
In file included from decode.c:608:
libImaging/Zip.h:37: error: expected specifier-qualifier-list before ‘z_stream’
error: Setup script exited with error: command 'gcc' failed with exit status 1</pre>
<p>try &#8220;aptitude install zlib1g-dev&#8221;. Thanks davisagli!</p>
<p>The previous procedure should work&#8230; But it didn&#8217;t in my system. :(  I get an error in the buildout.python bin/buildout:</p>
<pre>SystemError: <span class="br0">(</span>'Failed', 'patch -p0 &lt; /somepath/buildout.python/parts/readline-patch/readline.patch'<span class="br0">)</span></pre>
<p>I&#8217;ve already tweeted fschulze (who is presumably the author of the collective.buildout.python stuff, according to comments in the #plone IRC channel) about this issue. I hope it will get solved soon! :)</p>
<p>In the meanwhile, removing or commenting out the stuff about readline.patch in the collective.buildout.python buildout.cfg before running bin/buildout appears to be a valid workaround, at least for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2009/11/installing-plone-40a1-on-debian/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Search plugin for Plone.org documentation</title>
		<link>http://dukebody.com/2009/09/search-plugin-for-ploneorg-documentation/</link>
		<comments>http://dukebody.com/2009/09/search-plugin-for-ploneorg-documentation/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 16:50:52 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=97</guid>
		<description><![CDATA[I got bored of having to write &#8220;site:plone.org/documentation blabla&#8221; in the Firefox search box to use Google to look for documentation in Plone.org so I created a plugin following these instructions and using this generator.
Check it out!
Some tips:

Use Ctrl+K to get to the searchbar.
With the focus in the searchbar Alt+Up/Down lets you select what search [...]]]></description>
			<content:encoded><![CDATA[<p>I got bored of having to write &#8220;site:plone.org/documentation blabla&#8221; in the Firefox search box to use Google to look for documentation in Plone.org so I created a plugin following <a href="https://developer.mozilla.org/en/creating_opensearch_plugins_for_firefox">these</a> <a href="https://developer.mozilla.org/en/Adding_search_engines_from_web_pages">instructions</a> and using <a href="http://www.scriptsocket.com/cgi-bin/firefoxplugins/generate.cgi">this generator</a>.</p>
<p><a href="javascript:window.external.AddSearchProvider('http://dukebody.com/downloads/plone-documentation.xml');">Check it out!</a></p>
<p>Some tips:</p>
<ul>
<li>Use Ctrl+K to get to the searchbar.</li>
<li>With the focus in the searchbar Alt+Up/Down lets you select what search engine you want to use.</li>
<li>While selecting an engine, typing a character makes you jump to the first search engine starting with this character. In our case, use &#8216;p&#8217;.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2009/09/search-plugin-for-ploneorg-documentation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Documenting PLIP changes</title>
		<link>http://dukebody.com/2009/04/documenting-plip-changes/</link>
		<comments>http://dukebody.com/2009/04/documenting-plip-changes/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 17:09:54 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[plone]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=88</guid>
		<description><![CDATA[What started as an utopic idea has now become real! Over the last Plone releases, the documentation had become sadly outdated, because the people writing code for the new features of the product were faster than the people writing the documentation for them.
During the last Plone Conference the Plone Documentation Team was revived. It was [...]]]></description>
			<content:encoded><![CDATA[<p>What started as an utopic idea has now become real! Over the last Plone releases, the documentation had become sadly outdated, because the people writing code for the new features of the product were faster than the people writing the documentation for them.</p>
<p>During the last Plone Conference the Plone Documentation Team was revived. It was time to start doing things The Right Way (TM). Our idea was to bind the development to the documentation, studying PLIPs after being approved by the Framework Team and updating and extending the documentation base accordingly before the new product version is released.</p>
<p>And finally, we did it for 3.3! So congrats to everybody who&#8217;s participated! I hope that in the future more people will chime in and we will improve our workflow for updating and testing changes in the documentation. Some ideas:</p>
<ul>
<li>We can&#8217;t publish (make visible to everybody) the documentation for the new version before the new version is released, because it will confuse people. Next PHC version will likely provide us Working Copy Support so we will be able to edit documentation &#8220;privately&#8221; while keeping the old (stable) version of a page public.</li>
<li>We have to coordinate better with the PLIP implementors to write, review and verify the documentation. Proposed workflow:
<ol>
<li>Make a list of affected docs. This list will likely include only documents in the official <span class="il">documentation</span> area.</li>
<li>Make a copy of them and find someone to document the changes. With Working Copy Support, thiw will no longer be neccessary.</li>
<li>Ask the implementer of each <span class="il">PLIP</span> to review the introduced <span class="il">documentation</span> changes. Test them against a beta or release candidate release.</li>
<li>After the final release, copy the contents of the copied articles back to the live ones, and delete the copies. With Working Copy Support, promote the changes to the public page.</li>
</ol>
</li>
</ul>
<p>Happy ploning to everybody!</p>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2009/04/documenting-plip-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a new content-type with Archetypes in Plone 3 &#8211; checklist</title>
		<link>http://dukebody.com/2009/02/creating-a-new-content-type-with-archetypes-in-plone-3-checklist/</link>
		<comments>http://dukebody.com/2009/02/creating-a-new-content-type-with-archetypes-in-plone-3-checklist/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 20:04:04 +0000</pubDate>
		<dc:creator>Israel Saeta Pérez</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[archetypes]]></category>
		<category><![CDATA[plone]]></category>

		<guid isPermaLink="false">http://dukebody.com/?p=82</guid>
		<description><![CDATA[This list is not intended as a in-depth tutorial to learn how to create new content-types in Plone (if you are looking for that, please check the Archetypes Developer Manual), but as a checklist to ensure you&#8217;ve not forgot any step.

Create the skeleton of the package using paster -t plone.
Add the package to your buildout.cfg, [...]]]></description>
			<content:encoded><![CDATA[<p>This list is not intended as a in-depth tutorial to learn how to create new content-types in Plone (if you are looking for that, please check the <a href="http://plone.org/documentation/manual/archetypes-developer-manual">Archetypes Developer Manual</a>), but as a checklist to ensure you&#8217;ve not forgot any step.</p>
<ol>
<li>Create the skeleton of the package using paster -t plone.</li>
<li>Add the package to your buildout.cfg, including the eggs, develop and zcml sections.</li>
<li>Define your type interfaces using zope.schema.</li>
<li>Implement the interface using Archetypes.
<ol>
<li>Define the content-type fields using Archetypes.atapi.Schema.</li>
<li>Bridge the getters and setters to attributes using atapi.ATFieldProperty.</li>
</ol>
</li>
<li>Define the security policies for the class attributes throught &lt;require /&gt; directives into your configure.zcml.</li>
<li>Register the neccessary resources (images, css, javascript) into your browser/configure.zcml file, throught &lt;browser:resource /&gt; directives.</li>
<li>Implement the main view of the object.
<ol>
<li>Register a &lt;browser:page /&gt; into the browser/configure.zcml file, referencing the view class and the content-type interface.</li>
<li>Write the implementation of the referenced class above, using Products.Five.browser.pagetemplatefile.ViewPageTemplateFile and defining any internal methods that you&#8217;ll need into the rendered templates later.</li>
<li>Write the associated template, using ZPT.</li>
</ol>
</li>
<li>Write the GenericSetup install code for the new content-type:
<ol>
<li>Register a extension profile into your configure.zcml, using a &lt;genericsetup:registerProfile /&gt; directive.</li>
<li>Register the type into the portal_types tool throught a types.xml file.</li>
<li>Specify the details for each type into the types/your-type-name.xml file.</li>
<li>Write the __init__.py package&#8217;s boilerplate code to initialize the content-type and create the factory functions.</li>
<li>Write down your configuration data into a config.py file.</li>
<li>Assign add permissions to desired roles throught rolemap.xml.</li>
<li>Register the type factory in the factorytool.xml file.</li>
</ol>
</li>
</ol>
<p>Thanks to Martin Aspeli for such a great book!</p>
]]></content:encoded>
			<wfw:commentRss>http://dukebody.com/2009/02/creating-a-new-content-type-with-archetypes-in-plone-3-checklist/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
