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:

  • Work with, not against Plone.
  • 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 to 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 roadmap.

Using HTML/kupu and other markups for issue text:

Please see notes about migration below!

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.

Please note two very important things:

  • If you upgrade Poi, you’re likely to have to make this change again!
  • If you have issue text fields, and you have contentmigration installed, and text/html is not in the list of available MIME types above, then a migration will be run which will turn all your HTML fields into plain text! If this happens to you by accident - don’t complain, you should’ve had a backup :)

Installation and dependencies

Poi requires:

  • Plone: 2.5+ on Zope 2.9 OR 3.0+/3.1+ on Zope 2.10
  • DataGridField (*)
  • AddRemoveWidget
  • intelligenttext (but this is installed by default in Plone 3) Note: when going from Plone 2.5 to 3.0, please first uninstall intelligenttext, then create a new instance with Plone 3. Then run the portal_migration, which will install the new plone.intelligenttext library for you.
  • For migration from versions before 1.0b2, contentmigration is required.
  • For PloneSoftwareCenter integration, PloneSoftwareCenter is required. See Tested on Plone 2.5 with: PloneSoftwareCenter-1.0-RC.tgz Tested on Plone 3.0 with: PloneSoftwareCenter-1.5-alpha1.tar.gz

(*) NOTE: Before version 1.0 beta 2, ArchAddOn was required instead of DataGridField. Also note that PloneSoftwareCenter does required ArchAddOn.

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


If you had a version prior to 1.0 beta 2 installed, you must run migrations. This is automatic, but you need to install the ‘contentmigration’ product. This can be found at

It is also bundled with the release tarball. Simply drop the ‘contentmigration’ product into your Products/ folder and re-install Poi from the Add/Remove Products control panel or portal_quickinstaller in the ZMI.

In some cases, when using version 1.1 or higher you can get a UnicodeEncodeError when changing an issue or adding a response to it. This is due to a change in how the description of an issue ends up in the portal catalog. I (Maurits) have seen this myself but noone else reported it, so probably not many people are affected. But there is a migration for this that is safe for everyone to use. For this and other migrations visit the form at:


If unsure, just run all steps there; they are safe to run more than once.

After any upgrade (and after you have run migrations!), run an Archetypes schema update, by going to ‘archetype_tool’ in the ZMI, selecting the ‘Update Schema’ tab, selecting all the ‘Poi.*’ types, and clicking ‘Update schema’. It’s probably a good idea to choose ‘All objects’ from the drop-down as well, although this will take slightly longer.

If you get errors about things being ‘Missing’, try to update your catalog, by going to portal_catalog in the ZMI, clicking the Advanced tab, and then the ‘Update catalog’ button.


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 submittes 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.


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, maintenance by Maurits van Rees

Changelog for Poi

(name of developer listed in brackets)

1.1.2 - Released 12 September, 2008

  • Fixed the login button displayed with the login suggestion so it actually redirects to the login_form. [maurits]
  • Translation updates. [maurits]

Poi 1.1.1 - Released July 12, 2008

  • Fixed typo that messed up a few translations. And fixed untranslatable login suggestion. Fixes [maurits]
  • Merged r68165 from trunk: When getting information from the parent tracker of an issue, guard against having a temporary folder (from the portal factory) as a direct parent. Fixes errors like this: “Value … is not allowed for vocabulary of element ${label}.” Fixes [maurits]
  • Made PoiTracker translatable with LinguaPlone. Does not make sense for the other content types. Fixes [maurits]
  • Made Poi migrations available with a form at migrate-poi.html. [maurits]
  • Port issue description migration from trunk. [maurits]
  • In issue view show CreationDate instead of (modification) Date of the PoiResponse, as the template states this is the date the response was added. [maurits]
  • Fix UnicodeEncodeError in RSS feed by not setting headers in the response. Fixes [maurits]
  • Encode unicode names of email addresses using the site encoding. Fixes [maurits]

Poi 1.1 final - Released December 27, 2007

  • (No changes compared to rc4.)

Poi 1.1 rc 4 - Released December 22, 2007

  • Fix “TypeError: can’t pickle code objects” when updating the schema of PoiTrackers by using the new ‘isDataGridFilled’ validator. Fixes [maurits]
  • Added more Norwegian translations. [Espen Moe-Nilssen]

Poi 1.1 rc 3 - Released December 14, 2007

  • Fix Inconsistent linking to other issues and changesets: Links in the steps field of an issue are now also detected. Allow more links to be detected: - issues: #1, issue:1, ticket:1, bug:1. - changesets/revisions: r1, changeset:1, [1]. Add lots of tests for the link detection in a tracker. [Per Erik Strandberg, maurits]

Poi 1.1 rc 2 - Released December 5, 2007

  • Add our indexes to the catalog with some code in Doing it there instead of in profiles/default/catalog.xml like previously means we do not need to reindex those indexes after every reinstall. [maurits]

Poi 1.1 rc 1 - Released December 4, 2007

  • Use email_from name of portal in the emails. Fixes [maurits]
  • Fixed error in deleting response to an issue. Fixes [maurits]
  • Added partial Norwegian translation. [Espen Moe-Nilssen]
  • Fix i18n of email sending: - Improve sending of emails with non-ascii character sets (mostly accented characters). - Use portal property email_charset for email sending if available. - Mime encode the subject of emails. Fixes [maurits, Stefano Deponti]
  • Register our skin layer for all skins instead of just for Plone Default. [maurits]

Poi 1.1 beta 1 - Released Movember 19, 2007

  • This release introduces Plone 3.0 compatibility while keeping compatibility with Plone 2.5. [Alexander Limi and Maurits van Rees]
  • Link detection. Trackers now have an svnUrl field. For example, if your product is hosted in the Plone collective you can set this field to Then you can type ‘r42’ in an issue/response (any intelligenttext field) and get a link to that changeset. [Daniel Nouri]
  • Advanced issue search form now has a way to search for issues that match all tags, not only any, which helps when you’re working a lot with tags. [Daniel Nouri]
  • Added a log-view for Poi trackers. This view renders a report on the most recent additions to the tracker; as such it will be similar to what is sent out as e-mail notifications. [Malthe Borch]
  • Cleanup of translations. [Maurits van Rees]
  • Loads of small bug fixes. [Maurits van Rees and others]

Poi 1.0 - (never officially released)

  • initial version. [optilude, rocky, panjunyong, others]

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 1.1.2
Filename, size File type Python version Upload date Hashes
Filename, size Products.Poi-1.1.2.tar.gz (191.3 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