Skip to main content

Simple microblogging in Plone

Project description


Plonesocial.microblog is part of the plonesocial suite.

This package provides a building block for Plone integrators who want to create a custom social business solution in Plone.

If you’re an end-user looking for a pre-integrated solution, you should install plonesocial.suite instead.


Plonesocial.microblog provides a ‘native’ Plone microblogging solution that stores status updates in a performance-optimized site utility.

This component provides only the status update form and storage. To display the stored microblog messages, use plonesocial.activitystream in combination with plonesocial.microblog, or install the full plonesocial.suite.

Plonesocial.microblog provides a microblogging solution for Plone using core content types only, without any external dependencies. It does not require an external service and can be set up and run with a normal Plone buildout configuration.

The intention is to make this native solution as simple and as fast as possible. The current implementation can handle more than 100 new messages per second in a stock Plone installation on outdated hardware.


Alpha. This package is under active development and changes in backward-incompatible and forward-incompatible ways. That said, it is usable out of the box.


Plonesocial consists of:

An out-of-the-box social business experience integrating all plonesocial.* packages. If you’re an end user, this is what you’re looking for.
Status updates
Lists content changes, discussion replies, and status updates
Follow/unfollow of users
Favoriting of content
Developer buildout. Not a Python package. Intended for Plonesocial developers only.


Guido Stevens, Author

Maurits van Rees


0.3 (2012-05-21)

  • update changelog [gyst]
  • permission rename s/Read/View/ [gyst]
  • use accesscontrols in portlets [gyst]
  • disable accesscontrol in lowlevel unittests [gyst]
  • add access controls [gyst]
  • remove old compatibility view [gyst]
  • set a default limit to make it hard to accidentally list() a 100k StatusUpdate generator [gyst]
  • not using annotations anymore [gyst]
  • internal btrees are protected, not private anymore [gyst]
  • provide performance-optimized sorting/slicing accessors [gyst]
  • remove unused imports [gyst]
  • update doc [gyst]
  • provide translations [gyst]
  • switch from annotationstorage to a utility [gyst]
  • clean up interface and method signatures [gyst]
  • extract queuing functionality from base class to make life easier for future /self [gyst]
  • implement memory queue with batched disk writes for maximal performance [gyst]
  • user index accessors [gyst]
  • document interface and namespace annotation key [gyst]
  • provide test coverage [gyst]
  • extract documentation by Maurits on using separate ZODB mount from plonesocial.activitystream [gyst]
  • clean up views, remove dependency [gyst]
  • refactor view logic WIP [gyst]
  • close down some more methods [gyst]
  • credit Maurits [gyst]
  • refactor storage backend [gyst]
  • fork form and viewlet from p.a.d. [gyst]
  • Extract Maurits’ activity model from plonesocial.activitystream [gyst]
  • bump version [gyst]

0.2 (2012-05-04)

  • Prepare plonesocial.microblog 0.2. [gyst]
  • make portlet automatically assignable [gyst]
  • async WIP [gyst]
  • get rid of src dir indirection [gyst]
  • remove unneccessary test [gyst]
  • provide “compact” rendering option [gyst]
  • remove statuses display, keep only form [gyst]
  • fix duplicate commenting bug [gyst]
  • unittests [gyst]
  • tune doc [gyst]
  • update documentation [gyst]
  • cleanup [gyst]
  • provide proper browserlayer isolation [gyst]
  • anchor the microblog portlet to the SiteRoot singleton where we’re storing our status updates [gyst]
  • customize comment rendering [gyst]
  • fork p.a.discussion comments rendering template [gyst]
  • render p.a.discussion comments as portlet, not as SiteRoot viewlet [gyst]

0.1 (unreleased)

  • proof of concept [gyst]
  • initial checkin from ZopeSkel [gyst]

Project details

Release history Release notifications

History Node


History Node


History Node


History Node


History Node


History Node


History Node


This version
History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date (46.4 kB) Copy SHA256 hash SHA256 Source None May 21, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page