Guido Stevens - Plone goes social

published Oct 12, 2012

Talk during the Plone Conference 2012.

Guido Stevens talks about Plone goes social at the Plone conference 2012.

A Mckinsey study value social business at 1.3 trillion dollars per year. You can get a 25 percent productivity increase by replacing email with social tools.

Social business chooses:

  • people over documents
  • flow over structure
  • network over hierarchy

It is about

  • read/write instead of publish/read
  • social activity instead of CMS
  • activity stream instead of a document tree

Plone out of the box is good at the old stuff. The new stuff is there in bits and pieces.

We have created a set of social components, as basis: plonesocial.suite. Just add that to the eggs in your buildout and install it. You add status updates in an activity stream on your front page. Comments added in the site also end up in the activity stream. You can filter what ends up on the home page. So there are microblog status updates that get stored in the ZODB, and you see content creation and comments.

There is social networking, like following people and seeing who they follow and who their followers are.

plonesocial.suite is the one-click installer, which installs these separate packages:

  • plonesocial.microblog
  • plonesocial.activitystream

Out of the box you could get about ten to twenty commits per second like this. So we developed some extra stuff. We dropped some ACID: we batch commits to once per second. We skip ZCatalog indexing. This makes more than 1000 commits per seconds possible. Storing is done in BTrees (thanks for the assistence during the Plone Open Garden, Maurits). This is an optimized dictionary interface made available by Zope. Also using itertools.chain to combine status updates and results from the catalog.

The PloneSocial philosophy is:

  • Use native Plone stuff. Do it the Plone way.
  • A full social experience
  • Pre-integrated one-click install
  • Flexible components
  • Scale down for small sites
  • Scale up for large sites

Get it from PyPI:

The source code of the packages is at

There is an Open Space about this at 15:45 here in the Anniversary Hall.

We override the author.cpt template to show the status updates of the user there.

It would be nice to get a notification when someone starts following you.

It is used in production.

We can do more with liking content and following content.