Poi: A friendly issue tracker
Poi: A friendly issue tracker
by Martin Aspeli <firstname.lastname@example.org>
current maintainer: Maurits van Rees <email@example.com>
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 http://plone.org
- 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 http://plone.org/products/poi 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.
- Plone 4; this version of Poi will not work with Plone 3.
- For PloneSoftwareCenter integration, PloneSoftwareCenter is required. See http://plone.org/products/plonesoftwarecenter 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: http://plone.org/products/poi/issues/179
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 plone.org 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/config.py:
ISSUE_MIME_TYPES = ('text/x-web-intelligent', 'text/html') DEFAULT_ISSUE_MIME_TYPE = '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 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 <firstname.lastname@example.org>
o Bug fixes and general critiquing by Rocky Burt <email@example.com>
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
- 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. https://github.com/collective/Products.Poi/issues/4 [maurits]
- Fix advanced search form not returning results unless both Issue number and Submitter were specified. [rpatterson]
- Fixed reinstall error. Metadata would be missing in the catalog brains. [maurits]
- Included Products.AddRemoveWidget and Products.DataGridField in configure.zcml [cedricmessiant]
- Fixed packaging error. [maurits]
- Made compatible with Plone 4.3. Lost compatibility with Plone 4.0. [maurits]
- Fix Unauthorized/”Insufficient Privileges” error under Plone 4.2. [rpatterson]
- completed german translation [jensens]
- 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 htmlrender.py. [maurits]
- Refactored the email notifications by creating a page template browser/poi_mail.pt and a css file skins/Poi/poi-email.css and using that instead of hardcoded stuff in a python file htmlrender.py. Fixes http://plone.org/products/poi/issues/251 [maurits]
- Allow assigning portlets to trackers and issues. Fixes http://plone.org/products/poi/issues/250 [maurits]
- Make sure the issue-info-box does not inherit a 100% width, as is the case on plone.org at the moment (6 September 2011), which is far too wide for this little box. See http://plone.org/products/poi/issues/249 [Maurits]
- Added MANIFEST.in file so that .mo translation files will be included in source distributions (with help from zest.releaser and zest.pocompile). Refs http://plone.org/products/poi/issues/248 [maurits]
- 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]
- 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]
- 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.