Welcome!

Linux Containers Authors: Carmen Gonzalez, Liz McMillan, Elizabeth White, Kevin Benedict, Pat Romanski

Related Topics: Linux Containers, Open Source Cloud, Apache, CMS

Linux Containers: Article

Plone and Drupal: Different Approaches, Different Results

Two Leading Content Management Systems

Drupal Developer's Journal on Ulitzer

Plone and Drupal are two leading open source Content Management Systems (CMS). Both were recognized in the 2009 Open Source CMS awards, run by Packt Publishing.  Both also have large installed bases and large developer communities.  This is made evident by some quick searching on Google:

A search for LinkedIn profiles that mention Plone (search for 'plone site:linkedin.com/pub/') turns up 1350 pages-a large increase from 500 results in 2006.

The same kind of search for Drupal developers turns up 9700 pages (search for 'drupal site:linkedin.com/pub/').  This tells me that, in LinkedIn anyway, there might be approximately seven to eight times as many Drupal developers as there are Plone developers.

Below I will outline the strength and weaknesses of both systems. As a site administrator who has worked with Plone since September 2005, I'll give you an idea of what you'll find under the hood of Plone that you might not read about elsewhere.

Plone and Drupal Strengths
Where Plone really shines is usability. Navigation and search work nicely "out-of-the-box."  Plone features a nice little AJAX drop-down that autocompletes  as you type in a search term. The system also instantly updates the search index every time new content is saved.  The overall ease of management of everything from pages and folders to navigation and search provides a generally good experience for both end-users and content administrators.

Drupal, on the other hand, is turning out to be a juggernaut in the open source CMS space.  It's rapidly growing in popularity, finding its way into many segments fueled by LAMP (Linux, Apache, Mysql, PHP/PERL/Python) architecture. Drupal's clean code base and flexible design make it easy to work with and extend.  Drupal scored the CMS coup of the year by being chosen as the development platform for the new whitehouse.gov site in October 2009. Besides providing easy-to-use menu management and content editing, Drupal's standout strengths include its large base of available modules and the low cost of module development.

Digging into the Oddities of Plone
One of the biggest differences between Plone and other open source CMSs is that Plone is not based on LAMP architecture.  Plone is designed to run on the Zope application server, which is written in Python.

When you start Plone, you spool up the Zope application server and then Plone on top of it.  Zope tends to use quite a bit of RAM so expect very large memory footprints for Plone compared to a system run on LAMP architecture.  Plone also spools a large number of content items into RAM as well. This feature is configurable and results in somewhat better performance if you have the RAM to handle it.  My own view is that Zope and Plone are built with this large content cache to improve upon marginal performance, perhaps due to the custom object database that comes native to Plone.

As an anecdote, our Plone data file (Data.fs) grew to about 2.7GB after 3 years of use with regular packing of the file.  The Plone process that was tied to this data was showing about 300MB of memory use (274MB resident, 283MB virtual in htop).  The above comments are based on 2.5x Plone installs.  The more current 3.x version of Plone reportedly uses more memory than the 2.x tree.

The approach Plone has taken leads to some problems that you might expect based on the description outlined above, but also some problems you might not expect.  For example, the memory requirements mean you need more robust server hardware: more memory, more CPU-much more when compared to LAMP.  Many hosting companies are not ready for the Plone experience so you need to take extra precaution when selecting  a hosting solution, especially related to memory.

The bigger problem we found with Plone, however, is that it's difficult to manage as a server process.  We found that Plone/Zope will often hang.  Why?  That's the problem.  We don't know why.  We think it's related to content administrators being logged in, but that's all we've been able to determine.

This is where the problems with Plone thicken.  In our experience, when Plone/Zope hangs, the process does not exit but it stops responding to requests and it does consume more CPU resources.  We don't get the usual error reports or logs that you would expect with a LAMP stack.  Not only is it hard to tell when Plone/Zope hangs, but we also don't have a way to find out why.

Worse yet, when Plone hangs, all the sites on the instance become unresponsive.   No crash signal, no error report-other sites crash along with the site that caused the problem.

This is from Plone/Zope that's been installed from source on Debian.  We managed this situation with custom scripts that verify that specific static Plone content is downloading within certain time limits.  When problems occur, the drill is to kill the Python system processes tied to that Plone/Zope instance and then use the Zope control file (zopectl) to start Zope again.  Because of the large memory requirements, starting Plone can easily take more than 10 minutes on a server with 2GB of memory and a large Data.fs file like mentioned above.

In addition, we learned that Plone development typically costs more than development for popular LAMP CMS products like Drupal.  Plone is expensive to get data in and out of, and it lacks many common features, like e-commerce modules. Plone gives developers a lower starting point from which to begin work.  Plone also has a very steep learning curve and a lack of good documentation. Overall, it's a little complex structurally and a tough environment to learn.  This is the case even with the advantages of Python, which is a mature language known for programmer productivity.

I rolled out our first Plone site in September of 2005.  That later grew to a total of 9 Plone sites running on two instances of Plone/Zope on the same server.  Because of our inability to debug problems with Plone hanging, our only resolution has been to migrate to newer major versions of Plone.  This forced migration basically resulted in a poor experience for our organization and consultant fees that would have otherwise been avoided.

Praise for Drupal
While rolling out Plone sites, we also built a few newer sites for ourselves and our partners in Drupal.  Our experience with Drupal has been fantastic.  The sites themselves perform well, are easy to add features to. Additionally we had better training experiences than with Plone.  Drupal's developer community is much larger, as is the breadth and depth of software, so it's easier to "get things done" and, in our experience, quicker and less expensive as well.

If you have experience with the LAMP stack, Drupal will be very comfortable to you.  Unlike Plone with it's reliance on Zope, the major aspects of the Drupal technology architecture drive right down the middle of the Linux and open source server road map with Apache, MySQL and PHP at the core.

Digging into the details of Drupal's features, we like how little things work, such as menus, search and content editing.  We also like how big things work, such as how efficient it is to write new modules and how it's easy to build on the many many modules currently available for Drupal.

Looking Forward
Many sites will continue to run Plone but I expect there will be an additional inflection in the adoption curve in favor of Drupal.  I wrote this article only as a point of caution for potential adopters and to help arm people considering Plone with the perspective of someone who has been an administrator and user of both Plone and Drupal over the past four years.

For most needs I am encountering these days, Drupal is a much better fit than Plone.  Both a better fit in terms of features but also a better fit in terms of value and long-term costs of ownership.

More Stories By Paul Nowak

Paul Nowak first used Linux in 1995 while migrating from Sun to Linux at the University of Michigan. He used Linux in subsequent IT projects including web, telecom, telemetry and embedded projects and is currently CIO of a small professional association based in Washington D.C.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
paul.nowak 11/04/09 04:19:00 PM EST

Matt, thanks for the comments. I made an error on the version of Plone. It's 2.5 Plone running on Zope 2.9x.

In regards to the additional products, we have a skin installed and we have a product that we had custom developed for us that connects to a PostgreSQL database. We've looked at slow PostgreSQL queries causing problems and have not been able to find an issue. We've also tested for the case where the PostgreSQL server is down and have not been able to create an issue. We therefore think that it's not the product that makes the PostgreSQL connection that's causing the problem with our instances and that's why my comments focus on core Plone.

Paul

matthamilton2 11/03/09 05:33:00 PM EST

An interesting article, and great to see a side by side comparison of both Plone and Drupal.

There are a few points I think that need to be made regarding your assessment of Plone.

1) There is no Plone 2.6, I'm not sure what version you were using, but if you meant 2.5 then that was released approx 3 years ago, so it would be unfair to base your experiences of 3 years ago for someone looking to evaluate Plone today.

2) Related to above, I'm pretty sure if you tried to upgrade a Drupal version from 3 years ago to today's version you would also have quite significant issues as well.

3) "lacks many common features, like e-commerce modules" if you look on plone.org/products you will see dozens of e-commerce modules. GetPaid being probably the most powerful.

4) As for 10 minute startup times, I'm not quite sure what you've managed to do to that site, but I've never seen a Plone site take that long to start up.

5) Plone hanging, I'm not sure either what you've done here, but the only time I've seen Plone hang like that is when a custom written code includes an infinite loop... something an inexperienced programmer can do with any language.

I hope this sets things a bit more balanced, and allows users to make a more informed decision when evaluating Plone.

Plone has the best security track record of any Open Source CMS (source: CVE) and is used in a number of prominent large US government sites, such as cia.gov, fbi.gov and NASA.

If you are interested in the roadmap of Plone, version 4 should be released by the end of this year and Plone 5 scheduled for mid 2010. Full details can be found in a presentation I did recently: http://tinyurl.com/l2s7ab

-Matt

@ThingsExpo Stories
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
Financial Technology has become a topic of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 20th Cloud Expo at the Javits Center in New York, June 6-8, 2017, will find fresh new content in a new track called FinTech.
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
Amazon has gradually rolled out parts of its IoT offerings in the last year, but these are just the tip of the iceberg. In addition to optimizing their back-end AWS offerings, Amazon is laying the ground work to be a major force in IoT – especially in the connected home and office. Amazon is extending its reach by building on its dominant Cloud IoT platform, its Dash Button strategy, recently announced Replenishment Services, the Echo/Alexa voice recognition control platform, the 6-7 strategic...
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Business Development at Nvidia, discussed the accelerating pace of AI development and how IBM Cloud and NVIDIA are partnering to bring AI capabilities to "every day," on-demand. They also reviewed two "free infrastructure" pr...
Unsecured IoT devices were used to launch crippling DDOS attacks in October 2016, targeting services such as Twitter, Spotify, and GitHub. Subsequent testimony to Congress about potential attacks on office buildings, schools, and hospitals raised the possibility for the IoT to harm and even kill people. What should be done? Does the government need to intervene? This panel at @ThingExpo New York brings together leading IoT and security experts to discuss this very serious topic.
More and more brands have jumped on the IoT bandwagon. We have an excess of wearables – activity trackers, smartwatches, smart glasses and sneakers, and more that track seemingly endless datapoints. However, most consumers have no idea what “IoT” means. Creating more wearables that track data shouldn't be the aim of brands; delivering meaningful, tangible relevance to their users should be. We're in a period in which the IoT pendulum is still swinging. Initially, it swung toward "smart for smar...
"Dice has been around for the last 20 years. We have been helping tech professionals find new jobs and career opportunities," explained Manish Dixit, VP of Product and Engineering at Dice, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Complete Internet of Things (IoT) embedded device security is not just about the device but involves the entire product’s identity, data and control integrity, and services traversing the cloud. A device can no longer be looked at as an island; it is a part of a system. In fact, given the cross-domain interactions enabled by IoT it could be a part of many systems. Also, depending on where the device is deployed, for example, in the office building versus a factory floor or oil field, security ha...
"ReadyTalk is an audio and web video conferencing provider. We've really come to embrace WebRTC as the platform for our future of technology," explained Dan Cunningham, CTO of ReadyTalk, in this SYS-CON.tv interview at WebRTC Summit at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
"At ROHA we develop an app called Catcha. It was developed after we spent a year meeting with, talking to, interacting with senior citizens watching them use their smartphones and talking to them about how they use their smartphones so we could get to know their smartphone behavior," explained Dave Woods, Chief Innovation Officer at ROHA, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web communications world. The 6th WebRTC Summit continues our tradition of delivering the latest and greatest presentations within the world of WebRTC. Topics include voice calling, video chat, P2P file sharing, and use cases that have already leveraged the power and convenience of WebRTC.
The many IoT deployments around the world are busy integrating smart devices and sensors into their enterprise IT infrastructures. Yet all of this technology – and there are an amazing number of choices – is of no use without the software to gather, communicate, and analyze the new data flows. Without software, there is no IT. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, Dave McCarthy, Director of Products at Bsquare Corporation; Alan Williamson, Principal...
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life sett...
An IoT product’s log files speak volumes about what’s happening with your products in the field, pinpointing current and potential issues, and enabling you to predict failures and save millions of dollars in inventory. But until recently, no one knew how to listen. In his session at @ThingsExpo, Dan Gettens, Chief Research Officer at OnProcess, discussed recent research by Massachusetts Institute of Technology and OnProcess Technology, where MIT created a new, breakthrough analytics model for ...
Successful digital transformation requires new organizational competencies and capabilities. Research tells us that the biggest impediment to successful transformation is human; consequently, the biggest enabler is a properly skilled and empowered workforce. In the digital age, new individual and collective competencies are required. In his session at 19th Cloud Expo, Bob Newhouse, CEO and founder of Agilitiv, drew together recent research and lessons learned from emerging and established compa...
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
Whether your IoT service is connecting cars, homes, appliances, wearable, cameras or other devices, one question hangs in the balance – how do you actually make money from this service? The ability to turn your IoT service into profit requires the ability to create a monetization strategy that is flexible, scalable and working for you in real-time. It must be a transparent, smoothly implemented strategy that all stakeholders – from customers to the board – will be able to understand and comprehe...
DevOps is being widely accepted (if not fully adopted) as essential in enterprise IT. But as Enterprise DevOps gains maturity, expands scope, and increases velocity, the need for data-driven decisions across teams becomes more acute. DevOps teams in any modern business must wrangle the ‘digital exhaust’ from the delivery toolchain, "pervasive" and "cognitive" computing, APIs and services, mobile devices and applications, the Internet of Things, and now even blockchain. In this power panel at @...