Feed on
Posts
Comments

The Plone community, led by Plone 4 Release Manager Eric Steele, just pushed out Plone 4, a huge upgrade to my favorite content management system.  Incorporating over three years of work from over 300 contributors, there’s a lot to be excited about.  Plone 4 takes Plone to new heights of speed, usability and just plain good looks.  Here at Groundwire, we’ve been developing several client projects against pre-release versions of Plone 4, so we’ve already had a few months to put some mileage on it.  Here’s what I’m most excited about:

1) New graphical HTML editor: TinyMCE

For most day-to-day Plone users, the graphical HTML editor is Plone.  Plone has shipped with a graphical HTML editor included since Plone 2.1 in 2005, and it still amazes me that some major open-source CMS projects don’t include one out of the box.  (Yes, I know some users like “choice,” but that’s no excuse for not having a sensible default.)

Plone 4 now includes TinyMCE as its graphical HTML editor, replacing Kupu, which has served us long and well.  (And which continues to be an optional add-on.)  TinyMCE deliers a much more polished, user-friendly and customizable content editing experience

I waxed enthusiastic about TinyMCE when it was first released as an add-on for Plone 3, and my love for it has only grown deeper with time.  Our not-so-HTML-savvy clients love it, too.

2) New default theme: “Sunburst”

For the first time in its 9-year history, we’ve shipped a new default theme with Plone.  It’s called Sunburst, and it’s a triumph of elegant minimalism in web design.

Sunburst’s beauty is more than skin-deep.  Designer (and Plone co-founder) Alex Limi is User Experience Lead for Mozilla Firefox, so he knows a thing or two about how to make the web beautiful, usable and accessible.  Sunburst incorporates all of the wisdom he’s gained over the years, and a TON of usability feedback from everyday Plone users, Plone integrators and usability experts.

The other great thing about Sunburst is that it’s easy to customize.  We’ve stripped down the templates and the CSS, removing a lot of clutter that had crept into the default Plone templates over the years.  This will make things much easier for site integrators and theme builders and sets the stage for more improvements to “through the web” theming in Plone 4.1.

3) Vroom!

Plone 4 is fast, fast, fast.  If there was a singular obsession of the core Plone developers during the Plone 4 release cycle, it was making Plone go faster than ever before.  Hanno Schlichting was the “speed champion” for Plone 4.  While most of the Plone team has been focused on building new features and refining our UI, Hanno was tinkering in the lab, doing performance profiling to figure out exactly where we were wasting precious milliseconds.  Then, he dove into the code and figured out where to make exactly the  right tweaks to speed things up.

The results speak for themselves. Plone 4 is about 50% faster overall than Plone 3.  It handles heavy user loads far more gracefully (up to 200% better than Plone 3).  It uses less RAM.  And our “out of the box” uncached performance is now over 3x faster than the default installs of PHP solutions like WordPress, Joomla! and Drupal that are often regarded as “good performers.”

And the best is yet to come.  Plone 4.2 is planning to offer another optional 50% performance boost by letting you use Chameleon, a drop-in replacement templating engine that works with our existing Zope Page Templates.  (Brave folks can try out Chameleon right now, but you have to be certain that all of your templates are XHTML-compliant.)

Hanno’s goal for Plone 5 is to boost our performance by another factor of 3 and hit 50 pages/second uncached on commodity hardware.  Vroom!

4) BLOBs: how unfattening!

In olden days, Plone stored uploaded files (aka “BLOBs” — that’s Binary Large OBjects) directly in the ZODB.  That was clean and simple, but unfortunately, meant that sites with massive numbers of documents & images produced bloated ZODBs that could be hard to manage.  Worse, Zope used to be somewhat inefficient at serving up these big files, which could really slow down a site.

There have long been add-on products for Plone such as FileSystemStorage that alleviated these problems, but these were imperfect solutions.  As it turns out, the fix really lies at the level of the Zope database itself.  And Plone 4 uses ZODB 3.9, part of Zope 2.12, which includes native support for filesystem storage of BLOBs and for super-efficient uploads & downloads.   This is a big deal, especially for Plone-powered intranets, who will find their ZODB sizes and RAM usage dropping dramatically and user satisfaction zooming skywards.

(Bonus: Plone 3 users can take advantage of this technology by using plone.app.blob, although getting it installed and configured does require solid intermediate Plone-fu.)

5) More bling!

Plone 3 included jQuery, the awesometacular javascript library that now handles most of our javascript interactivity.  Plone 4 ups the ante by including jQuery Tools, which makes it easy to build super-polished user interfaces with modal popup dialogs and forms.  We take huge advantage of this in Plone 4, by moving lots of commonly-used forms and confirmation dialogue boxes into fast, slick popup forms.  This makes day-to-day tasks like logging in, deleting content, and adding users faster and more enjoyable than ever.

Plus, add-on product authors and themers can now count on jQuery Tools being there, letting them build even more polished and effctive user interfaces for their add-on code.  For example, we’re taking advantage of it in Megaphone to make a really slick wizard for composing online advocacy letters and petitions! Plone.org’s sliding panels and accordions are all built with jQuery Tools.

Some nicknames

Bug

Big Bug

Little Bug

Little Big Bug

Biggly Buggleston

Milkchug

Mr. Chumbly Wumbleston

Mr. Crankypants

Chubbs

Little Chub-Chub

Cheeser

Jub-Jub

… than living in a world that sometimes often feels like a William Gibson novel coming to life is getting an occasional whiff of Charles Stross invading reality.   (Does anyone else think this sounds like a very early version of the “live action roleplaying” game SPOOKS from “Halting State”?)

We were chatting a bit today at Groundwire HQ, and it occurred to me that there is a fair amount of conceptual resonance between our notion of an “Engagement Pyramid” and badge/achievement systems such as those on Stack Overflow, Foursquare or your Playstation 3/Xbox 360.

Just a thought.

Frank Rich doesn’t usually grab me much as a columnist, but in today’s column about Obama’s political opportunity around the Gulf oil spill, he really hits the nail on the head.  Maybe’s he’s finally learning a thing or to from Krugman.

This all adds up to a Teddy Roosevelt pivot-point for Obama, who shares many of that president’s moral and intellectual convictions. But Obama can’t embrace his inner T.R. as long as he’s too in thrall to the supposed wisdom of the nation’s meritocracy, too willing to settle for incremental pragmatism as a goal, and too inhibited by the fine points of Washington policy debates to embrace bold words and bold action. If he is to wield the big stick of reform against BP and the other powerful interests that have ripped us off, he will have to tell the big story with no holds barred.
That doesn’t require a temper tantrum. Nor does it require him to plug the damn hole, which he can’t do anyway. What he does have the power to fix is his presidency. Should he do so, and soon, he’ll still have a real chance to mend a broken country as well.
Being an expert comes with traps. The more of an expert you are, the more time you will tend to spend with people who know nothing about your craft. The more senior a creative you become (Art Director, Senior Creative Lead Dude), the more time you will spend in rooms with powerful people who know nothing about creativity. This means the people most interested in you will understand little about your craft, and expect you to work with clients who understand even less. You’d be crazy not to expect to be confused when you are paid the most for your expertise by people who don’t know enough not to squander it.

ht/ Scott Berkun

In his article,”BDFL considered (potentially) harmful,” Steve McMahon makes some important observations about moral vs. legal authority of open-source project leaders and the importance of paying attention to the ownership of your open-source project’s trademarks and intellectual property, not just the license on the code.   Worth a read.

My colleagues at Groundwire and I spend a lot of time and energy thinking about integration.  How to connect various software stacks into seamless systems that solve complex problems for our clients.   It’s been really great to see the emergence of lots of great integrations enabled by the widespread adoption of web services APIs.  But lately, we’ve been realizing that, as in so many things, the details really matter.  How you design your integration is just as important as whether you integrate.

It’s in that spirit that my colleague Sam Knox has been doing some thinking about how email broadcasting platforms integrate with Salesforce.com and report their results back.  Short version: right now, most vendors’ integrations are extremely inefficient with scarce Salesforce storage space.  He thinks they can do a lot better, and has written an important blog post that describes (exactly) how.   If you use Salesforce integrated email broadcasting services such as VerticalResponse, ExactTarget or MailChimp or are an email broadcasting vendor that designs your integration, I urge you to give it a read and share your thoughts.

The “Send Path As Link Via Email” utility from Muvenum is free and very handy for folks that use email, a file server and Windows.  It lets you quickly send well-formatted links to files on your fileserver by right-clicking in Explorer.   Good stuff.  Thanks, Muvenum!

Matt Yoder here at Groundwire is brewing up a really nice new feature for his already-excellent Google Analytics integration for Plone, collective.googleanalytics: tracking of external links, file downloads and mailto: links via Google Analytics “event tracking.”

If you’re not already familiar with collective.googleanalytics, that’s OK — it’s still in beta. :-)   But it’s definitely worth checking out.  Collective.googleanalytics builds on the basic Google Analytics integration capabilities that are built into Plone already.  By taking advantage of Google Analytics’ web services API, collective.googleanalytics pulls selected snippets of your live Google Analytics data back into your Plone site so that site managers get “in their face” analytics data as they are managing content.  We find this really useful with our busy nonprofit clients, who might otherwise not be paying as much attention to their analytics as they ought to.

As we’ve been exploring the intersection of Plone and Google Analytics, we’ve realized that there is a bunch of interesting data that Google Analytics doesn’t automatically capture because they don’t generate full-fledged pageviews for the basic Google Analytics javascript to detect.  For example, “out of the box” Google Analytics doesn’t track PDF or other binary file downloads, people clicking on outbound links, or clicks on non-http links like “mailto:”.  (This isn’t Plone’s fault, it’s a consequence of Google Analytics’ fundamental design architecture.)

However, Google does provide a powerful, flexible (and fairly new) Events Tracking feature that you can call to track interesting non-page-view events like these.    And that’s what Matt is taking advantage of in his upcoming release of collective.googleanalytics to increase the amount of data that Plone sends to Google Analytics.

The collective.googleanalytics control panel has now grown a new set of configuration options:

new google analytics settings

As you can see, you now have the option to enable or disable tracking of email (mailto:) links, external outbound links, and file downloads.  Even better, these extensions are pluggable, so that if your site needs to track more kinds of events, you can easily write small plugins and have them appear in this menu!  Check here for samples of plugins, which should be easy to adapt for your own needs.  Matt would love contributions of additional useful tracking plugins!

Once configured, results will start showing up in Google Analytics under Content>Event Tracking, like so:

collective.googleanalytics is in beta right now; we’re using it on Groundwire.org and on a  few of our clients’ sites — to rave reviews thus far.   A “1.0 final” release should come sometime in the next few weeks. Matt’s new work on external link tracking is still in a branch, and will be merged soon.

Bonus points:

  • Matt’s new branch also branch generates the basic Google Analytics tracking javascript for you automatically using the profile you select in the tracking section of the configlet.  (No need to copy-and-paste the javascript snippet from Google anymore, like you do in out-of-the-box Plone.  That’s a nice convenience feature.)
  • All of these new features use the new asynchronous Analytics tracking API, which  should offer some performance benefits over the old blocking javascript, which could sometimes slow down your page loads.

If you’re a Plone developer or integrator, we’d love you to check out, kick the tires and offer feedback.   General comments here are great — we also have a bug tracker on Plone.org for bug reports or feature requests.

Oil spill widget

Argh.

Older Posts »