Posted Jan 07, 2009
GloWorm 1.0 Released!
The Worm has finally turned (1.0, that is...)
One of our trainers recently had a conversation with a new partner about the difficulties in understanding exactly what a viewlet was. Portlets, it seems, are quite obvious — ask someone who has been using Plone for an hour and they'll easily point them out to you. Yet, despite the fact that portlets and viewlets are essentially the same thing — both conceptually and code-wise — many integrators who have been at it for months would be hard-pressed to point out a viewlet. The difference, they decided? Portlets have borders.
Let me say that again... Portlets have borders, viewlets don't. That's the big mental roadblock. It was a bit of an epiphany for me.
And tempt the rover through the dark...
So, to that end, there's GloWorm. We wanted to give the user the ability to see those viewlets, on the page, and with borders. Referred to here previously as a PTTOTPATMMAIS interface, GloWorm gives the user the ability to click on something in his or her site and find out just what it is and how it got there.Some of the features that GloWorm provides:
- Viewlet and viewlet manager inspection
- Viewlet template customization
- Viewlet showing/hiding
- Viewlet ordering
- A tree view of the page's nested manger-viewlet structure
- TAL statements involved in the creation of page elements (tal:attributes, tal:condition, tal:content, tal:replace)
- Archetypes field information (type, widget, accessor, mutator, read/write permissions)
Walking without rhythm...
Let's say a Plone user wants to change the footer text. Here's how the traditional method would work:- Fire up @@manage-viewlets
- Locate the viewlet containing the content he or she wants to edit, and get the name — in this case, 'plone.footer'
- Go to portal_view_customizations in the ZMI, locate 'plone.footer', click 'customize', edit.
The problems with this:
- @@manage-viewlets isn't linked to from anywhere in Plone
- @@manage-viewlets doesn't display the site's current theme
- The user has to go into the Zope Management Interface (ZMI)
- There is some assumed knowledge here that requires a good bit of reading or training to obtain.
All you need to do is follow the worm(s)...
Now let's try the same task with GloWorm:
- Fire up GloWorm (@@inspect)
- Click the page element he or she wants to edit, click the name of the containing viewlet.
- Click 'customize,' edit.
GloWorm's main goal is to keep new users out of the Zope Management Interface as much as possible and in an interface that looks like their actual Plone site. The ZMI is big, ugly, and to put it bluntly, absolutely scares the crap out of beginning integrators. GloWorm uses all of the same mechanisms (boiled down, it's just a Javascript UI frontend for the portal_view_customizations and ViewletSettingStorage utilities) within a page that uses their customized (or not) site theme.
Make it all wonderful, beautiful...
And with that I'm thrilled to announce that GloWorm 1.0 has finally reached PyPi. Download, install, enjoy! And look for a walkthrough screencast sometime next week.
Update: A screencast of GloWorm's features is now available.

Plone ♥ GloWorm!
Woohoo! Congrats on the 1.0 release. Do gloworms turn into butterflies eventually? ;)