Skip to main content

This package provides views for plonesocial.microblog status updates and other user activities in Plone

Project description


Plonesocial.activitystream is part of the plonesocial suite.

This package, plonesocial.activitystream, 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.activitystream provides a standalone @@stream view on the SiteRoot. If you have installed as well, @@stream will show only updates of people you’re following. If you have not installed, or if you hit @@stream/explore, it will show the unfiltered full site activity feed.

Plonesocial.activitystream also provides an “Activity Portal” view for the SiteRoot. The Activity Portal view renders a portletmanager viewlet in which you can add an “Activity Stream” portlet (and also a “Microblog” portlet if you installed plonesocial.microblog. This may look like a complex construct but it provides integrators with easy customization flex points, and it provides content managers with maximal control over what is rendered where, and in which sequence. Moreover by using a portlet for rendering, content managers can set various rendering options. You can re-use the viewlet, or the portlet, as you see fit using ZCML overrides. YMMV.

The core rendering component, which is used by all views, is the activitystream_provider content provider. Extracting the display logic to a separate content provider promotes re-use. activitystream_provider fetches plonesocial.microblog updates, if microblog is installed. It merges those with content creations and replies fetched from ZCatalog. If is installed, it will filter the activity stream by “following” subscription.

To enable loose coupling, plonesocial.activitystream does not depend on plonesocial.microblog or Instead, it probes if those components are installed and available, or not. Depending on the availability of those other plonesocial components, plonesocial.activitystream adapts its behavior.


Link @username mentions for integration with as soon as plonesocial.microblog supports @mentions indexes.


Guido Stevens, Author

Maurits van Rees


0.4 (2012-10-09)

  • update docs [gyst]
  • fix dependency [gyst]
  • reindent for better pep8 [gyst]
  • more styling [gyst]
  • catch unresolvable brains [gyst]
  • tune styling [gyst]
  • document mentions todo [gyst]
  • integrate microblog status form into @@stream [gyst]
  • refactor and protect against errors on microblog uninstall [gyst]
  • provide tag and userid filters API on stream_provider [gyst]
  • provide consistency with @@profile [gyst]
  • implement tag view as traversal, not getarg [gyst]
  • GS name [gyst]
  • extract activity stream rendering to a reusable provider [gyst]
  • provide standalone @@stream view and @@stream_provider (noop for now) [gyst]
  • rename activity_contentprovider -> activity_provider [gyst]
  • encapsulate the portlet-manager-viewlet based activitystream_portal view [gyst]
  • expose and filter on hashtags [gyst]
  • show content tags [gyst]
  • bump version [gyst]

0.3.3 (2012-08-13)

  • arghh. Date is not a DateTime. Sort on max(effective, modified) instead. Refs #1. [gyst]

0.3.2 (2012-08-13)

  • sort on Date, fixes #1: effective 1-1-1000 sorting bug [gyst]

0.3.1 (2012-05-29)

  • fix i18n regression [gyst]

0.3 (2012-05-21)

  • update changelog, readme [gyst]
  • use defined accesscontrol, fix portletmanager rename [gyst]
  • simplify package layout [gyst]
  • extract activity rendering into contentprovider/adapter [gyst]
  • activity type filters [gyst]
  • adapterize activity stream data structures [gyst]
  • tune i18n [gyst]
  • switch from annotationstorage to a utility [gyst]
  • move separate ZODB shard documentation to plonesocial.microblog [gyst]
  • clean up view logic [gyst]
  • credit Maurits [gyst]
  • refactored storage backend [gyst]
  • extract content model to plonesocial.microblog [gyst]
  • enable fake data insertion / fix date bug [gyst]
  • Added Poi response-like Activities. [maurits]
  • Some sample code for using an extra ZODB. [maurits]
  • bump version [gyst]

0.2 (2012-05-04)

  • update doc [gyst]
  • rename primary view in anticipation of other views in the future [gyst]
  • make portlet automatically assignable [gyst]
  • get rid of src dir indirection [gyst]
  • delegate commentActions translations to p.a.d. [gyst]
  • provide i18n for nl [gyst]
  • sort on effective; fix date bug; tune styling [gyst]
  • force inner aquisition to be safe [gyst]
  • pixeltune [gyst]
  • tune css [gyst]
  • restrict activitystream viewlet to activitystream view, and update doc [gyst]
  • backport manageportlets link [gyst]
  • Revert “extracted standalone stream view to plonesocial.suite” [gyst]
  • sort on created not modified [gyst]
  • provide “compact” rendering option [gyst]
  • tune doc [gyst]
  • update documentation [gyst]
  • add basic CSS [gyst]
  • prototype implementation of activitystream [gyst]
  • rename portletmanager viewlet [gyst]
  • provide activitystream portlet [gyst]
  • extracted standalone stream view to plonesocial.suite [gyst]
  • wrap the portletmanager within the viewlet, register on SiteRoot only [gyst]
  • add portletmanager [gyst]
  • (empty) activity stream view for homepage [gyst]

0.1dev (unreleased)

  • 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


History Node


History Node


History Node


History Node


This version
History Node


History Node


History Node


History Node


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.9 kB) Copy SHA256 hash SHA256 Source None Oct 9, 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