Personal tools
You are here: Home Help Web More about Plone
 

More about Plone

Here is a more detailed explanation of what our web server is, how it works, what it can do, what it won't do, and why we chose it.

What is Plone? (detailed version)

Plone is a very capable, very complex piece of software. It has many highly desirable qualities:

Plone is friendly

Plone's many built-in editing features (plus Undo) make it easy for anybody to create and maintain their web content.

Plone is secure

Plone is controlled by a well-defined object-level security system, which means that you can give or take away read/write access to anything, from whole folder trees to single Documents and Images. This allows you to (for example) give someone the ability to update some (but not all) of your pages, and then afterwards you can take that access away again.

Plone is a database

Everything in Plone is managed by a specialized object-oriented database system (ZEO), which tracks changes as "transactions", which can be undone. It also maintains many database indexes, which allow it to perform searches very quickly, with up-to-the-minute accuracy.

Plone communicates well

While Plone mostly acts as a web server, it also supports WebDAV and acts as an FTP server, to make it easier to import and export content. It also speaks proper XHTML, RSS, XML-RPC, and any other web protocol we're likely to need.

Plone is "deep"

As implemented here, Plone is the top layer in a stack, with each component providing additional capabilities:
  • Plone itself: the top, user-friendly presentation layer
  • CMS (the Content Management System toolkit): provides Workflow (publishing) and metadata (everything in the "Properties" tabs)
  • Zope: the "engine" which runs the Plone and CMS code (actually, we're running several copies in parallel, for increased performance)
  • ZEO: Zope's database server, running as a separate process (so we can run multiple Zopes with a shared database)
  • Squid: provides results caching (for a 400x speed boost) and helps make multiple Zopes look like one server
  • Apache: provides basic "bulletproof" webserver functionality, plus CGI scripts and encryption support
  • Linux: everyone's favorite stripped-down hard-to-kill open-source server operating system
  • Hardware: we're using a high-performance fault-tolerant four-processor Dell server with plenty of memory and hard disk space

Each layer in that stack was carefully chosen, configured, and tested. Combined, they give us the ability to manage our web content, serve it quickly, and still handle some non-Plone content; and they also provide much additional functionality.

Plone is Free

Plone is Open Source, which means that anyone can use it and improve it for free. Many, many people worldwide contribute fixes and enhancements to Plone everyday (I've sent in a few myself!), and if it doesn't have a feature you need, you're always welcome to add it yourself.

How does this affect me?

Because it was designed for security, Plone has its own rules about what can and cannot appear on a "normal" user's webpage:
  • Anything in the <head> section of an HTML file gets filtered out and ignored when displayed (except for the <title>, which is recognized at import time); you need to use Plone's "Properties" options to set metadata (author, copyright, etc.)
  • All <script> and <form> elements get filtered out and ignored when displayed; you need to use Plone's own tools to make forms or do Javascript.
  • Some formatting (including all links to external stylesheets) gets filtered out and ignored when displayed; Plone defines its own stylesheets, which you can use as-is or override with <style=""> attributes. (We may also create more options later on.)
  • Plone's user-friendly editors (Kupu and FCKeditor) have their own rules about what is allowed and what to filter out when saving your changes, which may or may not be the same as Plone's display rules; if the editors give you too much trouble, you can just FTP the file out to your PC, edit it with your favorite tools, and then FTP it back.

So, simply put, you can't "just do what you want" in Plone; Plone has rules to follow, and provides its own ways to accomplish your goals.

Well, then, why did you choose Plone?

Because Plone:
  • ... is secure, and allows users to manage their own page access security without involving a webmaster
  • ... is a database, and can handle "oops I deleted my file" with "Undo", without someone having to restore from backup tapes
  • ... is visitor-friendly, and provides consistent navigational tools automatically site-wide, regardless of who designed each page (and what their own preference for web styling might be)
  • ... is accessible, and can be used easily without a mouse and with the graphics turned off
  • ... is manageable, and allow us (the server maintainers) to find and fix problems site-wide instead of one-page-at-a-time
  • ... is "user-proof", and prevents many common problems from happening in the first place
Overall, Plone gives us much more than it takes away. But, there are rules to follow; see Plone's website and our other help pages for more about these rules and how to get the results you need.
Document Actions