Skip to main content

Poi: A friendly issue tracker

Project description

Poi: A friendly issue tracker

by Martin Aspeli <>

current maintainer: Maurits van Rees <>

Released under the GNU General Public License, version 2

Poi is an issue tracker product for Plone. It has three overarching aims:

  • Provide the default tracker for open source software projects on
  • Be simple and attractive whilst providing the most commonly needed issue tracking functionality.
  • Optionally integrate with the PloneSoftwareCenter to allow individual products to have their own issue trackers

Poi is not and will not be a track-anything-and-everything tracker, a help desk product or anything else. If Poi is too simple for your needs, you may want to look at something like PloneCollectorNG.

Feedback is very welcome.

Please submit any bugs or feature requests at:

(Yes, this is a Poi tracker). Please do search the tracker first, so we can avoid unnecessary duplicates.

See for the latest release and the development road map.

Installation and dependencies

Best is to use zc.buildout. Just add Products.Poi to your eggs, rerun buildout and you are done. Optionally add Products.PloneSoftwareCenter.

Poi requires:

  • Plone 4; this version of Poi will not work with Plone 3.
  • DataGridField
  • AddRemoveWidget
  • collective.watcherlist
  • For PloneSoftwareCenter integration, PloneSoftwareCenter is required. See Tested with PloneSoftwareCenter 1.5.

For new installations, install using Add/Remove Products as normal. If you want PloneSoftwareCenter configuration to be automatically configured, install PSC first.


Re-install Poi from the Add/Remove Products control panel. Some upgrade steps will be executed; these can also be found in the ZMI, in portal_setup, on the Upgrade tab, in case you need to run them again. Backup your Data.fs first before upgrading!


Add a Tracker, and use the “state” menu to open it for submissions.

The tracker front pages allows you to browse for issues by release, state or area, as well as search for issues. Note that if you are not tracking software releases, you can leave the list of “releases” empty, and organisation by release will be turned off. The fields for areas and issue types come pre-configured with simple values that presume you are tracking software bugs. You can change these to whatever you want.

Once you have set up the tracker, add Issues inside, and Responses inside Issues. Anyone can add responses to issues with the default workflow. Responses from tracker managers (as configured on the root tracker object) and the original submitter are colour coded to make them easier to pick out. When adding a response as a tracker manager, you can change the state, importance or assignment of an issue.

If email notification is enabled in the root tracker object, managers will get an email when there are new issues and responses, optionally via a mailing list. Issue submitters will also get emails upon issue responses. Additionally, when an issue is marked as “resolved” by a tracker manager, the submitter will receive an email asking him or her to mark the issue as confirmed closed.

To use with the PloneSoftwareCenter, install PSC and then install Poi. This will ensure PoiPscTracker is added to the list of allowed content types in portal_types/PSCProject. You can then add Trackers inside a project in the software center. The trackers will function in the same way as regular trackers, but will use releases from the software center project instead of a manually defined list.

For a look at how the various workflow states of an issue are connected, take a look at the attachment added by bethor to this issue:

Using HTML/kupu and other markups for issue text:

Please see notes about migration above!

Before version 1.0b2 Poi used to support kupu/rich text fields with HTML in the issue and response body. This was removed in favour of “intelligenttext”, a plain-text markup that preserves whitespace and makes links clickable.

This was found to work very well on and for the type of simple trackers that Poi was intended for. However, a lot of users wanted kupu back.

To get kupu back, you will need to edit Poi/

ISSUE_MIME_TYPES = ('text/x-web-intelligent', 'text/html')

You may also need to re-install Poi, and perform an Archetypes schema update, by going to archetypes_tool, and the Schema Update tab in the ZMI.

And you may need to remove some conditional expressions in the portal_javascripts to make sure all needed scripts load (at least for TinyMCE).

Please note one very important thing:

  • If you upgrade Poi, you are likely to have to make this change again!


If you have contributed to Poi in some fashion, be sure to add yourself in the hall of fame here!

o Design and development by Martin Aspeli <>

o Bug fixes and general critiquing by Rocky Burt <>

o Icons by Vidar Andersen, Black Tar, originally created for CMFCollector.

o Log-view for Poi trackers by Malthe Borch

o Link detection, additions to the search interface and other fixes
by Daniel Nouri.

o Plone 3 support by Alexander Limi and Maurits van Rees.

o Bug fixes, modernizing of responses, maintenance by Maurits van

o Plone 4 support by Maurits van Rees and Maarten Kling.

o Refactoring of emailing and watching code into
collective.watcherlist: Maurits van Rees.

Changelog for Poi

2.2.4 (2013-07-02)

  • Removed the text type selection for the tracker description. Note: when editing and saving an existing tracker and it has html code in its description, you may get a validation error: “Mimetype text/html is not allowed.” In that case you need to edit the description and remove the html tags. [keul]
  • Some style fixes; removed inline styles. [keul]

2.2.3 (2013-04-18)

  • Also allow text/plain for the details field. This fixes a problem with Plone 4.3. [maurits]
  • Updated italian translation [keul]
  • Now supporting the “Site Administrator” role [keul]
  • Fix tracker security; issues inside private folder must not be visible to anonymous users [keul]

2.2.2 (2013-04-04)

  • Show the ‘Watch/Stop watching this tracker’ button again. [maurits]
  • Fixed KeyError: portal on several pages for anonymous users. [maurits]

2.2.1 (2013-03-30)

  • Issue search form criteria can be pre-selected from request. [thomasdesvenain]
  • Quick search and add issue button are now available on all pages. [thomasdesvenain]
  • Most metadata are now clickable links. [thomasdesvenain]
  • Added issue_portal_type parameter in IssueFolderView. It is now possible to use a custom content type inherited from PoiIssue. [cedricmessiant]

2.2 (2013-02-07)

  • Completed French translations. [cedricmessiant]
  • Store the watchers of a tracker in a lines field instead of annotations. This way, you can edit them as Manager if that is needed. Added an upgrade step to migrate all existing trackers. [maurits]
  • Fixed changes in a response that were being saved with a wrong id. This did not cause missing data, just a duplicate id in the response changes. This is never shown in the UI, so should only be a problem for third party code that directly accesses this response data structure. [maurits]

2.1.4 (2012-12-03)

  • Fix advanced search form not returning results unless both Issue number and Submitter were specified. [rpatterson]

2.1.3 (2012-11-28)

  • Fixed reinstall error. Metadata would be missing in the catalog brains. [maurits]
  • Included Products.AddRemoveWidget and Products.DataGridField in configure.zcml [cedricmessiant]

2.1.2 (2012-11-06)

  • Fixed packaging error. [maurits]

2.1.1 (2012-11-06)

  • Made compatible with Plone 4.3. Lost compatibility with Plone 4.0. [maurits]
  • Fix Unauthorized/”Insufficient Privileges” error under Plone 4.2. [rpatterson]

2.1.0 (2012-06-28)

  • completed german translation [jensens]

2.1.0b1 (2012-05-02)

  • Get rid of all code that still handled old PoiResponses. If you still have those (meaning you were using Poi 1.1.x before this), then you must first update to version 2.0.x and run the upgrade steps. [maurits]
  • Add an uninstall method and profile, to clean up a bit more. In addition to what the CMFQuickInstaller does, we remove our catalog columns and indexes, our skin layer from the skin selections, and our types from the parentMetaTypesNotToQuery in the navtree_properties. [maurits]
  • Refactored all email notifications to templates. This should make it easier to customize and translate. [maurits]
  • Fixed example link for collective changesets. [maurits]
  • When clicking on the suggested login button, show a popup. [maurits]
  • Removed [maurits]
  • Refactored the email notifications by creating a page template browser/ and a css file skins/Poi/poi-email.css and using that instead of hardcoded stuff in a python file Fixes [maurits]
  • Allow assigning portlets to trackers and issues. Fixes [maurits]
  • Make sure the issue-info-box does not inherit a 100% width, as is the case on at the moment (6 September 2011), which is far too wide for this little box. See [Maurits]
  • Added file so that .mo translation files will be included in source distributions (with help from zest.releaser and zest.pocompile). Refs [maurits]

2.0.2 (2011-04-09)

  • Depend on Products.CMFPlone instead of Plone to improve Plone 4.1 compatibility. [maurits]
  • Do not fail when rendering a response that has a text/x-html-safe mimetype or where the html transform returns nothing. (Merged from 1.2 branch.) [maurits]
  • Review French translations [toutpt]

2.0.1 (2010-11-11)

  • Split profile registration and upgrade steps from configure.zcml into a new profiles.zcml as it is quite big already. [maurits]
  • Fix: for the ‘no change’ label and input the ids were empty. [thomasdesvenain]
  • Removed our dependency on collective.autopermission, as its functionality is integrated in Zope 2.12 (Plone 4.0). [maurits]

2.0 (2010-10-14)

  • Lower the minimum dependency on Products.AddRemoveWidget to 1.4.2 again, as I had a report about a performance hit in 1.4.3 in corner cases not related to Poi itself; and 1.4.2 is fine really, though 1.4.4 has a fix for Plone 4 in a part that Poi does not use. [maurits]
  • Do not advise users to click on ‘search for issues’ as that link is nowhere; instead it should be ‘Advanced issue search’. [maurits]

For changes in 2.0b2 and earlier, see docs/HISTORY.txt.

Project details

Download files

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

Files for Products.Poi, version 2.2.4
Filename, size File type Python version Upload date Hashes
Filename, size (364.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

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