<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://www.stevemcmahon.com/steves-blog/steves-blog/RSS">
  <title>Steve’s Blog</title>
  <link>http://www.stevemcmahon.com</link>
  
  <description>
    
       More or less random musings about open-source software, Plone and Davis, California.
       
  </description>
  
  
  
            <syn:updatePeriod>daily</syn:updatePeriod>
            <syn:updateFrequency>1</syn:updateFrequency>
            <syn:updateBase>2010-02-25T19:47:08Z</syn:updateBase>
        
  
  <image rdf:resource="http://www.stevemcmahon.com/banner.png"/>

  <items>
    <rdf:Seq>
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/installers-2011"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/pfggit"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/pp4d"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/2011pctraining"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/pfg-fieldsets"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/rapture-sprint"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/pfg-rapture"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/pssa-sprint"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/p3inets"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/not-just-coders"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/finishing-up-gsoc-2010-ploneformgen-work"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/google-summer-of-code-ploneformgen"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/tools"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/bdfl"/>
        
        
            <rdf:li rdf:resource="http://www.stevemcmahon.com/steves-blog/develop-cfg"/>
        
    </rdf:Seq>
  </items>

</channel>

    <item rdf:about="http://www.stevemcmahon.com/steves-blog/installers-2011">        <title>Plone Installers Brainstorming at PloneConf</title>        <link>http://www.stevemcmahon.com/steves-blog/installers-2011</link>        <description>Notes from the open-space discussion on installers at PloneConf 2011</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>

There were lots of conference discussions — and a fun exchange of rants during lightning talks — about the state of Plone's installers. Also, lots of good ideas exchange recently on the Plone Foundation Members list.</p>
<p>I wanted to share the high points of an open-space discussion on the topic. Thanks to David Bear for taking notes.</p>
<p>We identified several goals and champions:</p>
<dl><dt>Installations should include common layout/tools/buildouts </dt><dd>Except where the platform prevents it, the outcome of an installation on major platforms should look pretty similar. There should be the same set of directories inside the install, and pretty much the same tools in bin. The buildout .cfg files should be largely the same, and the current Unified Installer .cfgs are a good base implementation.<br />Champion: Steve McMahon<br /></dd><dt>Our installers should be in a common repository</dt><dd>Plone is an open-community project, and we need to have as many people as possible feeling that they can file tickets and fix bugs. That means having them all in the same vcs repository — with no barrier to fixing bugs beyond filing a contributor's agreement. <br />Champion: Steve McMahon<br /></dd><dt>Use a templating system to generate the .cfgs for different platforms </dt><dd>This would help maintain just a single buildout .cfg set for all the installers.<br />Champion: Cris Ewing</dd><dt>Installers should be part of the continuous integration testing </dt><dd>We can't test all platforms (why would we want to), but we should be able to use jenkins to routinely test installers against new plone versions on Windows, OS X and a couple of flavors of Linux.<br />Champion: Eric Steele<br /></dd>
<dt>QA Testing</dt>
<dd>A QA team is getting organized, and testing installers on multiple platforms is a great chore for them.<br />Champion: Liz Leddy</dd><dt>Visual Controllers are a huge problem </dt><dd>Apple's unexpected abandonment of wxPython in Lion, and the unlikelihood of a timely development of an independent Lion-compatible wxPython 2.6.x leave us with a mess.<br />Unfortunately, trainers have been getting increasing feedback that many newer OS X and Linux users are not command-line comfortable, so we still need the visual controller functions, and may need them to do even more.<br />Mikko and Craig are going to check out alternative visual scripting environments that might be cross-platform. Limi is asking if we could product an HTML/JS controller with something like a thin python http server to do the real work. That's feasible, but there could be some real security analysis needed. <br /></dd></dl>
<h3>David Bear's Notes:</h3>
<pre>------------------------------------------------------------------
- unified installer and buildout
- Open space discussion
------------------------------------------------------------------
same buildout.cfg all platforms	Steve
same repository -&gt;			Steve
templer buildout for .cfgs 		Cris 
Automated  tests in jenkins 		Eric
QA - platform testers -- 		Liz
Visual Controller (qt?)  		Mikko 
(xampp)</pre>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2011-11-17T19:36:42Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/pfggit">        <title>PloneFormGen gittin' to github</title>        <link>http://www.stevemcmahon.com/steves-blog/pfggit</link>        <description>PloneFormGen's repository and issue tracker have moved to github.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>Yesterday marked the release of PloneFormGen 1.7b6. I anticipate that we'll have a release candidate shortly. The bigger news, though, is that I finally got some time and moved the PFG version control repository to Github. You'll find it at <a class="external-link" href="https://github.com/smcmahon/Products.PloneFormGen">https://github.com/smcmahon/Products.PloneFormGen</a>.</p>
<p>Pull requests will be welcome. But, if you're a regular contributor (or think you might be a regular contributor), drop me a note and I'll add you to the collaborator list.</p>
<p>I also opened a new issue tracker at <a class="external-link" href="https://github.com/smcmahon/Products.PloneFormGen/issues">https://github.com/smcmahon/Products.PloneFormGen/issues</a>. There are two reasons for switching away from the old issue tracker:</p>
<ul><li>The social features of github are fun and easy to use. Using the github issue tracker gets all that integrated with the code repository.</li><li>The old issue repository had gotten to be a mess. That was partially because I didn't get e-mail notifications of new issues for several months. On checking in, I found that many issues in the tracker were long fixed and it was very slow updating them.</li></ul>
The latter reason is basically a plea of "issue-tracker bankruptcy." I guess that's a devops corollary of email bankruptcy. :)
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2011-10-19T14:52:07Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/pp4d">        <title>Professional Plone 4 Development</title>        <link>http://www.stevemcmahon.com/steves-blog/pp4d</link>        <description>Martin Aspeli updates his book, and Plone.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>Martin Aspeli's <em><a class="external-link" href="http://www.packtpub.com/professional-plone-4-development/book">Professional Plone 4 Development</a></em> is the most-anticipated Plone book since Martin's earlier <em>Professional Plone 3 Development</em>. For Plone developers, it pretty much goes without saying that Martin is an outstanding technical writer, and that his documentation of Plone's development environment is definitive.</p>
<p>What got my attention about <em>PP4D</em> was that the contrast between it and <em>PP3D</em> is very much like the contrast between Plone 4 and Plone 3.</p>
<p>Plone 4 does more than Plone 3, and Martin's book is bigger and has new chapters and sections to cover the new features. But Plone 4 is also sleeker and faster than 3. Its parts fit together better, and it's more approachable to new users and integrators.</p>
<p>Martin shows us that the same is true for Plone 4 development. Both the Plone 4 development environment and the <em>PP4D</em> book make more sense than their Plone 3 counterparts. The parts fit together better. Plone 3 development required that you know, and practice, both new (Zope 3 style) and old (Archetypes) development paradigms. You had to know how to use Python packages and Zope products, skins and browser views. And, I think the Plone development community (and Martin) were not really sure how these fit together and when it was best to use which.</p>
<p><em>PP4D</em> is much more confident. Dexterity (content-type development framework) and Diazo (theming system) are much better ways to develop, and Martin is able to explain them clearly without having to burden the reader with so many layers of history. PP4D, like its predecessor, is still a book for experienced, versatile programmers, but it doesn't need to make as many apologies to its audience.</p>
<p><em>Professional Plone 4 Development</em> is thus a better book than its predecessor in part because Plone 4.x is a better development platform. Martin's community leadership is — of course — a large part of the reason for this advance. But, the improvements are also due to the great work of the many folks on the core development and framework teams.</p>
<p>So, Martin should take a big bow. But Hanno Schlichting, David Glick, Laurence Rowe, Eric Steele, Denys Mishunov, Rob Gietma, Alex Limi and many others should be proudly joining that curtain call. Bravo.</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2011-09-11T15:11:03Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/2011pctraining">        <title>Plone Conference Training: The Instructors</title>        <link>http://www.stevemcmahon.com/steves-blog/2011pctraining</link>        <description>Five two-day training courses will be taught at this year's Plone Conference.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>This year's <a class="external-link" href="http://ploneconf.org/event/training">training offering for the Plone Conference</a> brings together some of the best teachers in the Plone community. The training topics are great, but even if you think you're already a wizard in all the class topics, you might want to sign up for a class anyway just to spend a couple of days in a classroom with one of these instructors. They'll not only teach you techniques; they'll also help you organize your Plone expertise. The line up:</p>
<p><strong>Martin Aspeli </strong>is our community's most prolific writer, the author of <em>Professional Plone Development</em>, and its forthcoming update for Plone 4.1. Behind the scenes, he's responsible for many of our new framework components and sets the standards for our testing tools. Want to move up to the ranks of Plone development/deployment masters? Spend a couple of days with Martin.</p>
<p><strong>Paul Everitt</strong> is a walking encyclopedia of Zope technologies. He's also a legendary speaker and comedian. Paul's students are not only going to get a good, practical introduction to Pyramid; they're also guaranteed to have a great time and learn stories that will have folks buying them beers for years.</p>
<p><strong>Chris Ewing</strong> is a tremendously thoughtful and generous teacher. As leader of the ZopeSkel project, he's also been spending a lot of time thinking about how to make it easier to get going with Plone add-on and theme development. Cris puts the same kind of effort into class preparation. You can be sure that he's going to teach the best and easiest way to do things, and explain it well.</p>
<p><strong>Chrissy Wainwright</strong>'s students from her past Plone Theming classes have a shared secret. They know that Chrissy has distilled years of solid experience of designing and implementing Plone site designs into an amazing two-day package that will help you solve nearly any real-world design implementation problem. Some of the best Plone themers I know have walked out of Chrissy's classes dumbfounded by all the new things they learned.</p>
<p><strong>Steve McMahon</strong> (yes, me!) I'll just say that I work hard to make my classes valuable and enjoyable. You can be sure that I'll be well-prepared and will have thought hard about how to keep you awake and amused, as well as informed. I've taught at four prior conferences or symposium, and think I'm getting better at it each time. I first taught Dexterity at this year's Plone Symposium East.</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2011-08-10T17:45:37Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/pfg-fieldsets">        <title>New fieldsets for PloneFormGen</title>        <link>http://www.stevemcmahon.com/steves-blog/pfg-fieldsets</link>        <description>The latest beta of PFG has a new fieldset mechanism.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>I've always had mixed feelings about PloneFormGen’s Fieldset Folder feature. There are some nice things about it — like the ability to move a whole fieldset with a single operation — but also annoyances, like needing to drill down to move fields within a fieldset.</p>
<p>More fundamentally, I don't think it’s an intuitive mechanism for PFG's target users. When you’re visually designing a form, a fieldset is a presentation feature, and not necessarily a unit of functionality.</p>
<p>In any case, the Fieldset Folder mechanism now has another problem: it works very poorly with the “quickedit” feature, which was introduced in PFG 1.6 and much enhanced in PFG 1.7 thanks to Manca's GSOC work. I suppose that could be fixed with a large helping of new JavaScript and a lot more visual complexity, but the point of PFG is to be simple (or at least as simple as possible).</p>
<p>So, PFG 1.7b4 has a simple-minded solution. We now have “Fieldset Begin” and “Fieldset End” items that are just markers. All they do is start or end a fieldset. The “Begin” is a little more elaborate as it allows you to set a label and description. The “End” doesn't even have a label.</p>
<p>So, drag them from the toolbox; move them around the form; delete them. All they do is start and end visual fieldsets.</p>
<p>Fieldset Folders are still available, and work as before. You just won't be able to maintain them from the quick editor.</p>
<p>Hope you like the new facility!</p>
<p>&nbsp;</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2011-06-17T16:52:54Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/rapture-sprint">        <title>Rapture (PSE 2011) Sprint Report</title>        <link>http://www.stevemcmahon.com/steves-blog/rapture-sprint</link>        <description>Over 50 sprinters gathered after Plone Symposium East for two days of rapturous sprinting.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>Sprinters at the Plone Symposium East’s “Rapture” sprint learned that heaven is high bandwidth, big monitors and lots of Plone collaboration. Thanks to our hosts, the <a class="external-link" href="http://weblion.psu.edu">WebLion</a> group at Penn State for loaning us their office, great wifi, projectors, big monitors and advice on food and coffee.</p>
<h3><strong><img class="image-right" src="rapture-sprint-logo/image_mini" alt="Rapture Sprint Logo" /></strong></h3>
<p>We had a lot of sprinters, possibly a record for an event other than a Plone Conference, and we broke up into several groups. Thanks to group leaders for the report out information below!</p>
<h3>Connexions / Rhaptos</h3>
<p>
We were enthusiastic to meet and collaborate with the <a class="external-link" href="http://cnx.org">Connections/Rhaptos</a> folks, who are using Plone to build the world's largest collection of open-license course materials. They led sprints on:</p>
<p><strong>Connexions Rhaptos API</strong>: Built an AtomPub import mechanism. At the end of the sprint, this was working both for new content and edits. More details in <a class="external-link" href="http://kefletcher.blogspot.com/2011/05/sprinting-with-connexions.html">Kathi Fletcher’s Blog</a>.</p>
<p><strong>Connexions Rhaptos Plone Update</strong>: working on updating Rhaptos/Connexions from Plone 2.5. Ross, Michael Mulich</p>
<h3>Form Widgets Group</h3>
<p>A form widgets team made use of the domain-expertise of Matt Barkau and Joe DeLuca to work on accessibility issues in Archetypes and Dexterity widgets. The team corrected several annoyances that particularly hurt screen reader users, carefully researching the best accessibility practices for each solution..</p>
<p>Hugo and SteveM worked on the Dexterity datetime form widget (collective.z3cform.datetime). Michael Miller (UCLA) worked on compiling a visual guide to Archetypes and Dexterity widgets that may become part of the Dexterity documentation.</p>
<h3>ZopeSkel</h3>
<p>
Cris Ewing led a ZopeSkel sprint. Cris reports that “Our goal was to move forward on refactoring ZopeSkel into a series of smaller, lighter packages in the 'templer' namespace. Beyond that there were also a number of improvements needed in the core package, and a few long-standing bugs that needed fixing.”</p>
<p>Participating in the ZopeSkel work were Lazaro Clapp, Ricardo Newbery, Josh Johnson, David Ray and Cris.<br />
<br />
<strong>Completed</strong></p>
<ul><li>
Added templer.zope, templer.plone, templer.plonecore, templer.plonebuildout, and templer.silva packages</li><li>
ported plone3_buildout, plone4_buildout, and silva_buildout templates</li><li>
partially completed porting basic_zope, plone and archetype templates</li><li>
fixed a long-standing bug in the recipe template doctest involving a test within a buildout within a test (the source of Ploneception)</li><li>
refactored the handling of structures so that any question defined by a template can add new structures to the template (which allows us to maintain common pieces of code in a single place)</li></ul>
<h3>Plone.Edu Installer</h3>
<p>Kim Nguyen and helpers worked on creating installers for Plone using a Plone.Edu stack. Kim learned the layout of the Unified and OS X installers and also worked on virtual machine installers.</p>
<h3>Plone 2011 Co<img class="image-right" src="website-frontpage.jpg/image_mini" alt="Frontpage Design" />nference Theming</h3>
<p>Chrissy, Trish, Tyler, Mark Corum and Rob Porter led a small army working on the Plone Conference 2011 Website. Thanks to Trish for the report out:</p>
<div><strong>Team Structure</strong> | Chrissy Wainwright, Rob Porter</div>
<ul><li>Implemented backstretch.js to make sure the background image is always 100%</li><li>Set up webfonts as a browser resource</li><li>Implementing responsive.css</li><li>Set up jQuery to switch bg depending on section</li></ul>
<div>&nbsp;</div>
<div><strong>Team Fancy</strong>&nbsp;|&nbsp;Chrissy Wainwright, Erin Weber, Trish Ang</div>
<ul><li>Bad ass CSS3-ified slideshow for the front page, also using collective.easyslideshow</li><li>Styled webcoutier.dropdownmenu</li><li>Working on js for speaker profiles</li></ul>
<div>&nbsp;</div>
<div><strong>Team Foot Soldiers</strong> | Beth Phillips, Tyler Randles, Quyen Hoang, Mark Corum</div>
<ul><li>Created original artwork for the footer, depicting San Francisco from below the Bay Bridge</li><li>Rendering the sketches in Illustrator<img class="image-right" src="website-v3-content.jpg/image_mini" alt="Website Content Page Design" /></li><li>Researching jQuery to swap bg images past a scrolled point</li></ul>
<div>&nbsp;</div>
<div><strong>Team Left Behind</strong> | Rose Pruyne</div>
<ul><li>Designed a logo for the Rapture Sprint</li><li>Set up t-shirts for sale with the logo on Cafepress (<a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.cafepress.com%2Fcp%2Fcustomize%2Fproduct2.aspx%3Fnumber%3D542298001%26utm_medium%3Dcp_social%26utm_source%3Daddthis%26utm_campaign%3DCreateAndBuyPDP&h=ac715" target="_blank">men's</a>) (<a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.cafepress.com%2Fcp%2Fcustomize%2Fproduct2.aspx%3Fnumber%3D542306461%26utm_medium%3Dcp_social%26utm_source%3Daddthis%26utm_campaign%3DCreateAndBuyPDP&h=ac715" target="_blank">wom</a><a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.cafepress.com%2Fcp%2Fcustomize%2Fproduct2.aspx%3Fnumber%3D542306461%26utm_medium%3Dcp_social%26utm_source%3Daddthis%26utm_campaign%3DCreateAndBuyPDP&h=ac715" target="_blank">en's</a>) (<a href="http://www.cafepress.com/cp/customize/product2.aspx?number=542305783&utm_medium=cp_social&utm_source=addthis&utm_campaign=CreateAndBuyPDP" target="_blank">kid's</a>)&nbsp;</li></ul>
<div>&nbsp;</div>
<div><strong>Team Destination SF</strong> | Michael&nbsp;</div>
<ul><li>Researched travel information on SF</li><li>Created an example form for pre-conf reqs from attendees</li><li>Researched visa information for attendees<br /></li></ul>
<div><strong><br /><img class="image-right" src="footer.jpg/image_mini" alt="Footer Sketch" />Team Git 'er Do</strong><strong>ne</strong> | Chrissy Wainwright, Michael Duggan, Trish Ang, Erin Weber</div>
<div>
<ul><li>Chrissy showed us how to use git</li></ul>
</div>
<div>
<ul><li>Successfully checked out ploneconf.theme</li></ul>
</div>
<div>&nbsp;</div>
<div><strong>Team XDV-ators</strong> | Michael Miller, Rob Porter</div>
<ul><li>Packaged a few XDV themes from the UCLA sprint last year</li><li>Documenting how to package a theme</li></ul>
<h3><strong>Vocabulary Manager</strong></h3>
<p>Nathan Van Gheem and Clayton Parker worked a new API for an up-to-date vocabulary manager for Plone. Implementation actually begun.</p>
<h3>Plone Phone Home</h3>
<p>Eric Steele and Matt Hamilton worked on a "phone home" feature for Plone buildouts that will anonymously send product-usage data to a Google Apps database. We'll be able to use that data for general Plone usage statistics as 
well as include usage-over-time graphs/numbers for PSC pages. This advanced rapidly to alpha 2, and folks around the sprint began using it. Eric reported that early stats showed most users relying on unrelease versions of Plone 4.1.</p>
<p>Eric also working on getting automated Dexterity testing set up on jenkins.plone.org.</p>
<p>It was a notably slow couple of days for Eric, as he only managed to get these few pitiful things and the release of Plone 4.0.6 and 4.1rc2 done. What a slacker!</p>
<h3>Bug Fixes</h3>
<p>Steve Smith and Michael Smith wrestled with the Plone ticket list. They did a lot of triage, closed old tickets, and fixed some bugs.</p>
<h3>PFG</h3>
<p>SteveM released 1.6.1 and 1.7b1 of PloneFormGen, along with merging and releasing Nathan's Plone 4 fixes for PFGDataGrid.</p>
<h3>Breakout Tutorials</h3>
<p>Clayton gave a git/github tutorial on day one; SteveM gave a quick review of Dexterity on day two.</p>
<h3>Rapture Sprint T-Shirts <br /></h3>
<p>Rose Pruyne designed a Cafe Press t-shirt based on her logo. It's available on-demand in <a class="external-link" href="http://www.cafepress.com/cp/customize/product2.aspx?number=542306461">Women's</a> and <a class="external-link" href="http://www.cafepress.com/cp/customize/product2.aspx?number=542298001">Men's</a> cuts.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                <dc:date>2011-05-26T17:00:40Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/pfg-rapture">        <title>PloneFormGen Updates</title>        <link>http://www.stevemcmahon.com/steves-blog/pfg-rapture</link>        <description>New releases in the 1.6 and 1.7 series</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>I've just released two new versions of PloneFormGen:</p>
<p>1.6.1 is a maintenance release for the PFG 1.6 series. It contains several bug fixes made over the last few months, but no new features. Thanks to Maurits and David for fixes, and to MJ for a Norwegian translation. It works in Plone 3.x and 4.x.</p>
<p>1.7b1 is the first beta release for the 1.7 series. It's big new thing is Manca's work on drag and drop and quick editing of fields. Drag and drop support is now picked up from collective.js.jqueryui. 1.7 will run on Plone 3.3.x or 4.x, but will be most comfortable on Plone 4.1, which includes an updated plone.app.jquerytools. If you want to use 1.7.x with Plone &lt; 4.1, make sure you add a pin to your buildout to specify the latest plone.app.jquerytools.</p>
<p>Also, I just release a new version, 0.2, of Products.PFGDataGrid. This merges Nathan Van Gheem's Plone 4 compatability branch. It should work with Plone 3.x or 4.x.</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2011-05-21T17:52:34Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/pssa-sprint">        <title>Plone Symposium South America: Sprint Report</title>        <link>http://www.stevemcmahon.com/steves-blog/pssa-sprint</link>        <description>We had a great two days of sprinting at the end of Plone Symposium South America in Cordoba, Argentina.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>Our sprint was held Friday and Saturday, November 26th and 27th, in a beautiful room atop the Windsor Hotel Tower. We had a great view of central Córdoba, and the city's great energy helped keep us in good spirits.</p>
<p>SteveM, Emanuel Sartor, and Chimera all worked on PloneFormGen. Most of this was around merging Manca’s GSOC branch, which adds great new UI to PFG. Work on this included:</p>
<ul><li>Branching PFG; trunk is now 1.7dev</li><li>Merging Manca’s GSOC branch</li><li>Adapting to use new plone.app.jquerytools kit</li><li>Making the new JavaScript pass jslint tests and generally cleaning it;</li><li>Making a JS message translation framework, since there are now several messages in the JavaScript.</li><li>Revising the new browser view that discovers fields to make it more generally useful going forward.</li><li>Researched jquery tools drag and drop functionality to see if it can be more generally used in PFG (unfortunately, probably not);</li><li>Worked on PFG quick edit bugs in new code.</li><li>Stripping old Plone 2.5 compatibility code (PFG 1.6+ doesn’t support Plone &lt; 3.1);<br /></li></ul>
<p><img class="image-left" src="sprint-view/image_mini" alt="View from a sprint" />We got several people up to speed on buildout and bug fixing, and participated in the Plone TuneUp. Emanuel, Diego and Franco fixed bugs.</p>
<p>Roberto Allende worked on his ZODB class browser; he found a good JS library to render panes.</p>
<p>Juan Diaz worked on collective.thememaker with chimera; working on project to be committed to collective.</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2010-11-29T13:09:09Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/p3inets">        <title>A Look at Plone 3 Intranets</title>        <link>http://www.stevemcmahon.com/steves-blog/p3inets</link>        <description>A review of “Plone 3 Intranets” by Víctor Fernández de Alba.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>Víctor Fernández de Alba's <em><a class="external-link" href="https://www.packtpub.com/plone-3-design-build-deploy-full-featured-secure-enterprise-intranet/book">Plone 3 Intranets</a> </em>isn't just about Plone 3, and it isn't just about intranets. Nearly all of the material in the book is equally applicable to Plone 4. And, in addition to intranets, this book is really about any content-management situation where there is delegated authority over content management.</p>
<p>Plone’s great strength is in the collaborative production of web content, whether for public or internal consumption. It gives managers the tools they need to delegate authority for production, editing and reviewing of content, and it gives authors, editors and managers a great user interface for doing their work in a way that allows them to concentrate on content.</p>
<p><em>Plone 3 Intranets</em> is all about that great strength. Its target audience is site administrators who want to learn how to administer users and groups, assign roles in content creation and management, use workflow rules to shepherd content, and to control the availability of content. The subject does not require a knowledge of Plone development, and the book does not require a knowledge of Python, HTML or CSS. Instead, it’s about administering, and planning the administration of a site using Plone itself. It also occasionally delves into the interface of the Zope application server, which underlies Plone, when that would help the reader understand important details about security or workflow.</p>
<p>This is no “Dummies” book. The target audience is smart enough to understand a concept like <em>granular security</em> and ready to map security concepts onto the needs of their own organization.</p>
<p><em>Plone 3 Intranets</em> is very well written. It contains some of the clearest explanations of users and group administration, sharing and workflow of any of the current Plone books. The quality of the prose is definitely a cut above Packt's common product.</p>
<p>There is getting to be a wealth of books covering Plone 3 and 4, and it’s worth figuring out where a new one fits in the list. <em>Plone 3 Intranets</em> and Erik Rose’s <em>Plone 3 for Education</em> are both basically concerned with same environment: one with lots of content, content creators, and a need to organize and administer that content. Erik’s book is for the developer programatically adapting Plone to the specifics of a given enterprise. Victor’s book is for the planner and administrator.</p>
<p class="discreet"><strong>The reader of this review should know</strong>: Packt gave me a free e-book version of this book. Also, I’m the co-author of one Packt book (Practical Plone), for which I received initial royalties, and have been a technical reviewer for several others, for which I received free copies of the reviewed book and another Packt title. The Plone Foundation, for which I am an un-recompensed officer, receives continuing royalties from Packt for <em>Practical Plone</em>.</p>
<p>&nbsp;</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                <dc:date>2010-09-11T21:04:24Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/not-just-coders">        <title>Plone Conf 2010: Not Just for Coders</title>        <link>http://www.stevemcmahon.com/steves-blog/not-just-coders</link>        <description>Plone Companies: Get your design, UI, documentation and project management people to the conference.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p><a class="external-link" href="http://www.ploneconf2010.org/news/talks-submission-now-open">Talk submissions are now open</a> for Plone Conference 2010, and your Plone company may be starting to encourage folks to submit talk proposals.</p>
<p>Please, think beyond just coders! We'll have a more interesting, and more valuable, conference if we bring together all the kinds of skills and interests that make up the Plone project. So, please, encourage your user-interface, design, theming, user-documentation, and project-management folks to put in talk proposals and to attend the conference.</p>
<p>Some talks I'd love to see:</p>
<p><strong>New Horizons in Accessibility.</strong> OK, Plone's accessibility isn't bad. What can we do to make it better? Not just in the accessibility-checklist sense that so many are fixated on, but in the opening new possibilities sense.</p>
<p><strong>Instrumenting Usability.</strong> Usability testing is great, but are there good ways to instrument our sites to find UI failure points? Do we have any case studies on bringing that sort of data to bear on design?</p>
<p><strong>Customized Documentation.</strong> Has anyone got good mechanisms that their team uses to customize documentation for end users with customized sites?</p>
<p><strong>Managing multi-national, multi-cultural projects.</strong> Plone has got some good i18n tools, but that's probably the tiniest consideration in making a project with diverse participants successful.</p>
<p><strong>Constituent-relationship case studies.</strong> There are lots of Plone sites in use by advocacy organizations that organize constituent campaigns. How do they use existing Plone tools to make that work. What more is needed?</p>
<p><strong>Delivering content to low-tech communities.</strong> We're adding on slick AJAX UI with every release. Is that posing a problem for getting information to folks with old browers and slow connections?</p>
<p>That's just my list. The point is that agile organizations bring directly together coders with the people who have domain knowledge. Realistically, we're not going to have lots of end-users at a tech conference. But we can get together a larger portion of our own tech community if we think beyond the set of those who write Python in preference to their birth tongue.</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Open Source</dc:subject>                    <dc:subject>Plone</dc:subject>                <dc:date>2010-08-21T16:21:59Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/finishing-up-gsoc-2010-ploneformgen-work">        <title>Finishing Up GSOC 2010 PloneFormGen Work</title>        <link>http://www.stevemcmahon.com/steves-blog/finishing-up-gsoc-2010-ploneformgen-work</link>        <description>A video snapshot of Manca's latest PFG UI work.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>In <a title="Google Summer of Code & PloneFormgen" class="internal-link" href="google-summer-of-code-ploneformgen">a recent post</a>, I described some of the great work <span class="description">Nenad Mancevic (Manca) has been doing adding new user interface features to PloneFormGen as part of his Google Summer of Code project.</span></p>
<p><span class="description">GSOC 2010 is now complete, and it's time to show you something moving! Here's a quick tour of some of the new features.<br /></span></p>

<p>&nbsp;</p>
<p>Hopefully, Nenad will be able to make it to Bristol for the <a class="external-link" href="http://ploneconf2010.org/">Plone Conference</a>, and we'll all be able to let him know personally how much we like his work.</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2010-08-19T17:43:00Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/google-summer-of-code-ploneformgen">        <title>Google Summer of Code &amp; PloneFormgen</title>        <link>http://www.stevemcmahon.com/steves-blog/google-summer-of-code-ploneformgen</link>        <description>Nenad Mancevic (Manca) has been doing some great work adding dynamic UI elements to PloneFormGen.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p><strong><a class="external-link" href="http://code.google.com/soc/">Google's Summer of Code Program</a></strong> offers students around the world the opportunity to do some paid summer work for open-source projects. It works by pairing students and experienced project mentors. GSOC has been very good to the Plone project over the years; we've had several students every summer.</p>
<p><strong>This summer, I'm working as a mentor with Nenad Mancevic</strong> (Manca), who's adding some great new dynamic User Interface elements to PloneFormGen. PFG's a generic form builder for Plone that's aimed at end users and site admins: it allows them to quickly build simple forms to do simple things like record or e-mail input.</p>
<p>PloneFormGen uses the Plone interface for adding and maintaining content. The advantage of that is that it gives users a very familiar interface for building forms. But that's meant that it lacks a lot of form-oriented niceties to help out more proficient users.</p>
<p><strong>Nenad is using jQuery, jQuery Tools, and a little jQuery UI</strong> to add some dynamic form-editing tools that power users will really love. Let's take a quick look at some of what he's already got going. You may check out Nenad's work in detail by taking a look at his <a class="external-link" href="https://svn.plone.org/svn/collective/Products.PloneFormGen/branches/manca-gsoc/">svn branch</a>, which is currently working with Plone 4.</p>
<h3>Widgets Manager</h3>
<p>When you click the "quick edit" flag on a PFG form, the first thing you'll notice is a new "Widgets Manager" displaying all the form fields and actions you may add to the form. Nenad had to dive pretty deep into Plone and PFG to find a way to grab a list of all of the PFG types which may be added at a given location by a given user. (Remember, there are lots of third-party field and action add ons for PFG that need to be included automatically.)</p>
<p>The Widget Manager is going to allow Nenad to offer a drag and drop mechanism for adding new fields and actions to a form.</p>
<h3><img class="image-right image-inline" src="dragdrop.png/image_mini" alt="Drag-n-Drop" />Speaking of Drag &amp; Drop</h3>
<p>PFG's quick editor has been using some code repurposed from the Plone folder reordering mechanism. It had some oddities, and offered little user feedback. Nenad's replaced it with some new, very slick functionality imported from jQuery UI. (A minimal import that doesn't drag in any of the bigger chunks of jQ UIs behemoth bulk.)</p>
<p>AJAX Inline Editing</p>
<p>When you're making a quick change to a form, chances are that you're just changing a field name of its required flag.</p>
<p><img class="image-inline image-inline" src="inlinetitle.png/image_preview" alt="Inline Editing" /></p>
<p>No need to pull up the full field editor with Nenad's new AJAX in-line editing. And a good chance for Nenad to master calling content object methods from jQuery's AJAX handlers.</p>
<img class="image-left" src="validation.png/image_preview" alt="Required Field Validation" />
<h3>HTML5 Validation</h3>
<p>HTML5 is on its way, and includes some super new browser-based field input validation. jQuery Tools' latest version has some very nice code that retrofits many of these capabilities into earlier browsers. HTML5 browsers will use their native capabilities; old and crusty browsers will get a quick upgrade via JQT. Nenad's been fitting it into PFG so that PFG sends the new HTML5 field validation attributes, along with the JQT support for older browsers. So, you get validation without the round trip to the server, in a web-standards way.</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2010-07-14T04:16:50Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/tools">        <title>Plone and jQuery Tools</title>        <link>http://www.stevemcmahon.com/steves-blog/tools</link>        <description>Plone 4 uses the ultra-lightweight jQuery Tools set for basic UI. Here's why we chose it.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>The two most obvious cosmetic changes to Plone 4 are its clean and modern theme, Sunburst, and the addition of popup forms for AJAX modal dialog functions like login, contact form, user addition and history views. (This is, of course, literally the surface of the great new feature set for Plone 4. See the <a class="external-link" href="http://dev.plone.org/plone/roadmap">roadmap</a> for a quick view of the change set.)</p>
<p>Behind the slick popup overlays is a gem of JavaScript programming, the ultra-lightweight <a class="external-link" href="http://flowplayer.org/tools">jQuery Tools</a> UI library from the same folks who created FlowPlayer. jQuery Tools takes care of overlays and tabs in Plone 4, and we've also included in Plone 4 the tools' tooltip and scrollable libraries. And, there's some Plone-specific code that allows us to turn a form page into an AJAX overlay with just a few lines of JavaScript. This is built into Plone 4, and may be added to Plone 3 by installing the plone.app.jquerytools package.</p>
<p>The key jQuery Tools components will add an amazingly small 4kb of weight to the basic Plone page download. For logged in users, the average page size will sometimes be smaller than before, since we took advantage of the overlay facility to separate out page history into an AJAX popup. (For which, we also got an impressive improvement in page rendering speed. The rememberance of things past turns out to be computationally expensive.)</p>
<p>Despite the small size and general coolness of jQuery Tools, its addition to the base Plone package was an occasion for serious consideration and some debate. First of all, no third-party library is added to Plone's dependencies without some serious examination. Second, we know that many Plone developers have their own choices for JavaScript UI libraries, and the Framework Team didn't want to pick sides without good reason. But, we were also aware that if there wasn't any leadership on this, we'd soon end up with multiple UI libraries in commonly used add ons.</p>
<h3>Tools, Not Policy</h3>
<p>Candidates for our UI kit had to be jQuery-based. And, it helped that jQuery Tools is tiny (around 12kb minified and under 4kb gzipped). The small size isn't just great coding (though the code quality is excellent). It's the result of intentional minimalism. jQuery Tools isn't a framework, and it doesn't carry a design philosophy beyond being CSS-centric. For our purposes, that was great. Plone has its own user-experience philosophy and well-thought-out CSS structure. We didn't want a JS/UI kit that we'd have to code around or to which we'd have to adapt.</p>
<h3>Why not jQuery UI?</h3>
<p>The jQuery Project's jQuery UI library is an obvious point for comparison. I discovered at the recent jQuery Conference that many jQuery fans don't distinguish between jQuery UI and jQuery; in their minds, they are one and the same, and they don't understand why anyone would pick jQuery, but not jQuery UI.</p>
<p>jQuery UI is a very credible candidate if you're starting from scratch and willing to take its UI design philosophy for your own. Employing jQuery UI pretty much means that you'll be starting with its CSS theme kit as the basis of your style. Or, you'll have a lot of CSS bloat to support your jQUI visual components.</p>
<p>Also, JavaScript's support for object-oriented development is shaky. It's great for light-weight objects coordinated with an event-messaging system, but if you try to design like you're using class-based inheritance, you end up with big objects (code-wise). And, when you add functionality, they have to get bigger, as there's no multiple inheritance and no component architecture. jQuery UI (very much unlike jQuery) is built with this kind of structure. That's not necessarily a problem if your theming is built around jQuery UI, but I can't help but be reminded of where we ended up with Archetypes. It works, but you've got to buy into way too much to get going. Buying into way too much, in this case, means buying into a lot of CSS and JS overhead. Probably ten times as much to achieve just the basics.</p>
<p>And then, since the widget design philosophy is very different from that of HTML5, we might just be ripping out a lot of it not that far into the future....</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>JQuery</dc:subject>                    <dc:subject>JavaScript</dc:subject>                    <dc:subject>Plone</dc:subject>                <dc:date>2011-01-06T16:37:12Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/bdfl">        <title>BDFL considered (potentially) harmful</title>        <link>http://www.stevemcmahon.com/steves-blog/bdfl</link>        <description>In a mature open-source project, the power of a BDFL should be moral — not proprietary.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p><strong>Your code may be open-source, but what about your project?</strong></p>
<p><em>Is your&nbsp;software project’s Benevolent Dictator For Life really benevolent?</em></p>
<p>“Yes” is a fine answer.</p>
<p><strong>“It doesn’t matter that much” is a better answer.</strong></p>
<p>Many open-source software projects have a BDFL, typically one of the project founders. In a healthy project, that authority is nearly exclusively moral authority. There is little or no real legal or contractual authority resting with the title holder.</p>
<p><strong>Moral authority is important.</strong> It allows the BDFL to resolve disputes, and a healthy project needs one or more persons with that kind of authority. What’s vital is that the authority can be challenged, and, if not exercised on behalf of the community, lost. The fact that moral authority can be lost is the best insurance it will be well-used.</p>
<p>Most commerce operates under a different model of authority, usually the legal rights of ownership. Ownership of land, improvements, copyrights, patents and trademarks. That is proprietary authority.</p>
<p><strong>Open-source software code is defined by the license.</strong> The code is GPL, or it’s not; it’s BSD/MIT/X-Windows or it’s not. Odds are that if you’ve invested a lot of time in working on a body of open-source code, you've made an effort to check out the license. You know what it is, and you've given some thought to the strengths and limitations of that license.</p>
<p>That covers the code, but what about the project that fosters the code? What about the basis of authority in that project?</p>
<p><strong>For code, it’s the license. For the project, it’s the trademarks and the copyrights.</strong> Someone — some person or legal entity — owns the trademarks for the project name. Some person or entity owns the registrations for the domain name. And, the person or entity that owns the copyright on the code has control over the future licensing of the code. The value of trademarks potentially dwarf the value of the code.</p>
<p>A concrete example: last year the Plone Foundation did a valuation of the code that makes up the Plone Content Management System. A reasonably defensible valuation, using the kind of methods that accountants use every day, arrived at roughly three million USD. That’s basically an estimate of how much you’d need to pay to reproduce the code base.</p>
<p>If you’ve any familiarity with the Plone project, it’s probably obvious to you that the project as an economic enterprise is worth more. A lot more. Hundreds of times more. Smart people and companies world-wide make a living selling solutions marketed under the Plone brand.</p>
<p>I’ll bet that the same thing is true of your open-source project.</p>
<p><strong>So, you did due-diligence on code licensing. Did you spend some time investigating how the project’s intellectual property is held?</strong></p>
<p>Take a moment. Do a search to determine ownership of your project’s trademarks and copyrights. Do a <em>whois</em> on the domain names associated with the project.</p>
<p>Ideally, you’ll find that the founders of your project transferred the trademarks and copyrights to a well-organized, transparently managed, public-benefit foundation. BDFLs like Guido
 van Rossum (Python), Larry Wall (Perl), and Alex Limi and Alan Runyan (Plone) earned their “benevolent” titles with great code, good leadership, and by irrevocably conveying key intellectual property rights to foundations that limited their authority. Their authority in their projects is largely moral. BDFL in these cases translates to “dictator for life — so long as benevolent.”</p>
<p><strong>If that’s not what you find, it’s time to start asking questions. </strong>Is the authority of your BDFL proprietary? You may trust your BDFL, but do you trust all his or her business associates and heirs? Do you trust that your BDFL will never come under personal, financial or legal pressure that might change their commitments? Are you willing to stake your livelihood on it? Is BDFL translating to “Dictator for life — benevolent or not?”</p>
<p>If you’re like me, the open-source project you work with is the center of a big investment of your business time and energy. If your ability to market and explain your work is based on a trademark license that is “revocable at any time, and subject to changes in policy” by your BDFL, it’s time to start pushing for some better answers. You may be too dependent on the benevolence of a BDFL, and while the code you work on may be open-source, the project might not meet the same test.</p>
<p>&nbsp;</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Open Source</dc:subject>                    <dc:subject>Plone</dc:subject>                <dc:date>2010-05-22T17:49:50Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.stevemcmahon.com/steves-blog/develop-cfg">        <title>New developer buildout options in installers</title>        <link>http://www.stevemcmahon.com/steves-blog/develop-cfg</link>        <description>Developer-oriented options in the Unified and OS X installers have moved.</description>   <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
<p>Starting with Plone 4.0b3, we've moved the developer-oriented 
portions of basic Plone setup into a separate buildout configuration 
file.</p>
<p>That means that the basic Plone buildout configuration that ships 
with the Unified and OS X installers (and probably the Windows installer
 in the future) does not include paster and the ZopeSkel template kit.</p>
<p>Instead, these and many other developer-oriented items are now in a 
new develop.cfg configuration file that extends the basic buildout. So, 
you may run:</p>
<pre>bin/buildout -c develop.cfg</pre>
<p>from the top of your install to get a developer kit.</p>
<p>Since develop.cfg extends the base buildout, any changes you make in 
your buildout.cfg file will be reflected in the results you get when you
 use develop.cfg.</p>
<p>In addition to the paster/ZopeSkel tools, the developer configuration
 includes:</p>
<ul><li>mr.developer, a tool that automatically checks out source for 
add ons from a versioning system, then adds them to your development 
package list.</li><li>testrunner, which provides a command-line option 
to run test suites.</li><li>omelette, which automatically musters python
 package sources into parts/omelette for easy find / grep access. 
(Omelette doesn't work with Windows, and won't be included there.)</li><li>DocFinderTab,
 which adds a "doc" tab to the ZMI to explore documentation for the 
current Zope object.</li><li>More to come. As commonly used developer 
tools migrate to Plone 4, they may be added to the develop.cfg. We'll 
add those that have proven reliable and useful for content-type and 
theme developers.<br /></li></ul>
<p>
In case you're wondering, we made these changes just to keep developers 
on their toes and find out who reads the README files. Actually, that's a
 lie. The changes were made to give us a good development kit aimed ad 
content- and theme-level developers without adding any more complexity to the 
production-oriented basic buildout configuration.</p>
</content:encoded>
     <dc:publisher>No publisher</dc:publisher>        <dc:creator>stevem</dc:creator>        <dc:rights></dc:rights>                    <dc:subject>Plone</dc:subject>                <dc:date>2010-05-22T17:26:51Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>




</rdf:RDF>

