Does Plone do what I'm looking for?
I'm evaluating a system to do X, Y and Z, can Plone do that? Is Plone the right tool for the job?
The short answer is, yes — Plone can almost certainly do what you want to accomplish. The more interesting part of the answer is whether Plone is the right solution to your problem.
It may be easier to think of Plone as an operating system like Windows/Mac OS X/Linux: It ships with some basic tools and functionality, but a lot of its strength come from the specialized applications that run inside it. You can find examples of these applications in the Products area.
Good matches for Plone
- If you are happy with the functionality that Plone provides out-of-the-box or with some of the available add-on products.
- If you are a small-to-medium sized business and don't mind doing some of the technical stuff yourself.
- If you are a large business or non-profit, and don't mind spending some money/resources on training your staff or hiring consultants.
- If you need a good, low-maintenance intranet/portal system.
- If you are producing a dynamic, content-rich web presence for a community.
- If you are willing to spend some time learning about the underlying technologies when you want to change its behaviour radically or are doing very specialized things with it.
Not-so-good matches for Plone
- If you don't have a dedicated server and still want full control of your instance.
- If your server has limited CPU or RAM - you should at least have a 1GHz server with 512MB RAM to use it comfortably.
- If you need to change Plone, but are unwilling or unable to invest time or resources to learn about the underlying technology - or not willing pay one of the many Plone consulting/training companies to help you.
- If your solution should have been in place yesterday (aren't they all like this ;) and Plone doesn't do what you need out-of-the-box. Plone is not a trivial software stack, although it does make a lot of complex operations incredibly easy for developers. There is no silver bullet in software development (well - maybe except for unit testing ;) - and you should plan on investing some time to understand the system completely before going live with a deployment - or have a good Plone company to support you.
- If your main concern is low-cost hosting á la $5/month PHP hosting (Plone is a content management server and an application server - not only a simple scripting language paired with a database). There is a lot of Plone hosting alternatives out there, but they will never be as low-margin as simple PHP/MySQL hosting.
- If you are looking for a simple weblog or forum or web publishing solution (simple in this context meaning technically less demanding, not usability and ease-of-use, which Plone excels at).
Plone is excellent for application oriented jobs and Your Average PHP/Java CMS™(1) is good for page oriented jobs. If what you need to produce is a "brochure site", then Plone is probably a bit overkill for your needs - although people use Plone for this too.
If users of the system need to add, modify, and delete content, or if the content is not always table oriented, but requires a process, a workflow, and complex content types with business logic, Plone may be a better choice.
As a decision maker, you should know that there is a learning curve with Plone if you want to know the inner details, although this investment normally pays off in cost savings over the system's lifetime.
As a consultant/developer, an important point is that the knowledge you gain is reusable. That means that over time, you can increase your productivity - sometimes substantially - as you become more adept with Plone. Other systems' architectures are frequently easier to get into, but after an initial gain, the productivity curve flattens.
Plone is certainly capable of most tasks, but that doesn't mean it's the best suited for all of them. Make sure you ask around and have a good plan for what you need right now and in the future - and don't be afraid to ask on the mailing lists if you need advice. We're professional enough to point out when a different solution would be a better match for your requirements.
(1) No offense intended, we're just trying to avoid mentioning specific names. We are absolutely aware that there are systems written in PHP and Java that do not suck - however, these systems are normally not the ones we are asked to compare with Plone.