Plone 3 really is sexy
In my unfortunately very limited free time, I’ve been putting together a new web platform. The goals for this third generation are pretty interesting. The first generation, dating back to 1984, was simple HTML; the second generation, only three years old now, was PHP based with some important bits of XML integration thrown in. Now it’s time to really modernize; here are a few of the goals:
- It needs to support authored content and workflow. This means basic content management system functionality; the objective is that contributing authors can create content, submit it for review, and an automated review-and-publish process will put it out to the web.
- It needs to have integration capabilities on the commerce and CRM end. The requirements at present are for Intuit merchant service and Salesforce.com integration, but it needs to be flexible enough to accommodate future change.
- It also has to be able to pull content from third party systems. Specifically, course and workshop information is currently stored in Salesforce.com, which means the catalog of products comes from this third party source. Enrollment is managed in Salesforce.com as well, so it has to be able to inject information as well as read it.
- The overall site needs to be very easily reconfigured; it should almost be “skinnable.” That is, making a few key changes will upgrade the entire look and feel of the site in the future.
Now, in this day and age none of those requirements should require any built-from-scratch effort. So, I started looking into Plone 3 (with its underlying Zope server) as a possible platform. Probably the biggest reason I started looking at it was Python: Being written largely in Python sounded great to me.
It took about a day to install the baseline server and deliver item numbers 1 and 4. Granted, there’s more work to do, but in my book we’re off to a great start.
After doing a few tutorials and getting my mind around how Plone is extensible using Python, I was able to do a few proof of concepts before the end of the second day. Data integration is a breeze, using Salesforce.com’s Python interface I had basic integration up and running. Requirement numbers 2 and 3, check. The bottom line here is that just about any integration at the Python level isn’t going to be a problem. Of course, the proof of concept is going to need a lot of fine tuning, particularly on the look and feel end, but so far, so good.
A little bit more playing around and I’ve discovered a host of Plone add-on modules that are going to be perfect for us. For example, there’s an online examination tool that will let us run testing and certification as a web-based process.
So, 48 hours into the prototype and we’ve proven all of the high-risk objectives can be met (and in fact have been met by Plone). I was also able to include a host of value added features that had not been planned in the original requirements (such as the online student examination module). From here on out, it’s largely going to be the look and feel of the site. But we’ve got our underlying architecture defined. In Rational terms, we’ve passed the inception phase and are well into elaboration. The architecture is established, the major components are identified, and prototypes have eliminated most of the major product risk. I’ve got a deliverable, a solid foundation, and an extensible system (with Python as the underlying language we aren’t going to be limited in that regard). I’ve already provided access to some content authors and they are busily writing new content that will, eventually, be published when the site goes live. The CMS features of Plone are letting the writers write content while development still works on the site!
The bottom line: Plone 3 is sexy. If you need an extensible, content management enabled system, take a look at it. You won’t be disappointed. And while you’re there, take a look at some of the other sites using Plone. It’s an impressive client list and there are some great designs to look at.











Sorry, comments are closed for this entry.