Difference between revisions of "Plone"

From Organic Design wiki
(See also)
(Zope 3 section)
Line 20: Line 20:
 
*[http://www.mail-archive.com/zodb-dev@zope.org/msg05183.html Bounty Program on Zope/Plone with Scality Droplet] ''- a company offering a bounty to get ZODB working on their cloud system''
 
*[http://www.mail-archive.com/zodb-dev@zope.org/msg05183.html Bounty Program on Zope/Plone with Scality Droplet] ''- a company offering a bounty to get ZODB working on their cloud system''
 
*[[Cloud]] ''- our article on migrating into the cloud''
 
*[[Cloud]] ''- our article on migrating into the cloud''
 +
 +
== Zope 3 ==
 +
Zope 3 is a ground-up rewrite, and although it borrows a lot of experience from Zope 2, it is an entirely separate product. This does not mean Zope 2 is irrelevant or outdated.
 +
 +
Right now, there's a lot of innovation going on in Zope 2 all the time. It's just that lots of that innovation is now shared with Zope 3 - Zope 2 and Zope 3 technologies are converging. This convergence will take many years to be "complete". Zope 3 is a testing ground for a lot of new technologies that may or may not end up being used, and the later versions of Zope 2 have bridging interfaces (called "Five" — two plus three, get it?) that allow you to use both technologies at the same time.
 +
 +
So, besides using Zope 3 directly, you could write your application in a modern version of Zope 2, such as Zope 2.10, and use the Zope 3 technology in it (a large part of Zope 3 is included, and a bridge module called Five is there to make integration possible). It allows you to evolve your application more gradually. It also allows your application more easy portability to Zope 3 if you should need to later, as you're already using the technology.
 +
 +
Plone 2.5 ships with both Zope 2 and Zope 3, and has started to make use of Zope 3 technology. Plone 3.0 and 3.5 continue this trend, adopting more and more Zope 3-style development and components, but continuing to be firmly rooted in the latest releases of Zope 2. (For example, Plone 3 targets Zope 2.10 at the time of writing.)
 +
 +
For more detailed information, see the [http://plone.org/documentation/manual/developer-manual/archetypes/appendix-practicals/b-org-creating-content-types-the-plone-2.5-way/to-archetype-or-not-to-archetype to archetype or not to archetype] and [http://plone.org/documentation/manual/developer-manual/archetypes/appendix-practicals/b-org-creating-content-types-the-plone-2.5-way/a-whirlwind-tour-of-zope-3 Zope 3 and Plone] articles by the Plone documentation team.
  
 
== See also ==
 
== See also ==
 
*[http://plone.org/documentation Official documentation]
 
*[http://plone.org/documentation Official documentation]
 
*[[Python]]
 
*[[Python]]
*[http://plone.org/documentation/manual/developer-manual/archetypes/appendix-practicals/b-org-creating-content-types-the-plone-2.5-way/a-whirlwind-tour-of-zope-3 Zope 3 and Plone] ''''Five'''' is Zope 3 with bridge to Zope 2 connectors for Plone
 
*[http://plone.org/documentation/faq/zope-3-and-plone What is Zope 3 and how does it relate to phone?]
 
**Plone 2.5 ships with both Zope 2 and Zope 3, and has started to make use of Zope 3 technology.
 
**Plone 3.0 and 3.5 continue this trend, adopting more and more Zope 3-style development and components, but continuing to be firmly rooted in the latest releases of Zope 2. (For example, Plone 3 targets Zope 2.10 at the time of writing.)
 
 
[[Category:Software]]
 
[[Category:Software]]

Revision as of 19:47, 3 January 2011

Plone is a free and open source content management system built on top of the Zope application server. In principle, Plone can be used for any kind of website, including blogs, internet sites, webshops and intranets. It is also well positioned to be used as a document publishing system and groupware collaboration tool. The strengths of Plone are its flexible and adaptable workflow, very good security, extensibility, high usability and flexibility.

Plone is released under the GNU General Public License (GPL) and is designed to be extensible. Major development is conducted periodically during special meetings called Plone Sprints. Additional functionality is added to Plone with Products, which may be distributed through the Plone website or otherwise. The Plone Foundation owns and protects all copyrights and trademarks. Plone also has legal backing from the council of the Software Freedom Law Center.

MediaWiki's "Monobook" layout is based partially on the Plone style sheets.

Installation

Plone is a lot bigger (36M) than most of the PHP based CMS's probably because it contains Zope and it's own version of Python. Plone is not for noobs to setup, it's a fully featured site administration system for managing multiple instances. After installation I was told that everything had been installed successfully, nothing was running and no indication was given as to what needed to be done next. Their installation documentation didn't give me any clues and in the end I went to their IRC channel where some helpful people quickly gave me instructions on what to do next.

I ran through the installation setting it up as standalone with all default options. By default the installer configures Plone to run on port 8080 if port 80 is already in use. The Plone daemon must then be activated, which is done as follows if default paths were used for the installation:

/usr/local/Plone/zinstance/bin/plonectl start

Going to our domain on port 8080 then allowed me to create a test Plone instance which you can see at www.organicdesign.co.nz:8080/od.

Plone in the cloud

Plone uses ZODB for its storage which can be plugged in to any storage model. This makes it an attractive candidate for moving in to the cloud or even in to P2P space by using a DHT for persistent object storage.

Zope 3

Zope 3 is a ground-up rewrite, and although it borrows a lot of experience from Zope 2, it is an entirely separate product. This does not mean Zope 2 is irrelevant or outdated.

Right now, there's a lot of innovation going on in Zope 2 all the time. It's just that lots of that innovation is now shared with Zope 3 - Zope 2 and Zope 3 technologies are converging. This convergence will take many years to be "complete". Zope 3 is a testing ground for a lot of new technologies that may or may not end up being used, and the later versions of Zope 2 have bridging interfaces (called "Five" — two plus three, get it?) that allow you to use both technologies at the same time.

So, besides using Zope 3 directly, you could write your application in a modern version of Zope 2, such as Zope 2.10, and use the Zope 3 technology in it (a large part of Zope 3 is included, and a bridge module called Five is there to make integration possible). It allows you to evolve your application more gradually. It also allows your application more easy portability to Zope 3 if you should need to later, as you're already using the technology.

Plone 2.5 ships with both Zope 2 and Zope 3, and has started to make use of Zope 3 technology. Plone 3.0 and 3.5 continue this trend, adopting more and more Zope 3-style development and components, but continuing to be firmly rooted in the latest releases of Zope 2. (For example, Plone 3 targets Zope 2.10 at the time of writing.)

For more detailed information, see the to archetype or not to archetype and Zope 3 and Plone articles by the Plone documentation team.

See also