Don’t get Ploned: Your Client Needs WordPress Instead
Plone is a web-based content management system built on Python, sharing many similarities with WordPress. As a WordPress developer, you may from time-to-time find clients leaning towards Plone. Learn the important differences between WordPress and Plone, and you’ll be better prepared to help such clients.
There’s a Python in my boots
Python is a programming language. You can read all about the ins and outs on the official Python website. Used for many things, Python gets a nod for some sexy software like:
- Blender for 3D modeling and animation
- PyGame for developing games
- Trac Project for helping developers manage software projects
Oh, and by the way, there’s this little content management system called Plone also built on Python.
Why would anyone use Plone for a website?
With professional web tools like WordPress, a more application-development-friendly Drupal, and the distracted-by-shiny-things Joomla, it’s hard to imagine why anyone would even consider using Plone for their website.
Plone == Harder;
Pretentious programmer quotes aside, Plone is more difficult than WordPress to install, maintain, and develop for.
- Fewer commercial web hosts support the requirements for Plone than support the requirements for WordPress.
- Developers experienced in PHP, MySQL, and WordPress specifics are far easier to locate and hire than those knowing Python, Plone, and the layers in between.
But what about all those Plone advantages?
A few issues I discovered almost held water for Plone. Here’s the information you need to knock them down.
Plone is more secure than WordPress
This perception is out of date.
In 2008, the National Vulnerability Database showed Plone had fewer security issues than Joomla, Drupal, or our beloved WordPress.
That was 2008. Four years ago.
I don’t know (yet) about Joomla and Drupal, but WordPress releases significant core updates every 3 to 4 months, and promptly releases security updates in between. By contrast, Plone just recently stated they will release on a 6 month cycle. We’ll see how that works out for them. In the meantime, I hope all the layers Plone resides on top of remain secure.
Plone is faster and more scalable than WordPress
This benchmark was apples to oranges.
With the Plone 4 release in 2010, there was tough talk about Plone being “3 times faster than WordPress, Drupal, and Joomla.” The website speed benchmarks leading to these results, however, were using base installs of all systems with no caching add-ons.
I hate to accuse anyone of cheating but, well–that’s cheating. The ZODB database used by Plone is fundamentally different than the MySQL database WordPress uses. Among other things, ZODB provides performance enhancements that are only available to WordPress by adding a simple plugin to make use of various types of caching. By simply adding and configuring the W3 Total Cache plugin, I’m sure WordPress performance can stand its ground against Plone.
My client needs document management functions WordPress doesn’t have
Plone has often been deployed as a document management / workflow collaboration tool in various enterprises. Some folks try to use it instead of commercial tools like Microsoft Sharepoint. Indeed, Plone’s founder mentions in a wishlist for Plone:
“I’m not saying that we should ignore simple web publishing — simply that it’s not an area we will ever be a dominant player in — and we’re not trying to be.”
He goes on to say Plone should concentrate on:
- Intranet deployments
- Collaborative workspaces with complex security requirements
- Document management
- Other specialized fields
Before finishing research for this article, I was going to hand the document management / collaboration battle over to Plone as a winner. However, I found WordPress tools developed by serious backers to handle almost everything Plone can do in terms of:
- Rights management
- Editorial review
- Document management
Rights management in WordPress
Do you need to customize permissions for certain users and groups of users? Plone can try to beat you over the head with its capabilities, but WordPress can do it easily, too. The Members WordPress plugin gets my vote, allowing fine-tuned control over capabilities, and letting you create your own custom roles. When other plugins specify their own special capabilities, “Members” lets you manage and assign those capabilities, as well.
Workflow, editorial review, and collaboration
Do you need editors at various points in your content-creation process to review, comment on, pass along, and optionally approve content? I thought for sure Plone was going to win this one, but not so. The Edit Flow WordPress plugin takes me back to my newspaper days, but with more flexibility. Not long ago, newspapers might spend a high 6-figures on systems with this sort of management toolset. I was amazed by “Edit Flow,” and I think anyone looking to implement a real workflow in WordPress will be.
Active Directory / LDAP Integration
Do you need to control all your organization’s user rights from a central directory? Plone can do this, with the right nerd on hand, and I thought WordPress use cases didn’t really need this ability. However, when considering an organization managing hundreds or thousands of users on numerous systems, I can see where directory integration could be valuable. After all, how would you like to remember the 20-some systems you need to edit access to when an employee joins or leaves your company?
It turns out, you can easily use AD and LDAP with WordPress. I like to test anything I write about, but did not have the resources to test directory integration. A couple good-looking WordPress solutions you can try:
Document management in general
I love WordPress, but I try to keep an open mind and temper my bias. I thought for sure Plone was the hands-down winner against WordPress when it comes to document management. Lo and behold, I found the WP Document Revision plugin–a fantastic set of tools that gives your WordPress installation all the document management features you’re likely to need. Some of the document management buzz words it provides:
- Track, store, and organize files in any format
- Collaboratively draft, edit, and refine documents–with or without the Edit Flow plugin
- Fine-grained authentication control
- Document versioning
- Government- and enterprise-grade security
This plugin wasn’t developed by a couple of hacks in a garage between video games, either. WP Document Revision was developed with a grant from Google.
A note about search
I have to mention that, currently, the documents you manage with WP Document Revision are not searchable. That is, you can search for the documents by name, but searches will not return documents based on their content or document properties / metadata. Plone, on the other hand, can index at least DOC and PDF files for fulltext searching.
You could add a search tool outside of WordPress, from a number of other providers, to provide fulltext search. Options and recommendations for that, however, are beyond the scope of this article.
Potential Dealbreaker: The human side of the equation
Is your client already heavily invested in Python? (Good Luck)
This could actually be a deal-breaker for you, before you even get to meaningful facts about the tool you need. People tend to use tools they are familiar with for any job that comes along. This makes sense to some degree, as it leverages expertise and any hardware / software investment involved. It may be difficult or impossible to sway a client deeply invested and in love with Python.
Weakness in Plone’s complexity
Python has a number of web-friendly modules, they’ll surely point out. While that may be true, Plone has to run on top of several different component layers, adding to its complexity. And while your client may be the world pro at Python for database manipulation, game development, or physics tools, they can still be missing the experience to effectively troubleshoot and enhance a web system like Plone.
Indeed, the web-specific Python tools are often multi-layer frameworks with their own evolution and skillsets. Plone itself runs on top of:
- Five/z3, which relies on:
- CMF, which relies on:
- Zope, which sits on top of:
If any of your client’s stakeholders are not wed to Python, you might get a foot in the door by pointing out this complexity.
Good luck, fellow WordPress developers–and don’t get Ploned!