Skip to main content

Integration of Disqus comments platform API into Plone.

Project description


Integrates the Disqus commenting platform into Plone.

Default Plone discussion mechanism doesn’t have a nice panel to administer comments. It’s hard to find new comments. It’s not possible to block posts with links or any other unwelcome contents.

However there are much more specialized tools for commenting on the web:

These commenting platforms can be easily integrated with sites, users just need to create an account and add some special code into their websites.

Mostly Harmless

Got an idea? Found a bug? Let us know by opening a support ticket.


To enable this package in a buildout-based installation:

  1. Edit your buildout.cfg and add collective.disqus to the list of eggs to install:

    eggs =

After updating the configuration you need to run ‘’bin/buildout’’, which will take care of updating your system.

Go to the ‘Site Setup’ page in a Plone site and click on the ‘Add-ons’ link.

Check the box next to collective.disqus and click the ‘Activate’ button.

Upgrading from 0.3.1

If you’re upgrading from a pre-2.0 installation you’ll have to manually reconfigure the @@disqus-controlpanel.

A GenericSetup upgrade profile called “collective.disqus: cleanup old 0.3.1 install” will undo the viewlet suppression that was part of 0.3.1. This may also unhide other belowcontent viewlets, YMMV. It does not provide a full upgrade.



To enable Disqus comments in your site you need to:

  • Enable comments globally from Plone’s default “Discussion settings” tool in the control panel.

  • Go to Disqus control panel configlet and enable “Activate Disqus as system comment for Plone”

  • Enter your blog’s short name as provided by Disqus

  • Enable commenting for one or more types in the types control panel configlet. You can also disable commenting cor each item.

Now a Disqus comment box should be shown for each content type that has comments enabled.

Comments count

The product provides a ‘Disqus summary view’ that you can apply to any folderish or collection-type content type. It will show a comments count next to the “Read more…” link of each element.

In addition, there’s a counter beneath the title of any object that accepts comments. This is done through a viewlet named as “disqus.comments.count”.


This product provides 2 portlets that you can use:

  • Hot threads: Shows a list of threads sorted by hotness (date and likes)

  • Popular threads: Shows a list of threads sorted by number of posts made since the specified interval

They both use the Disqus API, and for them to work, you need to provide:

  • Access token

  • Public key

  • Secret key

And to get them, you need to register an API Disqus account


Add a portlet that shows a list of Trending threads.


  • Wojciech Lichota

  • Rok Garbas

  • Harald Friessnegger

  • Héctor Velarde

  • JeanMichel FRANCOIS

  • Juan A. Diaz

  • Franco Pellegrini

  • Guido Stevens

  • Andre Nogueira

  • Philip Bauer


2.2.1 (2018-10-09)

  • Use HTTPS schema for comments counter too. [philipsahli]

2.2 (2018-09-20)

  • Use HTTPS schema to load count.js from Disqus. [philipsahli]

  • Fix package dependencies. [hvelarde]

  • Remove soft dependency on zope.formlib under Plone 5; this fixes support for Plone 5.x. [hvelarde]

  • Drop support for Plone 4.2. [hvelarde]

  • Remove dependency on unittest2 and explicitly drop support for Python 2.6. [hvelarde]

2.1 (2015-10-19)

  • Update tests, docs and buildout to work with Plone 5. [pbauer]

  • Drop support for Plone 4.1. [hvelarde]

2.0rc1 (2014-05-13)

  • Update package dependencies. [hvelarde]

  • Added wrapper div “disqus_thread_wrapper” to comments to ease pull via Diazo [simahawk]

  • Added italian translations [simahawk]

  • Update pt_BR translation [ericof]

  • Use plone styles in portlets HTML [agnogueira]

  • Show portlets results inside an ordered list [agnogueira]

  • Fixes an issue with content title containing single quotes [ericof]

  • provide partial 0.3.1->2.0 upgrade profile [gyst]

  • Tested compatibility with Plone 4.3. [hvelarde]

2.0b2 (2013-02-22)

  • Add Disqus icon on the control panel. [hvelarde]

  • Include an Id in the counter link for themming purposes [tamosauskas]

  • Update Traditional Chinese translation. [l34marr]

  • Bugfix, javascript variables weren’t being embedded in the page. [jcbrand]

2.0b1 (2012-12-13)

  • Added a “Disqus summary view” to include comments count on listings. [frapell]

  • Added a viewlet that will display the comments count beneath the object’s title. [frapell]

  • If wrong url (not returning json), return empty list. [flecox]

  • Use network-path reference to load Disqus JavaScript to avoid “This Page Contains Both Secure and Non-Secure Items” messages over HTTPS. [hvelarde]

  • Updated Brazilian Portuguese translation. [hvelarde]

  • Updated German translation. [fRiSi]

  • Updated Spanish translation. [frapell]

  • Bugfix for the article’s titles. [frapell]

  • Avoid removal of registry records on reinstall. [hvelarde]

  • Tested for Plone 4.2 compatibility. [hvelarde]

  • Added portlets for hot and popular threads. [hvelarde]

  • Added records to access the Disqus API to the control panel. [hvelarde]

  • Updated development buildout configurations. [hvelarde]

  • Updated package distribution and documentation. [hvelarde]

  • Add control panel and viewlet. [toutpt]

  • Complete refactoring of the package. [toutpt, hvelarde, frapell]

0.3.2 (unreleased)

  • moved javascript template code from into it’s view to bypass a chameleon related bug. [thet]

  • added DisqusAPI class for remote DISQUS API calls with predefined control panel settings, it inherits from disqus-python API [piv]

  • added option to switch DISQUS credit link off [piv]

  • added DISQUS SSO Addon support [piv]

  • added export comments view from plone to WXR format to import it into DISQUS [piv]

  • added product layer interface and registered viewlet for it instead of hiding it on uninstall [piv]

  • added highly recommended disqus_url additional parameter [piv]

  • added an option to display DISQUS comments only for anonymous [zupo]

  • add french translation [toutpt]

  • updated pot file and Spanish translation; removed mo file [hvelarde]

  • include Products.CMFCore.permissions.zcml [ajung]

  • add support for language param according to [toutpt]

0.3.1 (2011-01-31)

  • cleaned up i18n and added German translation [fRiSi]

  • added Spanish translation [hvelarde]

  • fixed action icons [hvelarde]

  • disqus_summary_listing now uses the configured shortname and includes the js only once [fRiSi]

0.3.0 (2010-08-15)

  • updated disqus api [garbas]

  • added disqus summary listing view with number of comments [garbas]

  • added some basic integration tests using [garbas]

  • removed actionicon registration - depracated [garbas]

  • found and fixed bug in plone which was causing hidding of default plone commenting viewlet only for “Plone Classic Theme”. [garbas]

  • add test buildout, with coverage report and pylint check current result is 82% coverage and pylint score is -13.21/10 [garbas]

  • added translation for english and slovenian [garbas]

0.2.0 (2009-10-30)

  • Compatibility with Plone 4 [sargo]

  • Uninstall profile (unhide plone.comment viewlet, hide collective.disqus viewlet) [sargo]

0.1.0 (2009-08-13)

  • Initial release [sargo]

Project details

Download files

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

Source Distribution

collective.disqus-2.2.1.tar.gz (36.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page