The Plone Content Management System
You've heard about it and read about it, but have you ever tried the open source Plone CMS? This enterprise-grade system is surprisingly easy to set up and get going. In this article, you'll jump into Plone, create simple content objects, and start personalizing the system. In future articles, you'll start to explore how content management systems can model most web applications by treating business objects as content and business rules as management.
When Tim Berners-Lee first came up with the technologies that would be the foundation of the web—URLs, HTML, and HTTP—he might or might not have had in mind the explosion of systems that would spring into existence to ease development, deployment, and ongoing management of web-based applications, corporate webfronts, blogs, image repositories, portals, intranets, extranets, and more. Design tools have lowered the bar to entry for those unwilling to learn HTML. Web frameworks have simplified application development. And application servers streamline deployment of web applications.
Today, you're seeing a new breed of web applications specifically designed to solve the problem of content management. A content management system (CMS) provides through-the-web publication management of all sorts of content, including regular web pages, images, and media files, and often provides the basis for collaborative editing, version control, editorial approval, and so forth. With such features, CMSs are ideal for portals, intra- and extranets, and presence management. Moreover, custom web applications can be realized as content management with minimal development.
Plone is one such CMS. Plone is open-source and follows an object-oriented implementation and an emphasis on visual clarity, accessibility, and ease of use. In this article, you'll try out Plone and see what it's like to publish a simple website with it.
Plone differs from other CMS's by avoiding the sometimes problematic LAMP software bundle altogether. Instead, it runs in the context of the open source Zope application server. Both Zope and Plone are written in the Python programming language, a clean, object-oriented scripting language popular with NASA, Google, YouTube, Industrial Light & Magic, and more. Further, rather than requiring a relational database like MySQL, Zope includes an object database (ZODB) that closely matches with object-oriented programming ideas, avoiding the difficulties that often occur as a result of the object-relational impedance mismatch.
Do you need to install all these components separately to run Plone? Fortunately, not! Both Mac OS X and Windows users have pre-made installers that do all the work for you, and Linux users can take advantage of RPMs and installers that also simplify the task. (For this article, I'll demonstrate how it all works on Mac OS X and Windows. Linux users ought to be smart enough to figure out what they need to do!)
The Apple Experience
Installing Plone on Mac OS X is only a little bit harder than firing up your iPod. You just need to know whether you're running on one of the newer Intel-based Macs or the older PowerPC-based ones. Head over to http://plone.org/products/plone and locate the link for your platform. I'm using an Intel-based Mac, so I click the upper link to download version 2.5.2.
Depending on your browser, you'll get a new folder with a Plone-2.5.2.mpkg icon in it. Double-click that icon to start the installer.
Note: You'll need an account with administrative privileges to complete the installation. Also, Plone 2.5.2 requires Mac OS X 10.4 "Tiger," so if you're still running "Panther," it's high-time to upgrade!
Plone's now installed in /Applications/Plone-2.5.2, but it's not yet running. To start Plone, you'll need to fire up a Terminal (located in /Applications/Utilities) and type a command by hand. Don't worry, it's quite easy. After starting Terminal, type the following at the prompt:
sudo /Applications/Plone-2.5.2/Instance/bin/zopectl start
When prompted for a password, enter your account password. (Again, you'll need to use an administrator account for this to work.) Plone is now running. (Incidentally, to stop Plone, just type that above command again, replacing start with stop.) Now, you can start your favorite web browser and visit http://localhost:8080/Plone. Welcome to your new Plone site!
A special note for Safari users: Plone works okay with the default browser on Mac OS X, Safari; however, the built-in WYSIWYG editor doesn't work with Safari. Unless you're comfortable editing HTML directly, you might want to try Firefox or Camino.
You Do Windows?
Windows users have it just as easy as the Mac folks when it comes to installing Plone. I don't have Windows Vista myself, so I can't tell whether it works on Vista, but it's quite happy on XP. Here's how it goes: Visit http://plone.org/products/plone and click the link for "Get Plone for Windows." Use the first link, not the second one, which assumes you already have the Zope application server installed.
Depending on your browser, you'll have an icon for Plone somewhere that you can open:
Follow the on-screen instructions until you get to the "Enter a password" page. Here, you'll set up the name and password for the administrator account on your new Plone site. Traditionally, people use the name admin, but you can use whatever you like:
Finish the installation wizard and then head over to your Start menu and point to All Programs. You'll have a new program group, Plone; point to that and select Plone. That'll make the Plone Control Panel appear:
Click the Start button followed by the View Plone… button and Plone will start up and your favorite web browser will open to the Plone start page.
Welcome to your new Plone site!