imc blueprint techmeet world

CMSSurveyReportPlone

From techmeet

Jump to: navigation, search

back


Contents

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: %red% 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 [1] Vodcasting is definetly up to scratch [2] - 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 [3] and [4]. 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 [5] 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.