Metadata-Version: 2.1
Name: Products.Poi
Version: 4.0.3
Summary: Poi: A friendly issue tracker
Home-page: http://plone.org/products/poi
Author: Martin Aspeli
Author-email: plone-users@lists.sourceforge.net
License: GPL
Keywords: bugs issue tracker
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 5.0
Classifier: Framework :: Zope2
Classifier: Framework :: Zope3
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: setuptools
Requires-Dist: plone.app.blob
Requires-Dist: plone.namedfile
Requires-Dist: Products.CMFPlone (>=5.0.5)
Requires-Dist: collective.dexteritytextindexer
Requires-Dist: collective.watcherlist (>=3.0)
Requires-Dist: collective.z3cform.datagridfield
Requires-Dist: Products.OrderableReferenceField
Requires-Dist: plone.app.referenceablebehavior
Requires-Dist: plone.app.relationfield (>=1.3.4)
Provides-Extra: test
Requires-Dist: Products.PloneTestCase ; extra == 'test'

Poi: A friendly issue tracker
=============================

Poi is an issue tracker product for Plone. It has a goal to be 
simple and attractive whilst providing the most commonly needed issue
tracking functionality. Poi 4.0 uses Dexterity and is for Plone 5 only.

 by Martin Aspeli <optilude@gmx.net>

 current maintainer: Maurits van Rees <maurits@vanrees.org>

 Released under the GNU General Public License, version 2

.. image:: https://img.shields.io/travis/collective/Products.Poi/master.svg
    :target: http://travis-ci.org/collective/Products.Poi


Feedback is very welcome. Please submit any bugs or feature requests at: 

    https://github.com/collective/Products.Poi/issues


Installation and dependencies
-----------------------------

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

Poi 4.0+ requires:

  - Plone 5
  - collective.watcherlist


What version of Poi to use?
---------------------------

* Poi 2.x is for Plone 4
* Poi 3.x is a migration step from Poi 2.x to Poi 4.x
* Poi 4.0+ only works on Plone 5



Upgrading
---------

Version 3.x of Poi is only for migrating to Dexterity in preparation of
moving to Plone 5. It requires plone.app.contenttypes 1.1.2, but don't activate
the add-on unless you plan on migrating all your default Archetypes
to Dexterity.

Upgrade steps:

* Do the migration in Plone 4 (reinstall Poi or run the upgrade steps)
* Upgrade to Plone 5
* Upgrade to Poi 4.x

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!


Usage
=====

Poi is a folderish object type. Many Poi Trackers can exist within the
same Plone instance.

Prior to adding a new Tracker, ensure that some Assignees (users) are
created in the system.


Tracker Usage
-------------

Add a new Tracker, and customize the following to suit your
organization's needs:

- Areas - top level categories for the Tracker (e.g., UI)
- Issue Types -- ticket types in the system (e.g., Bug)
- Severities - levels of severity for the Issues (e.g., Low)
- Available Releases -- used for assigning version values (e.g. v1.0)
- Assignees -- list of users to whom Issues can be assigned
- Watchers -- list of users who should be notified when Issues or comments are added
- Mailing List -- single email address, similar to Watchers
- Repository URL -- git/subversion repository used by your organization 

Note that if you are not tracking software releases, you can leave the list
of "releases" empty, and organization 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 modify these to suit your needs.

If a repository URL is provided, revision numbers will automatically be
hyperlinked when included in Issue descriptions and comments.

After creating the Tracker, use the "state" menu to open it for submissions.
Available workflow states are:

- Open: Anonymous users can view and submit issues
- Restricted: Anonymous users can view, but only members can submit
- Protected: Only members can view and submit
- Closed: Tracker is closed to submissions 

The Tracker front page includes:

- Issue search (as well as link to Advanced Search)
- Issue Logs link (view all Tracker activity)
- Watch This Tracker / Stop Watching This Tracker button to enable/disable notifications
- Browse Issues by release, state, area or tag
- "My Submitted Issues" listing
- "Orphaned Issues" listing (unassigned Issues)
- "Issues Assigned to Me" 


Issue Usage
-----------

Once you have set up the Tracker, Issues (tickets) can be created within the
Tracker. Who can create them depends on the Tracker's state (see list above).
Issues contain:

- Title
- Release (version Issue was found in)
- Details (description)
- Steps to Reproduce
- Related Issues (select from existing Issues within the Tracker)
- Area, Type and Severity
- Target Release (for fix)
- Contact Email
- Requested By Date
- Ticket Owner (Assignee)
- Watchers
- Subjects (Tags) 

Once an Issue is created:

- Attachments can be added to the Issue
- Responses can be added
- When adding a response as a tracker manager, you can change the state, importance or assignment of an issue.

Issues have the following workflow:

.. image:: http://www.sixfeetup.com/images/issue-workflow.png
   :height: 756
   :width: 553
   :alt: Issue Workflow
   :align: left


Email Notification
------------------

If email notification is enabled in the Tracker setup, the following conditions will exist.

- If a mailing list was provided in the Tracker setup, members of the list will also be notified.
- All listed Tracker Assignees automatically become Tracker Watchers when the tracker is created.
- A Ticket Owner (assignee assigned to an issue) automatically becomes an Issue Watcher for that issue. 

+--------------------------+-------------+----------------+----------------+
| User                     | New Issue   | Issue Response | Issue Resolved |
+==========================+=============+================+================+
| **Tracker Watcher**      | X           | X              | X              |
+--------------------------+-------------+----------------+----------------+
| **Tracker Mailing List** | X           | X              | X              |
+--------------------------+-------------+----------------+----------------+
| **Issue Watcher**        |             | X*             | X              |
+--------------------------+-------------+----------------+----------------+
| **Issue Submitter**      |             |                | X              |
+--------------------------+-------------+----------------+----------------+
| **Member**               |             |                | X              |
+--------------------------+-------------+----------------+----------------+


`*` except responses they post 

For additional mail functionality, also see `poi.receivemail` and
`poi.maildefaults`


Roles and Permissions
---------------------

Poi adds 3 Roles to the defaults in Plone. Roles honor inheritance.
Note that some of these permissions will change based on the
state of the tracker.

+-----------------------------+-------------+----------------+----------------+----------------+------------+
|                             | Anonymous   | Member         | Manager        | TrackerManager | Technician |
+=============================+=============+================+================+================+============+
| Add Tracker                 |             |                | X              |                |            |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Manage Tracker              |             |                | X              | X              |            |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Add Issue                   |  X          | X              | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Add Response                |  X          | X              | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Edit Response               |             |                | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Upload Attachment           |             | X              | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Modify Issue Severity       |             |                | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Modify Issue Assignment     |             |                | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Modify Issue State          |             |                | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Modify Issue Tags           |             |                | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Modify Issue Watchers       |             |                | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Modify Issue Target Release |             |                | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+
| Modify Related Issues       |  X          | X              | X              | X              | X          |
+-----------------------------+-------------+----------------+----------------+----------------+------------+



Credits
=======

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 <optilude@gmx.net>

 o Bug fixes and general critiquing by Rocky Burt <rocky@serverzen.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
   Rees

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

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

 o Plone 5 Refactoring by Six Feet Up

Changelog for Poi
=================

4.0.3 (2020-02-24)
------------------

- speed up link detection [skurfer]


4.0.2 (2019-08-19)
------------------
- update customized RelatedItemsFieldWidget resultTemplate to
  match mockup 2.7.7 / Plone 5.1.5 [abosio]
- improve string encoding in csv export [abosio]


4.0.1 (2018-12-06)
------------------

- Increase min chars for commit link detection to avoid false positives [abosio]
- Fix handling of empty values for display [rpatterson]
- Include ZCML of dependencies, fixes errors in add-on tests [rpatterson]
- Fix a registry key missing from fresh installs [rpatterson]
- Fixed several internationalization problems.  [maurits]
- Allow for graceful handling of missing vocab terms [cdw9]


4.0 (2017-07-18)
----------------

- Plone 5 compatibility
- Complete refactor using Dexterity for Trackers and
  Issues (see Poi 3.x for migration)
- Issues are now folderish for holding attachments.
- New template layouts
- CSV export from issue search
- New field for relating issues to each other


3.0 (2017-07-18)
----------------

- Added a migration path from Poi 2.x to 4.x, which migrates
  Trackers and Issues to Dexterity.
  This requires a version of plone.app.contenttypes compatible with Plone 4.3,
  with minimum version 1.1.2.
  This version of Poi is to only be
  used in Plone 4 as a migration step, and is not a useable version of Poi.
  You will see errors like ``AttributeError: @@issuefolder`` when you try to
  view a tracker. This is okay. You can now migrate to Plone 5.


2.3 (2016-12-30)
----------------

- Avoid security warning on startup.  You get a warning about our
  IResponseAdder viewlet manager, which apparently has a security
  declaration for nonexistent method '__getitem__'.  So we add that
  method and let it return an IndexError, because this is a
  ``zope.contentprovider`` which is not meant to iterate over
  viewlets.  [maurits]

- Use blob file for attachments in issues and responses.  This comes
  with an upgrade step to migrate them.
  Fixes `issue #32 <https://github.com/collective/Products.Poi/issues/32>`_.
  [maurits]


2.2.10 (2016-12-23)
-------------------

- Added basic options to ``BasePoiMail``.  This avoids doing the same
  calculations on various sub classes.  [maurits]

- Load ``rss.png`` instead of ``rss.gif``.  [maurits]

- Fixed ``poi.js`` javascript for newer jQuery versions.  1.9 would
  fall over an undefined ``jQuery.browser``.  1.7 would fall over an
  unrecognized expression, needing extra quotes.  Still works on 1.4.
  Fixes `issue 30 <https://github.com/collective/Products.Poi/issues/30>`_.
  [maurits]


2.2.9 (2016-12-09)
------------------

- Only do link detection in plain or intelligent text fields.  If a
  field has html and contains an html space ``&#160`` and you have an
  issue 160, it will start looking very ugly.  Note that by default
  html is not allowed.  [maurits]


2.2.8 (2015-08-31)
------------------

- Require Products.DataGridField 1.9.2 as minimum.  This means we no
  longer use the ``isDataGridFilled`` validator, but simply rely on
  ``required=True`` for the ``availableAreas`` and
  ``availableIssueTypes`` fields of the trackers.
  [maurits]


2.2.7 (2014-09-10)
------------------

- Refer to .png Plone images in css instead of .gif.
  [thomasdesvenain]

- When we go to search form, current filters are pre-selected.
  [thomasdesvenain]

- Filled in missing translations for de and removed stale fuzzy entries
  [pilz]


2.2.6 (2013-10-18)
------------------

- Show technicians in the responsible managers list in the search
  form.
  Fixes http://plone.org/products/poi/issues/266
  [maurits]

- Sort the available releases of trackers in PloneSoftwareCenter by
  id, which means: by version.
  [maurits]

- Fix auto-recognized issue/revision links when displayed in the
  tracker log.  These would point outside of the tracker.  Now we pass
  the absolute url of the tracker.  Note that responses cache their
  rendered html text in a variable ``rendered_text``, which is only
  updated when you edit the response, so this may not have effect on
  existing responses.
  Fixes http://plone.org/products/poi/issues/255
  [maurits]

- Fix corner cases in recognizing links to issues and revisions.  Add
  the patterns for these two in ``config.py`` so they can be
  overridden.  Also add the template to use when recognizing a link to
  another issue there.
  Fixes http://plone.org/products/poi/issues/262
  [maurits]


2.2.5 (2013-08-22)
------------------

- Fixed mail templates styles for new issue and new response
  [cekk]

- Some style fixes; removed all inline styles left, translated to
  CSS rules.
  [keul]

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.
  https://github.com/collective/Products.Poi/issues/4
  [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 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]


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

