Entries For: June 2007
June 28, 2007
Jon Stahl: Join Me In Sponsoring Alex Clark's Work to Update Plone API Documentation
I've just made a donation to support Alex Clark's trip to this week's DocCom Sprint, so that he can update Plone's online API documentation. This is one of those unsexy but vitally important documentation tasks that pays huge returns to every single Plone developer, integrator and site administrator.
Alex is planning to create up-to-date automated API docs for:
- Plone-2.5.3
- Archetypes-1.4.4
- CMF-1.6.4
- Plone-3.0
- Archetypes-1.5.0
- CMF-2.1.0
Alex's work is going to save me, my colleagues at ONE/Northwest a ton of time and frustration. I hope you'll join me in coughing up a few bucks ($25 or $50 goes a long way) to support Alex's travel costs to California to support this important work.
June 25, 2007
Christopher Johnson: And they're off! DocComm Sprint at Google
25 Plone sprinters descended on Google's headquarters in Mountain View this morning for the DocComm Sprint, a dual sprint with teams focused on Plone 3.0 documentation and the GetPaid commerce product. The buzz of excitement as we get underway made for a great kickoff. As we get ready to wrap up for the day, here is a quick update for our community and followers.
What a great experience to have Google as host! They are providing us a space with collaboration tools, and catering our meals. It's a bit like being in Willy Wonka's chocolate factory here...with the
free spirited, super-smart folks in this
meant-to-make-you-want-to-be-here-all-the-time environment (I suspect the Oompaloompa's are downstairs). We gathered in the Grand Teton room, strategically
located just outside one of the many full, mini-cafeterias on the campus stocked with all kinds of goodies where we can feed the appetites worked up by sprinting (ErikRose gives two thumbs up to the organic whole milk:)!
Now that we are nearing the end of the day, my thoughts turn to the lobby's fully reclined massage chair :)
Media:
- Blog entry at CIO.com
- JoAnna's pictures from sprint
- Donna Snow's pictures from the sprint
- Panoramic video at the welcome dinner by Donna
June 21, 2007
Rob Miller: GenericSetup improvements
Some long-coming GenericSetup improvements have landed on the GS trunk.
While at the BBQ Sprint in Chapel Hill, North Carolina earlier this year I was part of a team of people working on improving GenericSetup. A lot was accomplished in NC, but it's been languishing on a branch for a while, waiting for me to find the time to finish up some tests. At long last I've done so, and the changes have been merged back into the GenericSetup trunk. Following is a description of the new goodies you'll find there:
- No more stateful "active profile"
- It used to be that you had to visit the (poorly named) Properties tab of the setup tool to choose an active profile. Then you would visit the Import tab to run all the steps. The process was the same for both base profiles and extension profiles, even though the consequences of importing those profiles are very different.
Now things are better. The profiles available are more clearly separated into baseline profiles and extension profiles. Only one baseline profile can be active at a time, but you can import as many extension profiles as you want to; you don't have to jump through the hoop of making them "active". - Audit trail logs of import actions
- Every time you import any profile, or any steps from any profile, the setup tool will now generate log objects recording the actions taken. Now, if things go pear shaped after an import, it's possible for developers to know exactly which steps were ran.
- Improved setup tool interface
- We needed to tweak the setup tool interface to support the new functionality, and the usability has improved considerably in the process. The ZMI is hardly end user friendly, but people who are managing site configuration will appreciate the changes.
- Profile metadata
- GenericSetup profiles now support a metadata.xml file, for profile metadata such as profile version number and profile dependencies.
- Upgrades
- This is the one I'm most excited about. The CPS upgrade extensions to GenericSetup have landed in the core and been extended somewhat. We've now got <genericsetup:upgradeSteps> and <genericsetup:upgradeStep> directives. Here are examples of what these might look like:
<genericsetup:upgradeStep
title="Merge Types"
description="Merges two formerly separate portal types into one type"
source="3.0"
destination="3.5"
handler="plone.upgrades.3_5.merge_types"
sortkey="1"
profile="Products.CMFPlone:plone" />
<genericsetup:upgradeSteps
source="3.0"
destination="3.5"
sortkey="2"
profile="Products.CMFPlone:plone">
<genericsetup:upgradeStep
title="SubStep 1"
description="SubStep 1 Desc"
handler="plone.upgrades.3_5.substep1"
checker="plone.upgrades.3_5.substep1IsNeeded"
/>
<genericsetup:upgradeStep
title="SubStep 2"
description="SubStep 2 Desc"
handler="plone.upgrades.3_5.substep2"
checker="plone.upgrades.3_5.substep2IsNeeded"
/>
</genericsetup:upgradeSteps>
Once Zope has started, you can visit the Upgrades tab of the setup
tool. There you'll see a dropdown of all of the profiles for which
there are registered upgrade steps. Choose one, and you'll see the
steps that are available. Only the upgrade steps that need to be run
(by virtue of either the source and destination versions, or a declared
checker function) will show up by default, but you can choose to view
all of them if you need to re-run a previous upgrade.
- Profile dependencies --- NOT
- Whoops. We put support for profile dependency registration into the metadata.xml parsing code, but we ran out of time and it isn't actually being used anywhere. Want to help?
You may be wondering at this point what versions of Plone this will work with. Unfortunately, it will currently not work with Plone 2.5.x; the GenericSetup trunk requires Zope 2.10. It works just fine with Plone 3.0, however; just replace the GS that comes with the bundle with the one from the svn trunk (svn://svn.zope.org/repos/main/GenericSetup/trunk), restart Zope, voila. It probably wouldn't be too hard to backport the changes to an older GenericSetup branch, for those so inclined.
I'm happy to see this stuff land; I've been looking forward to it for a while. Hope you enjoy it.
June 03, 2007
Jon Stahl: Summer of Code Students: Want Help? Ask The List!
Hey you awesome Google Summer of Code students who are working on Plone projects! If you get to a point where you need input, opinions or advice (especially early on when you're figuring out how to attack your problem!), don't be shy -- ask on the Plone Core Developers list!
Vidar Svansson, who's working on improvements to Genesis (the successor to ArchGenXML), recently did just that, and triggered a fantastic conversation amongst some of the smartest folks in Plone-dom about how to improve Plone's UML-to-generated-code story.