<?xml version="1.0" ?>
<?xml-stylesheet href="" type="text/css"?>

<Channel xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:dcterms="http://purl.org/dc/terms/"
         xmlns="http://purl.org/net/rss1.1#"
         xmlns:p="http://purl.org/net/rss1.1/payload#"
         rdf:about="http://theploneblog.org/blog">

    <title>The Plone Blog</title>
    <link>http://theploneblog.org/blog</link>

    <description>A blog about Plone.   Advocacy, evangelism, news and gossip from the world of Plone.</description>

    <image rdf:parseType="Resource">
        <title>The Plone Blog</title>
        <url>http://theploneblog.org/logo.png</url>
    </image>

    <items rdf:parseType="Collection">
        
        <item rdf:about="http://theploneblog.org/blog/archive/2008/05/06/openplans-now-with-plone-3-and-easy-to-install-too">
            <title>OpenPlans, now with Plone 3! (and easy to install, too...)</title>
            <link>http://theploneblog.org/blog/archive/2008/05/06/openplans-now-with-plone-3-and-easy-to-install-too</link>
            <description>An overview of the OpenPlans software's recently added Plone 3 support and improved installation story.</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Wow, it's been a while since I've sent a message out to the greater Plone community.&nbsp; I've been a bit busy over the last few months, what with having a new <a title="external-link" href="http://www.nonsequitarian.org/gallery/ashland-environs/IMGP3123.jpg/image_view_fullscreen">baby</a>, and with internal-facing improvements to the OpenPlans software.</p>
<p>In the last weeks, though, I've been able to get around to some long-lingering needs which may be of interest to all of you.&nbsp; Specifically, I've been getting the OpenPlans software to work on Plone 3.0, and I've put some finishing touches on the OpenPlans installation process, so that it's now much much easier for someone who wants to play around with a full OpenPlans stack to get started.&nbsp; (OpenPlans, for those of you who don't know, is the largely-but-not-exclusively Plone-based software that powers the collaborative community website <a title="external-link" href="http://www.openplans.org/">openplans.org</a>, among others.)</p>
<p>  The Plone 3 support is still experimental; it's not deployed on any of our live sites, and it hasn't yet seen any extensive testing.&nbsp; It installs and works, however, and all of our unit and functional test suites pass.&nbsp; And not only do they pass... they run much more quickly.&nbsp; The zopectl tests are about 2.5 times faster (yes, that's 250%!) than they were before.&nbsp; The <a title="external-link" href="http://www.openplans.org/projects/flunc/project-home">flunc</a> tests, which emulate a browser and connect to a running site over HTTP, don't see <em>that</em> much of an improvement, but they are consistently 20-25% faster than they are against a Plone 2.5-based stack.&nbsp; Much (but far from all) of the improvement comes from Helge's <a title="external-link" href="http://www.jarn.com/blog/membrane-performance/">refactoring</a> of Membrane's object_implements index implementation; if you run a Remember or Membrane based site and you haven't played around with that code, I strongly recommend you do.&nbsp; In any event, once we get this merged back to the trunk and installed on the openplans.org site, I'm confident there will be a very noticeable performance improvement for our users.</p>
<p>Equally exciting to me is that we now have some nice tools in place for people to get their own local copies of OpenPlans working.&nbsp; It's taken us three iterations, but we've finally got a set of build tools and a build process dialed in that is working for us in managing both our development and production deployment environments.&nbsp; And we've put some thin wrappers around this to make it easy for you to get started.&nbsp; You can learn more at our <a title="external-link" href="http://www.openplans.org/projects/opencore/getting-started">getting started</a> page.&nbsp; If you're <em>REALLY</em> impatient you can eyeball the steps you'll have to take to get things going in the <a title="external-link" href="http://www.openplans.org/projects/opencore/getting-started/#reduction">quick start</a> section, although you'll probably also want to look at <a title="external-link" href="http://www.openplans.org/projects/opencore/getting-started/#instruction">what you will need</a> since OpenPlans does require that some other tools and services be available on your server before you can start the build.</p>
<p>Those of us at <a title="external-link" href="http://topp.openplans.org/project-home">TOPP</a> have had a great time building this; we hope that you find it valuable, and that you have as much fun using it, either hosted by us on openplans.org or as your own installation elsewhere.</p>
</p:payload>
            <dc:date>2008-05-06T19:12:12-07:00</dc:date>
            <dcterms:modified>2008-05-06T19:12:12-07:00</dcterms:modified>
            <dc:creator>Rob Miller</dc:creator>
            
            
            <dc:subject>plone 3.0</dc:subject>
            
            
            <dc:subject>community</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2008/03/11/sightline-daily-recap">
            <title>Sightline Daily Recap</title>
            <link>http://theploneblog.org/blog/archive/2008/03/11/sightline-daily-recap</link>
            <description>A recap of a developer's favorite features in action on the Sightline Daily Plone-powered website.</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p><a href="../../images/Picture9.png/image_view_fullscreen"><img class="image-right" src="../../images/Picture9.png/image_preview" alt="Sightline Daily"></a>Yeah, I know that <a title="external-link" href="http://blogs.onenw.org/jon">Jon</a> already let the <a title="external-link" href="http://daily.sightline.org">Sightline Daily</a> <a title="external-link" href="http://blogs.onenw.org/jon/archives/2008/03/08/sightline-daily-launches/">cat out of the bag</a> and <a title="external-link" href="http://del.icio.us/tag/plone-site">every day brings ever more</a> impressive and interesting <a title="external-link" href="http://plone.net/sites">Plone sites</a>, but before I move onto the next project, I'll afford myself a few minutes to get nostalgic.&nbsp; Thanks for humoring me.&nbsp; I figure anything that consumes several hundred hours+ and a few months of your life deserves at least a blog post for posterity.&nbsp; Plus, I'm happy with the result.<br>&nbsp;</p>
<p>So, in no particular order, here are several of the noteworthy pieces that make up Sightline Daily:</p>
<ul><li>I suppose the first thing anyone notices in a site is the graphic design and, *man*, is Sightline Daily tastefully done.&nbsp;&nbsp; It's clean, skimmable, attractive, and presents a lot of metadata about news clippings in a non-overwhelming way.&nbsp; A few times, I found myself mindlessly clicking around and just absorbing the niceness.&nbsp; Sightline Institute managed the design process with <a title="external-link" href="http://ryanswarts.com/strawsmedia/index.php">Ryan Swarts</a> and it's a great product.&nbsp; My colleague David Glick implemented the CSS to perfection with some initial bootstrapping and work by ONE/Northwest friend Trey Beck.<br></li><li>By ONE/Northwest standards, there was a rather large team collaborating on this project.&nbsp; Sightline brings ~10 content editors, bloggers, content creators, and project managers to the table.&nbsp; On the implementation side, we teamed with Web Collective (they focused on the blog features and portlets mostly, while I did the daily news headline-related programming), bringing the number of programmers, templaters, specification writers, and CSSers to 8.&nbsp; On top of the implementation work I was responsible for, I had great time working with my fantastic co-worker, Kelley, helping to manage the biggest team I've worked with to date.<br></li><li>I believe Jon mentioned the bookmarklet for clipping headlines, but this is fantastic.&nbsp; It's the fastest method I've seen for *manually* pushing content into Plone.&nbsp; Leading up to the implementation, I was a bit nervous about this piece, but equipped with a similar snippet produced for Salesforce.com by a co-worker, Steve, some inspection of the del.icio.us bookmarklet, and some Googling about, this was a cinch.&nbsp; You have to see the screencast below to get a sense for how it works.&nbsp; Money quotes from Sightline Daily editor Kristin Kolb were "You're saving me from carpal tunnel" and "I feel like I just received my Christmas present early" (I first demoed this in early December) upon seeing this. Awesome.&nbsp; I couldn't make that up.<br></li></ul>
<p>&nbsp;</p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="641" width="1013"> <param name="movie" value="http://content.screencast.com/bootstrap.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/media/bc0eade9-3703-40fd-8c3b-4fa09556461d_eaa5346e-a36b-4efa-b728-c6c22d654339_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/c937ca0f-9ee2-42de-b195-7b9598b8543c_eaa5346e-a36b-4efa-b728-c6c22d654339_static_0_0_00000001.swf&amp;width=1013&amp;height=641"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always">  <embed width="1013" height="641" scale="showall" allowfullscreen="true" flashvars="thumb=http://content.screencast.com/media/bc0eade9-3703-40fd-8c3b-4fa09556461d_eaa5346e-a36b-4efa-b728-c6c22d654339_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/c937ca0f-9ee2-42de-b195-7b9598b8543c_eaa5346e-a36b-4efa-b728-c6c22d654339_static_0_0_00000001.swf&amp;width=1013&amp;height=641" allowscriptaccess="always" type="application/x-shockwave-flash" quality="high" src="http://content.screencast.com/bootstrap.swf"></embed> </object></p>
<p>&nbsp;</p>
<ul><li>Auto-generation of related items based on a Plone catalog query for 2 relevant news headlines and 1 blog post.&nbsp; The effort to navigate to and hand pick related items was too time-consuming for the editorial process, so we wrote code that takes into account key terms to use for a query of Plone's "SearchableText" index and creates references to the returned results. <br></li><li><a href="../../images/Picture5.png/image_view_fullscreen"><img class="image-right" src="../../images/Picture5.png/image_preview" alt="Sightline Daily Bulk Edit"></a>A wizard-esque configlet that logically steps through the entire publishing process from choosing the date for the next "edition" of news clippings through to bulk editing all the way to previewing and publishing for site visitors.&nbsp; The entire process can be done outside the context of the normal Plone user interface.&nbsp; The highlight is definitely the bulk edit screen (seen to the right), which allows for starring news headlines as "top picks", editing of the keywords that should be used for auto-relating items, and drag 'n' drop reordering of stories.&nbsp; Kudos to Jon for brainstorming a solid, implementable specification for this that held pretty closely from mockup to implementation.</li></ul>
<ul><li>It's been said before, but Zope 3 brings us a fantastic event system.&nbsp; The bookmarklet mentioned and screencasted above uses Javascript to get the current browser location and pre-populates the news headline with a permalink.&nbsp;&nbsp; There's no need to slow the clipping down by forcing the editor to manually type or select the source publication as well (i.e. The New York Times or Washington Post).&nbsp; Rather, site users manage a centralized list of publications (new publications are added organically over time) using <a title="external-link" href="http://plone.org/products/atvocabularymanager">ATVocabularyManager</a>.&nbsp; Using each object's permalink and Python's <a title="external-link" href="http://docs.python.org/lib/module-urlparse.html">urlparse</a>, we simply index the permalink's netloc for fast retrieval.&nbsp; With this, we can compute and index the publication automatically.&nbsp; This is where Zope 3's event system comes into play.&nbsp; Because ATVocabularyManager fires off custom events upon edit and deletion of vocabulary terms, our headline's source publication stays up-to-date with some super simple event handling code.&nbsp; Thanks to the kind soul that baked this capability into ATVocabularyManager, because I wasn't going to port AT-events back from Archetypes 1.5.x.<br></li><li>Once launched and under normal load, the site turned out to be unexpectedly fast thanks to <a title="external-link" href="http://plone.org/products/cachefu">Cachefu</a> and some minimal configuration effort.</li><li>The site includes a nice bit of tasteful, interactive Javascript, again mostly implemented by my colleague David Glick. One can quickly expand and collapse the headlines and toggle between the days of the week.  This makes the site highly skimmable.<br></li><li>Every morning, Sightline sends out the top 10 or so headlines via email.&nbsp; In the past, one manual effort involved populating the site, while another involved drafting the daily email for a blast out to subscribers.&nbsp; This was a flat out waste of time and when you mix in how temperamental email clients are about HTML in email, this was a drain on Sightline staff.&nbsp; ONE/Northwest often uses an ASP-based email broadcasting service called <a title="external-link" href="http://whatcounts.com">WhatCounts</a> for the "email newsletter" part of our projects.&nbsp; This service provides an incredible feature called "Smartget" (and it's near identical siblings "cacheget" and "get" -- which I like to call "Dumbget").&nbsp; After the morning publishing process is finished on the site, Sightline logs into their WhatCounts instance and are greeted with a 1-line email template that goes out and grabs the raw HTML contents of the following <a title="external-link" href="http://daily.sightline.org/@@current-edition-daily-email">page</a> showing the latest news.&nbsp; Prefer plain text email, yeah, <a title="external-link" href="http://daily.sightline.org/@@current-edition-daily-plain">we did that too</a>.&nbsp; No double entry at all.&nbsp; My colleague Sam, did a fantastic job of giving me a plain-old HTML template that was cluttered with the most nasty HTML tables and inline styles needed for a consist look in the wild world that is HTML email compatibility.&nbsp; I don't think in HTML 4 and tables, so this was a huge boost.<br></li><li>Clean urls for news by topic, news by region, and rss by whatever.&nbsp; I have an unreasonable hatred of nasty urls.&nbsp; Try passing the following out over the phone http://www.domain.com/some/path/page?query_param=@value@&amp;query_param_2=value2&amp;template=some_template.htm.&nbsp; That's not even social.&nbsp; Thanks to Plone, we almost never have to worry about this.&nbsp; Before this project, I had never noticed the "subpath" (<strong>update: </strong>I intended to write "traverse_subpath" here, not "subpath" -- sorry if that threw anyone off.) parameter that's available in Zope's request.&nbsp; Essentially, you can add whatever directory structure onto the end of a skin-based template and it's right there for your consumption as a Python list in the request's subpath.&nbsp; I do a bit of processing in a browser view and instead of things like ?topic=energy, we have the following clean, friendly urls:</li>
<ul>
<li><a title="external-link" href="http://daily.sightline.org/news/topic/energy">daily.sightline.org/news/topic/energy</a></li><li><a title="external-link" href="http://daily.sightline.org/news/region/washington">daily.sightline.org/news/region/washington</a></li><li><a title="external-link" href="http://daily.sightline.org/rss/topic/energy/region/washington">daily.sightline.org/rss/topic/energy/region/washington<br></a></li></ul>
<li>In my opinion, Sightline's best content is their in-depth blog entries that are part of a <a title="external-link" href="http://daily.sightline.org/daily_score/series">series</a>.&nbsp; They've done great ones on <a title="external-link" href="http://daily.sightline.org/daily_score/series/bicycle-neglect/">bicycle neglect</a> and the quest to go an <a title="external-link" href="http://daily.sightline.org/daily_score/series/the-year-of-living-car-lessly-experiment/">entire year carfree</a>.&nbsp; Brian and Justin of the Web Collective put together a basic "series" content type and extended the blog entry, so that in the context of a blog post, the author can assign an entry to an existing series.&nbsp; This isn't rocket science, but it works really well for Sightline's needs and the graphic design for a series object is one of the best templates on the site.</li><li>Tests, tests, and more tests.&nbsp; I insisted before development started that because this application was so critical to the organization, because it was fairly complex with significant code interaction, and because there was a decent sized team of folks that had no clue what other developers were doing, that we needed to embrace a test driven development approach and push as much presentation logic into easily testable Zope 3 views.&nbsp; I even convinced myself that we had budgeted correctly for it ... oops.&nbsp; Test driven development is paradoxically both time consuming and time saving.&nbsp; At the end of it all, I don't regret the decision to adopt this approach one bit.&nbsp; I doubt few do.&nbsp; At the time of this writing we have 399 unit tests and all of them pass but 1, which I left unfinished to remind me of a feature I couldn't get working within the bulk admin interface and therefore disabled entirely. I wanted to finish that, but it was unnecessary and I needed to move onto other scoped items.&nbsp; The fact that we still have entirely passing tests after site launch for the enabled features signifies that even as we approached the looming deadline, we didn't abandon our agreed upon approach.<br> </li></ul>
<p>&nbsp;</p>
<p>So, there you have it.&nbsp; I suppose I could write another post or two covering all the lessons learned and the endless details that went into getting this site launched, but for now, I'll leave things at that.&nbsp; It's best to reflect on what worked well in the end anyways.&nbsp; Furthermore, I think Jon still plans to do a case study and possibly a screencast about the editorial process.&nbsp; That will certainly be interesting and take a closer look at the big picture.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>&nbsp;</p>
</p:payload>
            <dc:date>2008-03-11T21:30:13-07:00</dc:date>
            <dcterms:modified>2008-03-12T15:40:54-07:00</dcterms:modified>
            <dc:creator>Andrew Burkhalter</dc:creator>
            
            
            <dc:subject>NGO</dc:subject>
            
            
            <dc:subject>plone sites</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2008/03/10/collective-recipe-omelette-for-more-navigable-eggs">
            <title>collective.recipe.omelette: for more navigable eggs</title>
            <link>http://theploneblog.org/blog/archive/2008/03/10/collective-recipe-omelette-for-more-navigable-eggs</link>
            <description>Crack 'em open and mix 'em together...</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>I've been using zc.buildout for a few months now, and am quite happy with it.&nbsp; However, I got tired of navigating to my egg cache, locating the right package (and version) within a long flat list, and then clicking a few more times to actually get to the contents of the package.&nbsp; And I was looking for a project to practice my buildout recipe fu.</p>
<p>So I created collective.recipe.omelette.&nbsp; It's a simple buildout recipe that takes all your namespace-packaged eggs and merges their contents together into a single directory tree, in its own parts directory, with symlinks to the actual egg contents.&nbsp; The result looks much the lib/python of days gone by.&nbsp; So instead of:</p>
<pre>egg-cache/
&nbsp;&nbsp;&nbsp; my.egg.one-1.0-py2.4.egg/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; egg/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; one/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (contents of first egg)
&nbsp;&nbsp;&nbsp; my.egg.two-1.0-py2.4.egg/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; egg/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; two/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (contents of second egg)</pre>
<p>you can now make use of:</p>
<pre>parts/
&nbsp;&nbsp;&nbsp; omelette/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; egg/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; one/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (contents of first egg)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; two/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (contents of second egg)</pre>
<p>with obvious advantages in navigability and greppability.</p>
<p>Collective.recipe.omelette is available <a href="http://pypi.python.org/pypi/collective.recipe.omelette">from the Cheese Shop</a>.&nbsp; You can add an omelette to your buildout by making the following additions to buildout.cfg (assuming you have a part called instance and you want to generate symlinks for its eggs), and then re-running your buildout:</p>
<pre>[buildout]
...
parts =
    ...
    omelette

[omelette]
recipe = collective.recipe.omelette
eggs = ${instance:eggs}
</pre>
<p>One caveat: Since this makes use of symlinks, it of course won't work on a filesystem that doesn't support symlinks, such as Windows'.</p>
</p:payload>
            <dc:date>2008-03-10T22:56:42-07:00</dc:date>
            <dcterms:modified>2008-03-10T22:56:42-07:00</dcterms:modified>
            <dc:creator>David Glick</dc:creator>
            
            
            <dc:subject>buildout</dc:subject>
            
            
            <dc:subject>integration</dc:subject>
            
            
            <dc:subject>products and features</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2008/02/17/fabricating-freedom">
            <title>Fabricating Freedom</title>
            <link>http://theploneblog.org/blog/archive/2008/02/17/fabricating-freedom</link>
            <description>Free Software Developers at Work and Play</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal"><a href="http://flickr.com/photos/uncene/378721784/"><img src="http://farm1.static.flickr.com/135/378721784_4947840082_m.jpg" alt="" align="left"></a>
<p>I haven’t posted much here lately, but I have been writing. I recently
finished my first semester as a doctoral student in Columbia's school of journalism and one of the papers I completed draws directly on my experiences in the Plone Community.&nbsp; A few years ago I remember being struck at how different open source development was from what I (and presumably others) imagined it to be. I kept pitching human interest stories to journalists, ones that might emphasize the playfulness, the sprinting,  and the organizational experimentation, but got very few nibbles. So, I finally wrote some of this up myself before it all fades from memory:</p>
<p>&nbsp;</p>
<strong><a href="http://pocketknowledge.tc.columbia.edu/home.php/viewfile/38498">Fabricating Freedom: Free Software Developers at Work and Play</a></strong>
<p>&nbsp;</p>
<p><br>The paper was for a wonderful class this semester at the New School taught by <a href="http://www.newschool.edu/gf/soc/faculty/carpignano/index.htm">Paolo Carpignano</a> (The Political Economy of Media - here is the <a href="http://jonahboss.fastmail.fm/school/newschool-political_economy/Pol%20Ec%20Syllabus%202007.doc">syllabus</a>).
The class was all about the shifting relations between fabrication and
communication, or more colloquially, work and play. We opened with Marx
and Hannah Arendt and closed with <a title="external-link" href="http://www.benkler.org/wealth_of_networks/index.php/Main_Page">Yochai Benkler</a> and <a title="external-link" href="http://www.danah.org/">danah boyd</a>. The piece I wrote is personal and anecdotal, but reflects on all that our community has taught me about free software, free culture, organizing, consensus building and the day to day politics of software development.</p>
<p>enjoy.</p>
</p:payload>
            <dc:date>2008-02-17T20:01:41-08:00</dc:date>
            <dcterms:modified>2008-02-17T20:01:41-08:00</dcterms:modified>
            <dc:creator>Jonah Bossewitch</dc:creator>
            
            
            <dc:subject>sprints</dc:subject>
            
            
            <dc:subject>education</dc:subject>
            
            
            <dc:subject>community</dc:subject>
            
            
            <dc:subject>advocacy</dc:subject>
            
            
            <dc:subject>general</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2008/02/16/increasing-documentation-for-and-visibility-into-plones-efforts-to-integrate-with-others">
            <title>Increasing Documentation for and Visibility into Plone's Efforts to Integrate with Others  </title>
            <link>http://theploneblog.org/blog/archive/2008/02/16/increasing-documentation-for-and-visibility-into-plones-efforts-to-integrate-with-others</link>
            <description>Seeking comments on a plan to "make sure the "strategic integration" story with other systems is visible and documented" as follow-up from the recent Plone Strategic Planning Summit.</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>On the off chance that you're like me and prone to falling behind on your various Plone list-related reading, I'm soliciting feedback on my plan for ticket <a title="external-link" href="https://dev.plone.org/plone/ticket/7813">#7813</a> aiming to "make sure the "strategic integration" story with other systems is visible and documented".&nbsp;&nbsp; Comments welcome.&nbsp; Full plan below:</p>
<blockquote>With ongoing support, feedback, and guidance from the broader Plone<br>community, I volunteer to serve as "champion" of trac issue #7813,<br>'Make sure the "strategic integration" story with other systems is<br>visible and documented' (http://dev.plone.org/plone/ticket/7813).&nbsp; I<br>will do so by offering to invest time/energy within the following two<br>focus areas:<br><br>1) Developing code, making increasingly better releases, documenting,<br>and marketing for the Plone integration with Salesforce.com as the/a<br>Plone Customer Relationship Management (CRM) story<br><br>2) Beg, bribe, borrow, and steal case studies and documentation of<br>successful implementations of Plone integrating with system X for<br>plone.net and plone.org/documentation. I'm not able to offer code in<br>this department, but I will aim to highlight successes and possibly<br>over time aggregate pain and resources for new integration territories<br>we'd collectively like to explore.<br><br>=-=-=-=-=-=-<br>Deliverables - I.E. what will exist in 6-9 months<br>=-=-=-=-=-=-<br><br>Plone with Salesforce.com serving as CRM:<br>&nbsp;- Increasingly more mature releases of the following suite of<br>products: http://snipurl.com/plonesfproducts<br>&nbsp;- A solid manual at:<br>http://plone.org/documentation/manual/integrating-plone-with-salesforce.com<br>&nbsp;- Personal and Plone community participation in:<br>http://groups.google.com/group/plonesf/topics<br>&nbsp;- Increased use of the term "CRM" in close proximity to the word<br>Plone, so that folks Googling for a CRM that works with Plone see this<br>as a strength for Plone, rather than a weakness.<br><br>Shed light on the "strategic integration" story:<br>&nbsp;- 3-5 "integration-centric" case studies exist on plone.net<br>&nbsp;- A "3rd party integration" category for: http://plone.org/products.<br>Ensure tagging is happening.<br>&nbsp;- Enhance "Plays well with others" section of Plone.org homepage<br>under the "Standards Compliant" section<br>&nbsp;- Bonus points: Hightlight commonly needed integration stories<br>hopefully causing new tools/documentation to emerge<br><br>=-=-=-=-=-=-<br>What success looks like<br>=-=-=-=-=-=-<br>I don't think the above alone will accomplish this, but it's a start.<br>I think longterm success would be:<br><br>- Members of other software communities (i.e. Salesforce.com, Moodle,<br>Facebook, &lt;insert system that can be integrated with here&gt;) learn<br>about and deem Plone a viable and *complimentary* CMS.&nbsp; This knowledge<br>is learned within the context of their existing communities.<br>- Integrates well with X is easily found and helps certain decision<br>makers decide to use Plone.&nbsp; Seminal "why we chose Plone" blog posts<br>appear citing integration as a key reason :)<br>- Plone continues to thrive by staying focused on what it does best<br>(as seen with future code Plone releases).&nbsp; When strategic, Plone<br>integrates nicely in order to avoid spreading itself too thin.<br><br>=-=-=-=-=-=-<br>Call for Participation<br>=-=-=-=-=-=-<br>If Plone's integration makes you excited.&nbsp; Logical next steps include:<br><br>1) Give me feedback on this plan<br>2) Watch ticket #7813 at http://dev.plone.org/plone/ticket/7813<br>3) Tell me on list of off list what you've integrated Plone with and<br>why you think it's interesting.&nbsp; We'll turn interesting stories into<br>case studies.<br>4) If Salesforce.com as a CRM for Plone excites you, join this Google<br>Group: http://groups.google.com/group/plonesf/<br><br>Hopefully this is pretty clear and actionable.&nbsp; I look forward to the<br>ensuing discussions.&nbsp; Let me know what I'm missing and what seems<br>vague or unachievable.<br></blockquote>
<p>&nbsp;</p>
</p:payload>
            <dc:date>2008-02-16T16:04:55-08:00</dc:date>
            <dcterms:modified>2008-02-16T16:04:55-08:00</dcterms:modified>
            <dc:creator>Andrew Burkhalter</dc:creator>
            
            
            <dc:subject>integration</dc:subject>
            
            
            <dc:subject>community</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2008/02/14/in-the-wild-ploneformgen-speaking-directly-to-salesforce-com">
            <title>In the Wild: PloneFormGen Speaking Directly to Salesforce.com ...</title>
            <link>http://theploneblog.org/blog/archive/2008/02/14/in-the-wild-ploneformgen-speaking-directly-to-salesforce-com</link>
            <description>The Salesforce Adapter for PloneFormGen sees the light of day.</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>... or "So, we're hiring a database developer to help with CRM implementations ..."&nbsp; But, that alternate title isn't really the point (unless you're interested ;) )</p>
<p>As far as I know, the <a title="external-link" href="http://onenw.org/about/jobs/crm-consultant-application">following PloneFormGen "Form Folder"</a> is the first publicly available, advertised, and production use of the <a title="external-link" href="http://plone.org/products/salesforcepfgadapter">Salesforce Adapter for PloneFormGen</a> (please correct me, if I'm wrong).&nbsp; If you haven't heard about this piece of code that connects Plone to Salesforce.com via PloneFormGen, you might want to start <a title="external-link" href="../archive/2007/08/09/saving-ploneformgen-data-directly-to-salesforce.com">here</a> or <a title="external-link" href="http://groups.google.com/group/plonesf">here</a>.&nbsp;</p>
<p>This is great for a couple reasons:</p>
<ul><li>The particular use case (i.e. collecting applicants for an open job
offering) is one that I certainly never would have thought of -- and
that's the point.&nbsp;&nbsp; Creating these shouldn't take a Plone developer.&nbsp;
Nor should coming up with the possible use cases.&nbsp; It should be the
responsibility of staff that need to build the
relationships they need in order to do their work.&nbsp; <a title="external-link" href="http://gokubi.com/">My colleague Steve</a>
is no slouch with CRM and Salesforce.com, but the portion of getting
this on our Plone-powered site doesn't take any additional expertise.</li><li>It will help flush out any bugs, so that we can push onto a more mature-sounding release (i.e. final, not beta or release candidate)</li><li>It comes equipped with the following explanation, which I think is fantastic:</li></ul>
<blockquote>Geek FYI: this is a form built in Plone that sends your data directly
to our Salesforce.com database. We'll receive a notification when that
data gets created. You'll also be automatically added to a Campaign
that will capture all applicants. I've got a view in the Console for
keeping track of all the applicants for this position. If you
understood all that, or really want to, that's a good sign...</blockquote>
<p>So, um, <a title="external-link" href="http://onenw.org/about/jobs/crm-consultant-application">test it out if you want</a>...</p>
</p:payload>
            <dc:date>2008-02-14T16:48:31-08:00</dc:date>
            <dcterms:modified>2008-02-14T16:52:24-08:00</dcterms:modified>
            <dc:creator>Andrew Burkhalter</dc:creator>
            
            
            <dc:subject>Salesforce.com</dc:subject>
            
            
            <dc:subject>NGO</dc:subject>
            
            
            <dc:subject>jobs</dc:subject>
            
            
            <dc:subject>integration</dc:subject>
            
            
            <dc:subject>products and features</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2008/01/24/enfold-desktop-4-free">
            <title>Enfold Desktop 4 - Free and Server Independent</title>
            <link>http://theploneblog.org/blog/archive/2008/01/24/enfold-desktop-4-free</link>
            <description>Enfold Desktop is now server agnostic and free.  Desktop will work with any DAV server including: Zope, mod_dav, IIS, etc.  Plone is no longer a requirement.  Also its has a much better user experience than any previous version.  A must-have for Windows users.</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal"><p>Finally the software has been released.  Last year there was a <a href="http://www.enfoldsystems.com/ploneability">Ploneability High Education event</a> held in November at the University of Houston.  I promised a few things during that presentation.  We have followed through and I want to explain to the wider community our motivations.  </p>
<p>At the Ploneability event I said Desktop 4 would be free.  <a href="http://www.enfoldsystems.com/Products/Desktop/4/download">Desktop is now available to download.</a>  I also want to highlight some features: decoupled Desktop from Plone, the UI is now mostly asynchronous, fixed tons of bugs.  We now feel that Desktop 4 should be widely distributed and urge everyone to use it.  </p>
<h2>Specific highlights:</h2>

<ul>
<li>Enfold Desktop no longer requires Plone.  The Desktop Server components for CMF/Plone add "more functionality" to the user's experience.  Such as workflow control and property sheets.  But the server components are no longer required.  In this mode Desktop users simply have fewer options.  They have a very nice and reliable DAV client that is more predictable than Microsoft <code>Web Folders</code>.  You can now use Enfold Desktop with Plone, Zope, CMF, mod_dav, IIS, etc.  In fact we urge you to use it on any DAV server!</li>
<li>Performance.  The UI was originally synchronous. This meant you could do one thing at a time.  If an operation took a long time (say uploading a 100MB file) your Enfold Desktop would become unresponsive.  This is no longer the case.  You can upload and download multiple files at once and edit files -- all simultaneously!  The user experience is significantly better because of these performance enhancements.  Give it a shot and tell us.</li>
<li>Bug squishing.  Not much else I can say.  We added a <code>Report a bug</code> feature.  Also if desktop does something unexpected it will prompt the user to send us a message (it also sends internal logging).  This has helped tremendously.  We have uncovered loads of bugs and fixed them.  Often bugs that end users were unaware of but were still happening under the covers.</li>

</ul>
<h2>Why we released:</h2>
<p>    Enfold Systems is very interested in acting as a good community citizen.  We believe that Enfold Desktop will enable people to win more consulting projects.  If they want support and to remove the ads - they can pay us.  But the result is the consulting community is often asked for Windows Desktop integration and there was no de-facto standard.  Enfold Desktop aims to be that standard.  By having the broadest adoption of Enfold Desktop there will be a coherent Plone / Windows Desktop integration story.  </p>
<p>    This is only the beginning.  We have laid one piece of the foundation.  Plone has a complete DAV integration (server and client).  But it needs much more.  Specifically we need software developers to make their software DAV compliant.  This requires the entire community to buy-in.  There are many reasons for DAV compliance.  One example could be import/export.</p>
<p>    An example is having a representation of content outside of the CMS, say in the case of <code>exporting</code>.  Also a way to create content by <code>importing</code> this representation.  So the import/export story, I believe, could be tied to having a DAV representation for content.  Plone still does not have a full import/export story that is 100% textual and independent of the storage medium.  Customers want repeatable import/export.  </p>
<p>    Another could be creating a cross platform editor for content.  We now have Enfold Desktop and External Editor.  But we can not edit "rich content types".  This could be very interesting.  Double click on content and have it open up in a <code>rich editor</code> that supported calendar controls.  We have a higher level of abstraction other than "File".  It would be a pity for everything to be <code>file</code> oriented.</p>
<p>    If you do not keep up with IT analysts writings.  Plone is the big kid on the block when it comes to Open Source content management.  Desktop integration is one facet to CMS.  The plone community now has a great foundation to make a much richer experience.  And an immediately useful Folder/File-level DAV integration for the Windows Desktop.  But it will require more from the community.  Specifically users asking product writers to <em>support</em> DAV.  Because it is the product aftermarket that makes the Plone CMS so powerful.  Commercial CMS's do not have such a flourishing aftermarket.  The Plone aftermarket is continually building and sharing 24 hours 7 days per week.</p>
<p>    Lastly I would like to clarify Enfold System's position when it comes to open source and Plone.  Enfold Systems is the Windows open source content management system specialist.  We focus on providing product, services, and integration to organizations that want the power of the open source Plone content management system while reusing their existing Windows infrastructure.  This is very important for large organizations.  This is our niche.  Our customer's want a vibrant community.  So as we provide service to a wide variety of organizations from small-medium size non-profits to fortune 100 companies - Enfold Systems is trying to build a sustainable open source model.  A part of this manifests in big releases like Enfold Desktop 4 being released.  But more often than not you can see aftermarket Plone components such as the magnificent <a href="http://plone.org/products/upload-reference-widget">UploadReferenceWidget</a> and the visionary <a href="http://www.enfoldsystems.com/Products/Entransit">Entransit Content Deployment</a> all the way to unseen bug fixes to Python COM bindings, Zope, and Plone.  <a href="http://plone.org/products/plone/roadmap/187">PLIP 187</a> is an example of us feeding changes from product development back into Plone proper. Enfold Systems sees releasing Desktop as a way to grow the Plone ecosystem.  Also to maintain visibility that Enfold Systems is both the premier Open Source Windows CMS provider and the Plone experts.</p>
</p:payload>
            <dc:date>2008-01-24T08:13:21-08:00</dc:date>
            <dcterms:modified>2008-01-24T08:46:03-08:00</dcterms:modified>
            <dc:creator>Alan Runyan</dc:creator>
            
            
            <dc:subject>windows</dc:subject>
            
            
            <dc:subject>integration</dc:subject>
            
            
            <dc:subject>community</dc:subject>
            
            
            <dc:subject>desktop</dc:subject>
            
            
            <dc:subject>dav</dc:subject>
            
            
            <dc:subject>plone 3.0</dc:subject>
            
            
            <dc:subject>advocacy</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2007/11/26/plone-3-1-release-schedule-announced">
            <title>Plone 3.1 Release Schedule Announced</title>
            <link>http://theploneblog.org/blog/archive/2007/11/26/plone-3-1-release-schedule-announced</link>
            <description>Plone Release Manager Wichert Akkerman announced the Plone Framework Team's timeline for Plone 3.1, to be released in March 2008.</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Plone Release Manager Wichert Akkerman sent the following email to the plone-developers list today, outlining the schedule for Plone 3.1, which will end with a final release in March 2008.&nbsp; Plone 3.1 will be a small release with a few new features and no major architectural changes.&nbsp; It will be a seamless and safe migration from Plone 3.0.</p>
<p>&nbsp;</p>
<blockquote>
<p>In coordination with the new framework team I am happy to be able to
announce the timeline for the next Plone feature-release: Plone 3.1.
The release process for 3.1 has very specific goals:</p>
<p>Safe changes only: since this is a minor release which should not
destabilize Plone 3.x only changes that are risk-free will be
considered. This means that no or very minimal migration steps are
allowed, everything has to be properly tested, documentation has to be
in order and the user interface has to be finalized. This also means
that 3.1 will be based on the 3.0 codebase: Plone trunk has far too
many major changes already.</p>
<p>Do not overload the framework team: the deadlines are fast and
strict, so making it easy for them to rest proposals is important. The
best way to do that is to create a buildout based on the latest Plone
3.0.x release and include only the changes relevant for that proposal.</p>
<p>Quick release schedule: we do not want to take 9 months to get this
release it. This means that all proposals have to be completely done
and polished in order to be acceptable. The migrations, if any, have to
be in place and working, there have to be working tests and the user
interface must be complete.</p>
<p>This is the timeline for 3.1:<br><br>&nbsp; 2007-12-14 : PLIPs for all features have to be finished and submitted</p>
<p>&nbsp; 2007-12-21 : framework team gives verdict on PLIPs only, not an implementation</p>
<p>&nbsp; 2008-01-19 : review bundles have to be submitted to the framework team</p>
<p>&nbsp; 2008-02-02 : framework team completes reviews</p>
<p>&nbsp; 2008-02-08 : 3.1 pre-release tagged</p>
<p>&nbsp; 2008-02-11 : 3.1 pre-release with installers released</p>
<p>&nbsp; 2008-02-15 : 3.1 release candidate tagged</p>
<p>&nbsp; 2008-02-18 : 3.1 release candidate with installers released</p>
<p>&nbsp; 2008-02-29 : 3.1 final tagged</p>
<p>&nbsp; 2008-03-02 : 3.1 final with installers released</p>
<p>Note that there is a change from the procedure we used for Plone
3.0: there is now an extra PLIP-review step. This has been added to
allow us to check of a proposal is not too invasive or for some other
reason undesirable for 3.1. That makes sure that nobody will be trying
very hard to make a deadline only to hear that their work is not going
to be considered.</p>
<p>As you can see this is an ambitious schedule. This means that we
have to be very strict in what will be accepted and what won't. There
is no shame in missing a deadline - we are all busy people and
sometimes a deadline is just not attainable. Anything that does not
make it in can be reconsidered for 3.2 or 4.0.</p>
</blockquote>
<p>







<br><br></p>
</p:payload>
            <dc:date>2007-11-26T14:00:07-08:00</dc:date>
            <dcterms:modified>2007-11-26T14:00:07-08:00</dcterms:modified>
            <dc:creator>Jon Stahl</dc:creator>
            
            
            <dc:subject>roadmap</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2007/11/20/finding-plone-sites-in-the-uk-with-google">
            <title>Finding Plone Sites in the UK with Google</title>
            <link>http://theploneblog.org/blog/archive/2007/11/20/finding-plone-sites-in-the-uk-with-google</link>
            <description>How many Plone-powered sites are there in the UK?  Lukasz Lakomy did some clever searching of Google to find out.</description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<div class="plain">
<p>How many Plone sites are there in the UK?&nbsp; Lukasz Lakomy wanted to know.&nbsp; And since Plone doesn't "phone home" -- there's no trivial way to find out.&nbsp;&nbsp; But computers are good at these kinds of things!&nbsp; Lukasz wrote a Python script that harvest links from Google based on
some keywords and then checks if the website is a Plone website.</p>
<p><a title="external-link" href="http://www.llakomy.com/articles/plone-websites-in-uk">Read more about his adventures here</a>. If you aren't that patient: he found at least 470. :-)</p>
</div>
</p:payload>
            <dc:date>2007-11-20T08:56:36-08:00</dc:date>
            <dcterms:modified>2007-11-20T08:56:36-08:00</dcterms:modified>
            <dc:creator>Jon Stahl</dc:creator>
            
            
            <dc:subject>advocacy</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2007/11/10/improptu-plone-salesforce-com-integration-sprint">
            <title>Improptu Plone + Salesforce.com Integration Sprint</title>
            <link>http://theploneblog.org/blog/archive/2007/11/10/improptu-plone-salesforce-com-integration-sprint</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>On a whim (it was planned 2 days ago), some of the <a title="external-link" href="http://seattleplone.org">Seattle Crew</a> decided to get together this weekend and sprint.&nbsp; The goal is ambitious, but simple: to fix a bunch of bugs and add futures to increment the releases of our <a title="external-link" href="http://snipurl.com/plonesfproducts">Plone/Salesforce.com integration products</a>.&nbsp; I'm hosting in good ol' Ballard, Washington.</p>
<p>&nbsp;</p>
<p>Pictures of jonstahl, healingKnee, jessesnyder, brianfive, and davisagli below:</p>
<p>&nbsp;</p>
<p><img class="image-inline" src="../../images/DSCN1012.JPG/image_preview" alt="Derek &amp; Jon"></p>
<p>&nbsp;</p>
<p><img class="image-inline" src="../../images/DSCN1011.JPG/image_preview" alt="David, Jesse, and Brian">&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</p:payload>
            <dc:date>2007-11-10T16:55:40-08:00</dc:date>
            <dcterms:modified>2007-11-10T17:16:24-08:00</dcterms:modified>
            <dc:creator>Andrew Burkhalter</dc:creator>
            
            
            <dc:subject>sprints</dc:subject>
            
            
            <dc:subject>Salesforce.com</dc:subject>
            
            
            <dc:subject>products and features</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2007/11/07/educational-software">
            <title>Plone University</title>
            <link>http://theploneblog.org/blog/archive/2007/11/07/educational-software</link>
            <description>Open source software as pedagogical scaffolding, and F/OSS ecologies as a dialogical knowledge communities. </description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal"><img src="http://farm2.static.flickr.com/1103/881564485_226ec27532_m.jpg" alt="" align="left">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>This is a fun post recognizing the role of open source software and breaking routines in learning new programming patterns and paradigms.</p>
<p>&nbsp;</p>
<p><a title="external-link" href="http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html">7 Reasons I switched back to PHP after 2 years on Rails</a></p>
<p>&nbsp;</p>
<blockquote>Rails was an amazing teacher. I loved it’s “do exactly as I say”
paint-by-numbers framework that taught me some great guidelines.
I love Ruby for making me really understand OOP. God, Ruby is so beautiful. I love you, Ruby.
But the main reason that any programmer learning any new language
thinks the new language is SO much better than the old one is because
he’s a better programmer now!</blockquote>
<p>&nbsp;</p>
<p>This story articulated an idea that I have been thinking about for a while - the ways in which developers working on open source software enter into an educational relationship with the software and the community (sometimes indirectly, mediated through the code).</p>
<p>I have often appreciated all that Plone has taught me about the domain of content management, component architectures, extensible software design, internationalization, test driven development, responsible release management, etc etc. I know that it has taught me well since when I walk up to new pieces of complex software like Sakai or Drupal the concepts are familiar and often isomorphic. I can vouch that exposure to Plone has helped designers I know with stretch their CSS skills, improve the accessibility of their sites, and more cleanly separate presentation from logic.</p>
<p>I have also made the case that for an organization to work on software in isolation is bit like having a conversation with yourself. At first you might arrive at some new insights, but its <em>really</em> hard to learn anything new in a hermetically-sealed vacuum chamber. The software world transforms so quickly that it is a Sisyphean task for any one person or organization to track. Joining a community, even if it is through the indirect, intermediary object of code, is a great way to continue learning and stay on top of emerging trends. The notion that learning happens through dialog is an old one; the
notion that working with open source software is a form a dialog with
the authors is a bit less obvious.</p>
<p>My main critique of Derek's post is that he doesn't explicitly acknowledge the fact that Rails is open source, which is precisely what enabled him to learn so much from the framework. This isn't just a matter of attribution, it has practical implications for being able to continue learning new tricks over time.&nbsp; If he had realized that Rails-the-software embodied the knowledge of the Rails-the-community, he might not have been so quick to venture off and write his very own framework. I am not arguing that he should have steered clear of php, but he does not explain why he decided to roll his own framework as opposed to joining forces with Cake or another existing php framework, or at least using an existing php templating system. With a more explicit understanding of the origins of the knowledge that Rails-the-software captures, he may have appreciated the potential future gains of remaining part of some community.</p>
<p>While it is possible to learn something from proprietary frameworks, "learning" is fundamentally about the open exchange of knowledge and meaning, which are values intrinsic to F/OSS. While you can learn something from a .NET api, you can't step through the entire stack of software in the debugger. Perhaps more importantly, the cultural tendencies on an open project support constructionist poking and prodding (dare I say, hacking?).</p>
</p:payload>
            <dc:date>2007-11-07T21:48:55-08:00</dc:date>
            <dcterms:modified>2007-11-07T22:17:09-08:00</dcterms:modified>
            <dc:creator>Jonah Bossewitch</dc:creator>
            
            
            <dc:subject>education</dc:subject>
            
            
            <dc:subject>community</dc:subject>
            
            
            <dc:subject>advocacy</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2007/10/12/plone-core-values">
            <title>What is Plone? </title>
            <link>http://theploneblog.org/blog/archive/2007/10/12/plone-core-values</link>
            <description>Plone is a lot of things to a lot of people. But, at heart, it has a core identity. This is familiar to those who read the plone-dev list, but if you are out of touch with the heartbeat of the community or overwhelmed by the information there, you won't be able to find the core values of Plone written in one place. I was kinda appointed to do so today via "Plone is Democracy"...so here goes a first draft for community review! </description>
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>Many of us are familiar with the One Laptop Per Child project, which is making technology and information more accessible. Eben Moglen talked about this at his keynote at the 2006 Plone Conference (<a title="external-link" href="http://www.archive.org/details/eben-moglen-oct-2006">link to video</a>, <a title="external-link" href="http://www.youtube.com/watch?v=NorfgQlEJv8">youtube version</a>). What struck me as most powerful about the project was the clear, concise design principles. From the principles, you know exactly what the project is, and without any of those things, it would not still be OLPC. <br><br>At the Moglen talk, I asked about what Plone's design principles are. The question was more for the community, and a lot of people seem interested in the question (and it's answer!) over the last year...yet nothing happened. So, a year later, I started an informal survey at the Naples conference. <br><br>With the idea of making a draft of what Plone's core design principles are, I have been asking people around the conference, including core developers, board members, integrators, end users, new developers,...though there is obviously a diversity that we would expect from our community, I am trying to synthesize here the responses, with the intent of submitting the words of the community back to the community for review :)<br><br>And with no further ado...my attempt at articulating Plone core values:<br><br><strong>1. Easy to use (to add/edit content)!</strong><br><em>Responses: Easy to use (highest hits of any), usability (high number of hits), intuitive</em><br><br>This is the bread and butter of Plone, the part that every one of us experiences when we see it and use it, and the fundamental part of . Plone's commitment to usability since the beginning is apparent in the product and the community, and it is core to Plone to make it easy to use for content management. <br><br><strong>2. Approachable</strong><br><em>Responses: sensible defaults, easy to get, easy to deploy, easy to download and install, opportunity/potential, giving technical people (though not necessarily developers) a great system that they can gradually get more into the customizing with a steady and approachable learning curve. </em><br><br>This principle is about making it easy for people to get into Plone and get hooked on how cool it is, and then be brought through a manageable learning curve as they do more of their own custom implementations. It means out of the box, the settings make sense and that we empower people with tools that give them lots of potential. It also means that smart scripters (even without Plone development experience) can get into doing custom work also. <br><br><strong>3. "Developer Nectar", ie Built to Last, quality framework</strong><br><em>Responses: Safe customizations, smart adaptability, easy to extend, extensible, easy to develop, user centric, use case driven, best practices, web standards, accessibility, good error messages, cross platform, test-driven, solid development, open source, scalable (up and down), passion for the technology (doing things the right way, even if it is a new technology). </em><br><br>Moving on from those getting into the customizations, there is the more serious development work in Plone, which is solidly built on best practices (web standards, accessibility, development process, test-driven, etc). This is about helping developers learn about and adhere to good practices, as they get deeper in the system, by having defined processes and practices. It is also about using cool technologies that keep developers interested and having fun. Finally, it means that we provide direction to the developers that originates in the way people want to use the system, captured as use cases. <br><br><strong>4. Fun! Community! </strong><br><em>Responses: fun, fun atmosphere, entertaining, community (one of the more popular responses, though without certainty that it applies to Plone the software, but knowing it is essential to survival and sustainability of Plone)</em><br><br>Some intertwined concepts here, that I am calling Fun &amp; Community. First on the fun: this is about being fun to use and develop with, as well as being a thriving community with amazing people. The community is an obvious part of anyone who already participates. It is amazing, whether it is the "mindshare" or finding others working in your area, or just having a great time with passionate, bright people, Plone's community is a huge asset. Without it Plone wouldn't be Plone. The community also provides lots of support, which helps sustain it and make it more approachable.</p>
<p>&nbsp;</p>
<p>So, that's the core. Definitely needs language refinement and maybe also refactoring, but I submit it for your review :)</p>
<p>There is one item I am on the fence about. It is something that is not core now, though important, and which, if it were to be core, would affect certain decisions and involve some tradeoffs. That item, is "collaboration" as a use case for Plone the software (there is tons in the community itself, which is not what I am referring to here). There are definitely some collaborative features in Plone, but most are through addons or configurations (a few new ones in 3.0, but still lacks several).</p>
<h2>Conclusions</h2>
<p><br>The idea of core values or design principles is that they are the things that never change, that, if removed, would take away the Ploneness. The core principles don't necessarily have to unequivically describe the current product. The fact that we don't already have these principles articulated means that it may not be true, but it should help us to enhance the product in the future. <br><br>This is being submitted for comment and review from the community. The idea is *not* (did you miss that? I said NOT) to make a long list. Core principles lists should be as small as possible; the goal is not a comprehensive list of things we like, but instead the smallest list of things we can't live without. <br><br>One note about timeliness...as announced at the conference in the State of Plone talk, there will be a Plone visioning/strategy meeting in Feb 2007 at the GooglePlex. I strongly believe that we need to identify the core principles[1] before we engage in visioning, so here's my small contribution to that. <br><br>From talking with others in this process, I got a lot of good, complementary ideas as well as clarification on this excercise. I want to thank Paul, Jon, Martin for supporting the inquiry process.&nbsp; <br><br>References: <br><br>[1] The book, Built to Last, is a classic presentation of the concept of core values as necessary for a company/organization/movement's longterm success. It defines these as the small collection of values that *never change*. These are the heart, stability of the institution. <br><br><br><br></p>
</p:payload>
            <dc:date>2007-10-12T08:21:32-07:00</dc:date>
            <dcterms:modified>2007-10-12T08:21:32-07:00</dcterms:modified>
            <dc:creator>Christopher Johnson</dc:creator>
            
            
            <dc:subject>conference</dc:subject>
            
            
            <dc:subject>roadmap</dc:subject>
            
            
            <dc:subject>community</dc:subject>
            
            
            <dc:subject>general</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2007/09/25/plone-product-developers-list-going-strong">
            <title>Plone Product Developers List: Going Strong!</title>
            <link>http://theploneblog.org/blog/archive/2007/09/25/plone-product-developers-list-going-strong</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal"><p>The <a href="http://www.nabble.com/Product-Developers-f20094.html">Product Developers email list</a>, which was started in early 2007 as an outgrowth of Martin Aspeli's session at Plone Conference 2006, has really blossomed into a vibrant, active community of folks working collaboratively on add-on products for Plone. <br></p><p>It's a tremendous resource if you're developing an add-on product, looking for advice about an existing add-on product, or looking to make suggestions for how you'd like to see an add-on product evolve.&nbsp;&nbsp; I plan to follow this list a LOT more closely from here on out, and I encourage you to as well.<br></p><p>You can <a href="http://lists.plone.org/mailman/listinfo/product-developers">subscribe via email</a> or <a href="http://www.nabble.com/Product-Developers-f20094.html">read it on the web via Nabble</a>.<br></p></p:payload>
            <dc:date>2007-09-25T18:34:53-07:00</dc:date>
            <dcterms:modified>2007-09-25T18:34:54-07:00</dcterms:modified>
            <dc:creator>Jon Stahl</dc:creator>
            
            
            <dc:subject>community</dc:subject>
            
            
            <dc:subject>products and features</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2007/09/25/fans-of-calendarx-unite-help-sponsor-plone-3-0-update">
            <title>Fans of CalendarX Unite: Help Sponsor Plone 3.0 Update!</title>
            <link>http://theploneblog.org/blog/archive/2007/09/25/fans-of-calendarx-unite-help-sponsor-plone-3-0-update</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal">
<p>The amazing and indefatigable Darci Hanning is helping <a href="https://www.fundable.org/groupactions/groupaction.2007-09-05.1566756711">organize a "social source" sponsorship effort</a> to raise $2000 to support Lupa Zurven's work to update CalendarX for Plone 3.0.  CalendarX is a widely-used calendaring add-on Product for Plone -- if you'd like to see it updated for Plone 3.0, now's the time to join together with other Plone community members and make it happen.<br></p>
<p>Lupa's sponsorship goal is $2000.  As of this morning, there are $700 in pledges.  They're <a href="https://www.fundable.org/groupactions/groupaction.2007-09-05.1566756711">using Fundable.org</a> (a Plone-powered site!), which lets you make a pledge in any amount from $10 on up, and you'll only pay if the $2000 goal is reached.   With $1300 to go, we only need another 26 people to pledge $50 each. That's peanuts, especially compared with the number of folks who've benefitted from CalendarX over the years.<br></p>
<p>This is the funding model we used last year to sponsor a round of work on Ploneboard, and has also helped drive the GetPaid project forward. It's a great way to share the load of sponsoring useful products for which there isn't a single big customer.  <br></p>
<p>I hope you'll <a href="https://www.fundable.org/groupactions/groupaction.2007-09-05.1566756711">join me in sponsoring CalendarX.</a></p>
<p>Update - Tuesday, 5:30pm PDT: We're now at $950, nearly halfway there!<br></p>
</p:payload>
            <dc:date>2007-09-25T10:15:44-07:00</dc:date>
            <dcterms:modified>2007-09-25T18:03:24-07:00</dcterms:modified>
            <dc:creator>Jon Stahl</dc:creator>
            
            
            <dc:subject>products and features</dc:subject>
            
        </item>
        
        
        <item rdf:about="http://theploneblog.org/blog/archive/2007/09/13/plone-foundation-members-time-to-renew-your-membership">
            <title>Plone Foundation Members: Time To Renew Your Membership!</title>
            <link>http://theploneblog.org/blog/archive/2007/09/13/plone-foundation-members-time-to-renew-your-membership</link>
            
            <p:payload xmlns="http://www.w3.org/1999/xhtml"
                       rdf:parseType="Literal"><p>If you are currently a member of the Plone Foundation, and wish to remain so, you need to renew your membership for 2008. &nbsp; Consider this a gentle reminder.</p><p><a href="http://plone.org/foundation/newsitems/renewal-of-plone-foundation-membership-for-2007-2008/">Plone Foundation membership committee chair Godefroid Chappelle explains</a>:<br></p><div class="plain">             <p class="callout"><span class="visualHighlight"></span></p><blockquote><div class="plain">             <p class="callout"><span class="visualHighlight">To the members of the Plone Foundation,</span></p> <p class="callout"><span class="visualHighlight"></span></p> <p>The bylaws of the foundation state that each member needs to renew his membership each year in order to keep it for another year.<br><br>The foundation must give a period of thirty days to allow for this renewal.<br><br>This period starts at the moment of the publication of this text both on plone.org and on the membership mailing list. It will end on 2007-10-03 at midnight.<br><br>Any member that will not have renewed will go to emeritus status. He will need to apply again for membership and go through the application process in order to be full member again. <br><br>The way to renew your membership is the following:</p> <ol><li>Log in plone.org,</li><li>Find your member object. One way is to use advanced search and to specify your name in the title and "Foundation Member" as content type. Another way is to look in <a title="Foundation" href="http://plone.org/foundation/members/folder_listing">http://plone.org/foundation/members/folder_listing</a>.</li><li>Use the "Renew" transition from the workflow dropdown (menu).<br></li></ol> <p><br>If everything goes well, you will get a message in the view stating "Member renewed for 2008".<br><br>If you have any problem, please contact Hanno or myself for help.<br><br></p>         </div></blockquote><p></p>         </div></p:payload>
            <dc:date>2007-09-13T19:53:49-07:00</dc:date>
            <dcterms:modified>2007-09-13T19:53:49-07:00</dcterms:modified>
            <dc:creator>Jon Stahl</dc:creator>
            
            
            <dc:subject>community</dc:subject>
            
        </item>
        
    </items>
</Channel>

