Today I spent a good deal of time looking at Plone, the content management system written in Zope which is itself written in Python. I’ve been working on a Zope based app for a while now and have gotten fairly comfortable with Zope, but I hadn’t given Plone much of a look at all. That all began to change last week when I had a situation in which a Plone based portal would have made things a lot easier for the customer.
To make a long story short, Plone has just blown me away! I’ve installed it on both Windows and Linux systems without a hitch and so far I’m very impressed. I’ve been building portals around PHP-Nuke which is a nice package, but Plone runs circles around it in terms of flexibility and ease of use. I know many great modules have been built for PHP-Nuke and I’ve been able to modify many for my own purposes, but Plone just seems to make all of this easier which means less time for me to set up.
In particular, role based user access and security is built into Plone from the underlying Zope. This is the biggest pain to implement in PHP leaving plenty of opportunities for security holes. Another thing I’ve grown to love about Zope and Plone is the browser based management interface. You can do virtually anything in the browser and since everything is stored as an object in Zope’s database, you don’t have to monkey around with the file system to manage your site. I’ll still keep using PHP for some things, but I am definitely a Plone fan now!