[imc-cms] fwd: questionaire for plone / indycore [the right one]

ryan ryan at linefeed.org
Sun Feb 11 21:30:03 PST 2007


----- Forwarded message from "Dimitris M." <dimo at indy.gr> -----

Subject: questionaire for plone / indycore [the right one]
From: "Dimitris M." <dimo at indy.gr>

The previous questionaire is incomplete. I sent it accidently while 
editing it

???????? 10-02-2007, ?????????? ??????, ?????? ?????? 14:36 -0800, ??/?? ryan ????????????:
> INDYMEDIA CMS DEVELOPERS SURVEY
> Please fill in as many questions as you can. When you are completed,
> you should email your responses to imc-cms at lists.indymedia.org
>  
> 1) Survey Part 1 - Personal Details
>    a) Your name?
> 

Dimitris Moraitis

>    b) Your geographic location?
> 

Athens, Greece

>    c) The CMS you are responding about?
> 

Plone. More specifically on the Zope + Plone + OpenCore + indycore
bundle

>    d) How long have you worked with this CMS and what work do you do
>       with the project?

I've been using Plone exclusively as a basis for my web projects for 
the last 2 years. I'm a freelance web developer and during the last 
year I've been developing Plone based sites and tools for social forums:
http://athens.fse-esf.org
http://wsf2007.org
http://wsfprocess.net


> 
>    e) Do you work on any other CMS projects?
> 

I have worked with TikiWiki in the past. I was the main developer of the
TikiMedia codebase [tikimedia.org].

> 2) Survey Part 2 - CMS Basics
>    a) What programming language is the CMS written in?
> 

Plone, OpenCore and indycore are all written in Python. Zope (the
underlying application server) is mostly Python with a few parts of C.

The interface is defined in Zope Page Templates which is a powerful
templating system. The templates should make sense to everyone who
understands HTML and can be edited by external web authoring programs

>    b) What is the backend database used by the CMS?

The Zope Object Database (ZODB) which is quite different from relational
databases. Plone/Zope can connect to relational databases but I don't
think it can work without the ZODB.

Perhaps in the future something like multishove could be used to provide
simultaneous storage of objects in multiple storage backends:
http://cheeseshop.python.org/pypi/multishove

>    c) Are there other servers required (application server, Tomcat,
>       etc)?

ZEO/Zope + Apache + Squid (+ pound when load balancing is required)

A Mail Transport Agent like Postfix should also be used for the mailing
lists to work.

> 
>    d) How do you describe the overall software design of the CMS?
> 

I think Plone is very well engineered. Zope 2 has some design issues
which are being solved by Zope 3. Plone 2.5 and 3.0 depend on Zope 2,
but all new development uses Zope 3 functionality and the existing code
is being gradually ported to Zope 3. 

OpenCore is a project with many bright Plone developers working to provide 
social tools for collaboration and networking between activist groups. I 
thought it was a good starting point for an Indymedia codebase.

Indycore just adds the open publishing tools to the mix. 


>    e) Can you give details about real-world scaleability
>       considerations for the CMS software?

I can share some experiences but I'm not sure how helpful they'll be:

The 4th European Social Forum website reached 70678 pageviews at the 3rd of
May served by an athlonXP with 1.5 GB's of RAM shared with more than 20 
mid/low traffic sites in 3 different zope instances.

There were performance problems with the initial caching setup (good caching 
practices with Plone were sort of black magic back then - at least to me) 
but eventually I managed to raise the traffic capacity higher that the peak traffic.

For the World Social Forum websites an dual core Athlon with 4GB's of RAM was 
used for the event and process sites. The wsf process site is highly dynamic 
and personalized. Once again performance problems were in the menu, because of 
a memory leak in some alpha quality code I've used. Once this issue had been 
adressed and proper caching had been configured, everything was fast despite the
half a million pageviews during the days of the WSF. The server load remained low.

All 3 sites contained tens of thousands of objects

There are too many factors that can lead to scalability issues, but 
Plone is definately capable of scaling if best practices are used.

> 
> 3) Survey Part 3 - CMS Functionality
>    a) A core feature of our software is the ability for anonymous
>       users to post media to newswire on the site. Is this easily
>       added to a site using the CMS?

This is not trivial to do in an new Plone portal but it's done in 
indycore with the right combination of workflows and permissions

> 
>    b) Can you describe the site search functionality available?
> 

Superb! Good cataloging and ranking. RSS feeds for all search results,
live [AJAX] search. 

There are also Plone products that can be used to catalogue external sites
in order for example to allo searching the entire indymedia network, or 
all sites in some area

>    c) How is RSS/XML/RDF support included?
> 

There are RSS feeds for virtually everything. Aggregation of external
feeds can be made to work in Plone and should work out of the box in
future versions of OpenCore/indycore.

I haven't had a chance to look into RDF yet

>    d) We would like to have one server per site which allows many
>       instances of actual websites, each with different admin logins
>       and different websites altogether. Is this easy to set up with
>       the CMS software?

Very easy. One Zope instance may contain many different Plone portals.
However if some techs want full control over their site, one site per
zope instance is recommended, so that changes to the code that is not
accesible by the Zope Management Interface can be made without
affecting other sites in the same zope instance.

Creating new instances of the full OpenCore + indycore bundle
shouldn't be hard but additional documentation might be useful.

> 
>    e) Can you describe the multimedia support in the software? We
>       allow users to upload and manipulate online all types of media -
>       mpeg, mp3, ogg, jpg, pdf, etc. 
> 

No video and audio support yet in indycore. But the engagemedia techs 
will be helping with the intergration of their video handling code and 
there has been good recent developments on audio tools [plone4artists.org] 
which will also try to intergrate in the next months

>    f) Internationalization is very important to us. Many of our sites
>       support 2-3 or more languages. Can you describe how this is
>       accomplished in the CMS?
> 

Plone + Linguaplone can support any number of languages. 

Indycore still needs a better workflow and interface for managing 
translations submitted by users.


>    g) What types of anti-abuse or anti-spam measures are in the code?
> 

Nothing yet in indycore. It hasn't been a problem for indy.gr so far. 
But there are external Plone products that can and will be intergrated 
when the need arises

>    h) Is there a calendar included in the codebase? 
> 

Yes. I think it's already more than adequate and it will get even better. 
There was a recent development sprint on Plone calendaring.

>    i) How do you describe how a user would edit a given piece of content
>       on the website, or briefly describe the model used in this part
>       of the functionality?
> 

User opens the edit view, changes the content optionally using a wysiwyg 
editor.

>    j) How do you describe any type of user moderation system that
>       is built into the CMS?
>  

No user moderation system yet. There is a moderation workflow for content reviewers.


>    k) What types of integration is there with P2P networks?
> 

There is some limewire intergration in the PloneMultimedia package used by indycore, but I've 
never tried to actually use it.

>    l) Another important feature for us is networking between the
>       websites. If we want users from one website to have rights on
>       another website in the network, how could we do this?
> 

Plone supports pluggable authentication. I haven't thought on how 
it could be used for Indymedia, but I'm pretty sure it can be done.

I think OpenCore and Plone are working on OpenID intergration. Maybe 
this is relevant, but again I don't know much about it.

>    m) We are concerned with the ability to easily rsync pages from a
>       website to other servers and setup a type of mirroring scheme.
>       How would this be accomplished with the CMS?
> 

I've never done that but rsyncing the whole zope instance might do the trick.

There is also a Plone product for static deployment of websites but I haven't 
tried it yet.

> 4) Survery Part 4 - Miscellaneous
>    a) What do you believe are the top selling points for the CMS?
> 

The social networking and collaboration tools that could help develop 
active communities of people and projects around each indycore site.

The video tools will also be a big plus when they'll be ready: Transcoding, 
embeded flash player, tools for uploading from mobile devices.

>    b) From what you know about the Indymedia network, how well do you 
>       think IMC would mesh with the development community for the CMS?

Well enough :)

AFAICT, communities around Plone and OpenCore are full of very bright and 
friendly people

>    c) What are the top 3 areas you believe the development team for
>       the CMS needs to be improved?
>

The development teams of Plone, Zope and OpenCore are doing quite well.

The development of indycore would be greatly improved if more people 
were sending and reviewing patches.

Also, we need to embrace test driven development and write automated test
suites for all use cases of indycore. I've been postponing this for too long.
 
>    d) Where do you see the CMS in five years?
> 

I expect that the adoption of Plone will increase significantly

As long as indy.gr continues to function and grow, I'll still be working 
on improving indycore. But I can't speculate on indycore's future adoption by
other independent media sites.



----- End forwarded message -----


More information about the imc-cms mailing list