CMSSurveyReportPlone
Report of Plone
Person(s) reviewing it: Ryan (this is a draft by Clopy)
Official Information: Main Website - Products - Documentation
Software version(s): Plone 2.5.1. Major versions come out roughly avery 6 months. Plone 3 is scheduled for March 2007
Status of the report: DRAFT
Status of test implementation: former members of imc-athens and other ppl are building a new site based on plone. A beta will be out in the next days
What We Want
Based on the original list: CMSWhatWeWant.
Name | Description |
---|---|
User Logins | User logins are available out of the box. How much of the site is accessible anonymously is entirely based on the administrators of each site. We are certainly able to configure the system to allow anonymous access to stories, including posting new media/stories and leaving comments. |
User Logins (network wide) | This Plone product, "is a user folder replacement for Zope that authenticates Zope users against LDAP." So network wide logins would be available to other IMC sites using Plone or any other cms that supports ldap user logins |
Access Controls | Plone has a very powerful role and permissions system. Combined with workflows, we have freedom to do whatever we like. |
Notify Moderator Button | Don’t know if it’s already there, but this is easy to implement |
User Moderation - Open Editing | As said, we can do anything we want with plone workflows/roles. We can enforce group permissions, and different workflows for any item (article, media, etc) |
User Profiles | Already in the core but needs some configuration to be indy specific |
Podcasting/Vodcasting | There are stuff in development, but I haven’t tried them, so I can’t say if they are as good as they should http://plone.org/products/plodcasting/releases/0.0.13 Vodcasting is definetly up to scratch http://plone.org/products/plone-rss2 - and_ |
Redundancy (DB content storage) | |
Version Control | versioning - yes. Plone has many, and very powerful versioning tools |
User Notifications | Yes |
Customizable skins by users | Anonymous and registered users can be given permission to choose between skins if multiple skins are registered within Plone. |
Accessibility | Plone has one of the best accessibility support out there. It is Section 508 compliant. |
GIS | Lots of geospatial products http://plone.org/products/by-category/geospatial Including a GIS: http://plone.org/products/primagis |
Photo Galleries | yes |
Licensing Options | Yes http://plone.org/products/contentlicensing |
Image Manipulation | Yes |
P2P Integration | Torrent files can be automatically generated for video uploads and I'd therefore assume anything else - see http://engagemedia.org and http://plone.org/products/atvideo. Some work has been done towards integration with gnutella also http://plone.org/events/sprints/past-sprints/snow-sprint3/p2p |
Social Networking - Filtering systems | A lot of stuff (like weblogs, groups etc.) are already there |
WYSIWYG Editor | Kupu by default, FCK Editor and others available. |
Tagging | very powerful tagging system. Anything can be tagged. Related stuff can be displayed, tag cloud is available and much more |
Anti-bot Systems | captchas http://plone.org/products/plonecaptcha and other stuff are there. |
Easy installation | Requires a (one time) installation of Zope, Plone and apache on the server. After that, installation of a new website is a matter of a few clicks away. |
Cross Site Search | Nothing ready I’m afraid, but there is this http://plone.org/products/plonesearchbox Perhaps it can be easily configured to search all indymedia websites through google instead of the entire www |
Hiding comments | We have already implemented a workflow mechanism about hiding stuff. Plone workflows gives us much more potential |
In-site content administration | It's there. |
APIs | yes |
VoIP | Well, there is this http://plone.org/products/plone-skype but I don't know if we want to use Skype |
Multi-node | ??? |
Multi-language support | Yes, again one of the strong points of plone (we're discussing of implementing an ability for a user to select more than one languages at the same time and be able to view all the content in these languages) |
What We Have
Based on the original list: CMSWhatWeHave.
Name | Description |
---|---|
Anonymous open publishing | Yes |
Easy mirroring capability | I think this is fairly easy. Also there is Cache-Fu (a caching mechanism) that is very powerful, thus reducing the need for mirroring (the European Social Forum website could hold the days of the event without major problems – the peak was at 71.000 page hits, a lot of them on the online schedule, a pretty heavy page. The machine was an Athlon64 3000+ with 2GB RAM)]]. |
Syndication -out/in | Yes |
Search | Yes, very good search engine. Includes live search. Just head to http://plone.org and give it a shot on the top right. |
The ability to create multiple instances | That's the default way of doing things in Plone |
Multimedia handling | Yes. There are also features like large file handling, automatic transcoding, and flash video player under development (plus the automatic torrent generation I linked earlier) |
Categories | Yes |
Good performance on affordable hardware | Yes and no. Plone requires a relatively modern server (read the specs above for the ESF website) to run effectiveley, but has the advantage of scaling pretty well. |
Customizability | Yes |
Internationalization | Yes. As said, one of the strong points of plone. It includes support for bi-directional text |
Translation | Uses .po files. The core is already fully translated in more than 35 languages. |
Comments | Yes, included in core. Also there are products that expand the use of comments in many ways (like linking a forum thread with the comments of an article automatically, and other |
Anti-abuse measures | Yes |
Easy moderation | Yes |
Calendar | Yes. A very nice one is included in the core |
Features | Yes. We can display anything we want in the front page (or in any page) through the use of "smart folders". You will however need to create a custom template to show the features in the middle and newswire on the right hand side. |
Documentation | Extensive |
User moderation - open editing | Yes |
Other Plone features that interest us
- Static deployment: http://plone.org/products/cmfdeployment
- customizability: You can customize anything you want without worrying about backups of the files you're changing. There's even an undo feature on zope, that can revert the previous steps, so there's no worry of whether you mess up something while customizing
- updating articles. Beyond the "more information" and comments that can be added to an article, we can use CMFEditions for versioning of the articles including diff functionality.
- Open- editing. We don't have necessarily to use ZWiki to implement wiki functionality. We can implement this funcionality anywher, using CMFEditions
- Workflow system: This is one of the best features of plone. Any object (article, comment, media, etc) has a state inside a workflow that we define. For example we are testing a new way to moderate articles. When a new article is posted the article has a state of "published". When a moderator goes to moderate it, he/she has three options. Either turning it into "accepted", or "ambiguous" or "hidden". "accepted" and "ambiguous" don't make any difference to the site users, but only to the moderators. All the ambiguous articles are displayed in a separate box for the moderators, in order to help moderation. The trick is, that any moderator can only move an article one step in the workflow. So, if the article is "accepted" by the 1st moderator that sees it, the 2nd moderator can't hide it, he/she can only move it to "ambiguous" state. It requires another moderator to move it from "ambiguous" to "hidden". Anyway, this is all still in testing, and we aren't sure if we'll use it, but it's an example of how we can use workflows.
- Security: Plone is one of the most secure cms out there. Unlike most php based cms, it rarely has security issues, while the permissions/ roles sytem is very well designed.
Drawbacks
- Hardware: Zope/ Plone requires modern hardware and could not be used e.g. with a P2 computer. It scales well though after that.
- Developers: Most devs know php / mysql but don't know plone / zope/ python. So if we choose plone, fewer people will be able to contribute straight from the begging. The good news though is that Zope / Plone has very high development productivity, meaning that even 4 or 5 people can maintain a superb software.
I hope it's ok to comment these technical reports... If not, I'd suggest to disable anonymous editing ;)
I've got some years of experience with Zope and Plone, including the development of custom modules. If you want to use Plone as the CMS solution for a large project, I'd suggest to plan the SQL DBMS integration right now (i.e. how to make Plone read/write its contents on MySQL/PostgreSQL, using a normalized and human-readable SQL schema). Just consider it as a requirement and see how long it will take to satisfy it. Please don't use ZODB for storing all the data, because it may seem quick and easy, but sooner or later you will need to do some low-level manipulation of your records (imports/exports/statistics/mass updates/whatever) and it will be a royal pain in the ass: ZODB lacks all the tools of a decent DBMS. Moreover, there's no clear separation between code and data on ZODB (objects are usually dumped as Python pickles), so when you'll need to upgrade something (e.g. the whole Plone or one of its modules), and the objects/contents you've saved have been refactored in the new version, then you'll need to run through a clunky "migration" procedure that may fail and/or blow up your DB, expecially if your site is large, complicated or heavily customized. A simple security upgrade may become a nightmare.
When your data is in a safe place (i.e. on a real SQL DBMS, well separated from code changes) then Zope/Plone are very nice tools. If you stay on ZODB, you may be able to build a very nice portal with a few clicks, but you will regret your choice as quickly as your site grows.
Oh, I'd also suggesto to save downloadable files on the "bare" filesystem instead of ZODB, for the same reasons above, and also because of performance issues.