|By Paul Nowak||
|November 3, 2009 03:15 PM EST||
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.
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.
|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.
|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
WebRTC is about the data channel as much as about video and audio conferencing. However, basically all commercial WebRTC applications have been built with a focus on audio and video. The handling of “data” has been limited to text chat and file download – all other data sharing seems to end with screensharing. What is holding back a more intensive use of peer-to-peer data? In her session at @ThingsExpo, Dr Silvia Pfeiffer, WebRTC Applications Team Lead at National ICT Australia, will look at different existing uses of peer-to-peer data sharing and how it can become useful in a live session to...
Oct. 7, 2015 05:00 PM EDT Reads: 554
NHK, Japan Broadcasting, will feature the upcoming @ThingsExpo Silicon Valley in a special 'Internet of Things' and smart technology documentary that will be filmed on the expo floor between November 3 to 5, 2015, in Santa Clara. NHK is the sole public TV network in Japan equivalent to the BBC in the UK and the largest in Asia with many award-winning science and technology programs. Japanese TV is producing a documentary about IoT and Smart technology and will be covering @ThingsExpo Silicon Valley. The program, to be aired during the peak viewership season of the year, will have a major impac...
Oct. 7, 2015 04:45 PM EDT Reads: 187
The buzz continues for cloud, data analytics and the Internet of Things (IoT) and their collective impact across all industries. But a new conversation is emerging - how do companies use industry disruption and technology enablers to lead in markets undergoing change, uncertainty and ambiguity? Organizations of all sizes need to evolve and transform, often under massive pressure, as industry lines blur and merge and traditional business models are assaulted and turned upside down. In this new data-driven world, marketplaces reign supreme while interoperability, APIs and applications deliver un...
Oct. 7, 2015 04:13 PM EDT
Internet of Things (IoT) will be a hybrid ecosystem of diverse devices and sensors collaborating with operational and enterprise systems to create the next big application. In their session at @ThingsExpo, Bramh Gupta, founder and CEO of robomq.io, and Fred Yatzeck, principal architect leading product development at robomq.io, discussed how choosing the right middleware and integration strategy from the get-go will enable IoT solution developers to adapt and grow with the industry, while at the same time reduce Time to Market (TTM) by using plug and play capabilities offered by a robust IoT ...
Oct. 7, 2015 04:00 PM EDT Reads: 2,132
Through WebRTC, audio and video communications are being embedded more easily than ever into applications, helping carriers, enterprises and independent software vendors deliver greater functionality to their end users. With today’s business world increasingly focused on outcomes, users’ growing calls for ease of use, and businesses craving smarter, tighter integration, what’s the next step in delivering a richer, more immersive experience? That richer, more fully integrated experience comes about through a Communications Platform as a Service which allows for messaging, screen sharing, video...
Oct. 7, 2015 04:00 PM EDT Reads: 1,063
Developing software for the Internet of Things (IoT) comes with its own set of challenges. Security, privacy, and unified standards are a few key issues. In addition, each IoT product is comprised of at least three separate application components: the software embedded in the device, the backend big-data service, and the mobile application for the end user's controls. Each component is developed by a different team, using different technologies and practices, and deployed to a different stack/target - this makes the integration of these separate pipelines and the coordination of software upd...
Oct. 7, 2015 04:00 PM EDT Reads: 201
Can call centers hang up the phones for good? Intuitive Solutions did. WebRTC enabled this contact center provider to eliminate antiquated telephony and desktop phone infrastructure with a pure web-based solution, allowing them to expand beyond brick-and-mortar confines to a home-based agent model. It also ensured scalability and better service for customers, including MUY! Companies, one of the country's largest franchise restaurant companies with 232 Pizza Hut locations. This is one example of WebRTC adoption today, but the potential is limitless when powered by IoT.
Oct. 7, 2015 03:30 PM EDT Reads: 7,417
SYS-CON Events announced today that Luxoft Holding, Inc., a leading provider of software development services and innovative IT solutions, has been named “Bronze Sponsor” of SYS-CON's @ThingsExpo, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Luxoft’s software development services consist of core and mission-critical custom software development and support, product engineering and testing, and technology consulting.
Oct. 7, 2015 03:15 PM EDT Reads: 608
“In the past year we've seen a lot of stabilization of WebRTC. You can now use it in production with a far greater degree of certainty. A lot of the real developments in the past year have been in things like the data channel, which will enable a whole new type of application," explained Peter Dunkley, Technical Director at Acision, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Oct. 7, 2015 03:00 PM EDT Reads: 6,905
"Matrix is an ambitious open standard and implementation that's set up to break down the fragmentation problems that exist in IP messaging and VoIP communication," explained John Woolf, Technical Evangelist at Matrix, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Oct. 7, 2015 02:00 PM EDT Reads: 5,848
You have your devices and your data, but what about the rest of your Internet of Things story? Two popular classes of technologies that nicely handle the Big Data analytics for Internet of Things are Apache Hadoop and NoSQL. Hadoop is designed for parallelizing analytical work across many servers and is ideal for the massive data volumes you create with IoT devices. NoSQL databases such as Apache HBase are ideal for storing and retrieving IoT data as “time series data.”
Oct. 7, 2015 01:45 PM EDT Reads: 479
There are so many tools and techniques for data analytics that even for a data scientist the choices, possible systems, and even the types of data can be daunting. In his session at @ThingsExpo, Chris Harrold, Global CTO for Big Data Solutions for EMC Corporation, will show how to perform a simple, but meaningful analysis of social sentiment data using freely available tools that take only minutes to download and install. Participants will get the download information, scripts, and complete end-to-end walkthrough of the analysis from start to finish. Participants will also be given the pract...
Oct. 7, 2015 01:45 PM EDT Reads: 108
Clearly the way forward is to move to cloud be it bare metal, VMs or containers. One aspect of the current public clouds that is slowing this cloud migration is cloud lock-in. Every cloud vendor is trying to make it very difficult to move out once a customer has chosen their cloud. In his session at 17th Cloud Expo, Naveen Nimmu, CEO of Clouber, Inc., will advocate that making the inter-cloud migration as simple as changing airlines would help the entire industry to quickly adopt the cloud without worrying about any lock-in fears. In fact by having standard APIs for IaaS would help PaaS expl...
Oct. 7, 2015 01:30 PM EDT Reads: 608
SYS-CON Events announced today that ProfitBricks, the provider of painless cloud infrastructure, will exhibit at SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. ProfitBricks is the IaaS provider that offers a painless cloud experience for all IT users, with no learning curve. ProfitBricks boasts flexible cloud servers and networking, an integrated Data Center Designer tool for visual control over the cloud and the best price/performance value available. ProfitBricks was named one of the coolest Clo...
Oct. 7, 2015 01:00 PM EDT Reads: 749
Organizations already struggle with the simple collection of data resulting from the proliferation of IoT, lacking the right infrastructure to manage it. They can't only rely on the cloud to collect and utilize this data because many applications still require dedicated infrastructure for security, redundancy, performance, etc. In his session at 17th Cloud Expo, Emil Sayegh, CEO of Codero Hosting, will discuss how in order to resolve the inherent issues, companies need to combine dedicated and cloud solutions through hybrid hosting – a sustainable solution for the data required to manage I...
Oct. 7, 2015 01:00 PM EDT Reads: 454
Mobile messaging has been a popular communication channel for more than 20 years. Finnish engineer Matti Makkonen invented the idea for SMS (Short Message Service) in 1984, making his vision a reality on December 3, 1992 by sending the first message ("Happy Christmas") from a PC to a cell phone. Since then, the technology has evolved immensely, from both a technology standpoint, and in our everyday uses for it. Originally used for person-to-person (P2P) communication, i.e., Sally sends a text message to Betty – mobile messaging now offers tremendous value to businesses for customer and empl...
Oct. 7, 2015 12:15 PM EDT Reads: 193
Nowadays, a large number of sensors and devices are connected to the network. Leading-edge IoT technologies integrate various types of sensor data to create a new value for several business decision scenarios. The transparent cloud is a model of a new IoT emergence service platform. Many service providers store and access various types of sensor data in order to create and find out new business values by integrating such data.
Oct. 7, 2015 12:00 PM EDT Reads: 468
SYS-CON Events announced today that IBM Cloud Data Services has been named “Bronze Sponsor” of SYS-CON's 17th Cloud Expo, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. IBM Cloud Data Services offers a portfolio of integrated, best-of-breed cloud data services for developers focused on mobile computing and analytics use cases.
Oct. 7, 2015 12:00 PM EDT Reads: 673
Scott Guthrie's keynote presentation "Journey to the intelligent cloud" is a must view video. This is from AzureCon 2015, September 29, 2015 I have reproduced some screen shots in case you are unable to view this long video for one reason or another. One of the highlights is 3 datacenters coming on line in India.
Oct. 7, 2015 12:00 PM EDT Reads: 256
Apps and devices shouldn't stop working when there's limited or no network connectivity. Learn how to bring data stored in a cloud database to the edge of the network (and back again) whenever an Internet connection is available. In his session at 17th Cloud Expo, Bradley Holt, Developer Advocate at IBM Cloud Data Services, will demonstrate techniques for replicating cloud databases with devices in order to build offline-first mobile or Internet of Things (IoT) apps that can provide a better, faster user experience, both offline and online. The focus of this talk will be on IBM Cloudant, Apa...
Oct. 7, 2015 11:45 AM EDT Reads: 491