Metadata-Version: 1.0
Name: Products.Poi
Version: 1.2
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
Description: Poi: A friendly issue tracker
        =============================
        
        by Martin Aspeli <optilude@gmx.net>
        
        current maintainer: Maurits van Rees <maurits@vanrees.org>
        
        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 at:
        
        http://plone.org/products/poi/issues
        
        (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 (and Products.ArchAddOn).
        
        Poi requires:
        
        - Plone 3 on Zope 2.10.x (tested with Plone 3.0.6, 3.1.7 and 3.2.1)
        
        - 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 zope instance with Plone 3.
        Then run the portal_migration, which will install the new
        plone.intelligenttext library for you.
        
        - 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*.
        
        
        Upgrading
        ---------
        
        Re-install Poi from the Add/Remove Products control panel or the
        portal_quickinstaller in the ZMI.
        
        Poi 1.2 gets rid of old Archetypes based PoiResponses and introduces
        new light weight zope-3-style responses; this needs a migration.  In
        the ZMI go to portal_setup, then the Upgrades tab and run any upgrade
        steps that are available for Poi.  Backup your Data.fs first!
        
        NOTE: the upgrade steps can take a long time.  Try to run the upgrade
        when traffic on your site is low or take the site off-line for best
        results.  When someone is editing content during the upgrade step, a
        ConflictError can occur, which means the upgrade will start all over.
        On sites with a lot of Poi content (like plone.org) that can mean that
        the upgrade stops after a while without being complete.  After the
        upgrade check if there are still old-style PoiResponses in your site
        by going to ``<your site url>/search?portal_type=PoiResponse``.  If
        this still gives back results, simply run the upgrade again (running
        it multiple times is safe).  You may need to click the 'Show' button
        to show old upgrades as portal_setup may think the upgrade has been
        completed.
        
        After any upgrade, you may need to run an Archetypes schema update.
        Go to 'archetype_tool' in the ZMI, select the 'Update Schema' tab, and
        see if any of the 'Poi.*' types (or any other type actually) are
        selected.  If some are selected, click 'Update schema'.  It is
        probably a good idea to choose 'All objects' from the drop-down as
        well, although this will take slightly longer.  When coming from Plone
        2.5, be sure to select 'Remove schema attributes from instances.'
        
        
        Usage
        -----
        
        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're likely to have to make this change again!
        
        
        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
        
        Changelog for Poi
        =================
        
        
        1.2 (2009-02-23)
        ----------------
        
        - In the migration from old to new style responses, also migrate the
        attachments to the responses.  [maurits]
        
        - Added default_methods for the area and issueType fields of an issue.
        If the vocabulary of the field has only one value, we select that
        one.  See http://plone.org/products/poi/issues/202 [maurits]
        
        - Removed poi_email_* dtml pages from the skins directory, in favour
        of templates in events.py.
        Fixes http://plone.org/products/poi/issues/206 [maurits]
        
        - Fixed 'Field missing error' from kss (only visible in the logs).
        [maurits]
        
        - Fixed possible in rich text field widget by now giving the number of
        rows as an integer instead of a string.
        Fixes http://plone.org/products/poi/issues/203
        [maurits]
        
        - Migrations: now doing intermediate transaction commits to give the
        migrations a chance to finish on big sites.  [maurits]
        
        - Fixed UnicodeError in email sending.
        Fixes http://plone.org/products/poi/issues/198
        Thanks to Derek Broughton for the first version of this fix.
        [maurits]
        
        - Added Portuguese translations by Nuno Cruz.  Thanks!  [maurits]
        
        - After creating a response, first check if emails need to be sent
        before figuring out the text to send.  [maurits]
        
        - In migrations guard against outdated catalog items that have no
        existing object associated with them anymore.  [maurits]
        
        - End-of-lines and svn:ignores set all over the place.  [maurits]
        
        
        1.2rc3 (2008-09-28)
        -------------------
        
        - Added profiles/default/metadata.xml: version 1.2.  [maurits]
        
        - Do not show (part of) the Add response form when no responses can be
        added.  Show a discreet message instead.  [maurits]
        
        - Migrate old style responses in PoiPscTrackers as well.  [maurits]
        
        - Code cleanup with pyflakes and pep8.  Only syntactic changes, no
        behaviour changes.  [maurits]
        
        
        1.2 rc 2 (25 September 2008)
        ----------------------------
        
        - Using Products.CMFPlone.utils.safe_unicode to avoid
        UnicodeDecodeErrors.  [maurits]
        
        
        1.2 rc 1 (12 September 2008)
        ----------------------------
        
        - Added migration step to migrate workflow changes (in the responses)
        from ids to titles.  [maurits]
        
        - Only show the add response form when the user is allowed to add a
        response.  [maurits]
        
        - Fixed the login button displayed with the login suggestion so it
        actually redirects to the login_form.  [maurits]
        
        - Translation updates.  [maurits]
        
        
        1.2 beta 1 - (12 July 2008)
        ---------------------------
        
        - Merged r68220 and r68223 from branches/1.1:
        Fixed typo that messed up a few translations.
        And fixed untranslatable login suggestion.
        Fixes http://plone.org/products/poi/issues/191
        [maurits]
        
        - 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 http://plone.org/products/poi/issues/180
        [maurits]
        
        - Made PoiTracker translatable with LinguaPlone.  Does not make sense
        for the other content types.  (Change merged from 1.1)
        Fixes http://plone.org/products/poi/issues/177
        [maurits]
        
        
        1.2 alpha 1 - (17 June 2008)
        ----------------------------
        
        - Handle target release better -- there was some confusion between
        values and labels.  [maurits]
        
        - Made sure that just an issue state change or an attachment upload
        is also accepted as a change.  [maurits]
        
        - Only show the target release option when there is more than one
        option (as None is always an option).  [maurits]
        
        - Adapted the tests to use new style responses everywhere, except in
        the tests for migrating from old to new style responses.
        
        - Made Poi migrations available with a form at migrate-poi.html.
        [maurits]
        
        - Removed skins/Poi/poi_response_update_issue.cpy and related code.
        [maurits]
        
        - Add i18n to browser/response.pt  [maurits]
        
        - Removed button for adding old style response to issue.  [maurits]
        
        - Removed skins/Poi/determineResponseType.py  [maurits]
        
        - Send email when response is added.  [maurits]
        
        - Update SearchableText of issue when response is added.  [maurits]
        
        - Add handling for the target releases field (available only when
        using the PSC tracker).  [maurits]
        
        - Only show options like changing state when the user has permission
        to use them.  [maurits]
        
        - Allow adding and downloading an attachment in a response.  [maurits]
        
        - Store rendered html on the response; remove that after editing.
        Makes views faster.  Basically a memoize variant. [maurits]
        
        - In the creation view, test that a response is valid before adding
        it. [maurits]
        
        - Let unit tests pass on Plone 3.1 by providing an IWorkflowChain
        adapter. [maurits]
        
        - Add migration step for making sure that the Description of all
        PoiIssues in the portal_catalog is of type unicode instead of
        string, just like the real objects. [maurits]
        
        - For the Description of a PoiIssue always return unicode. [maurits]
        
        - Use PersistentList instead of the combination of PersistentMapping
        and self.highest in ResponseContainer.  Works just as well and feels
        easier. [maurits]
        
        - Add first tests for migration of individual issue.
        [maurits]
        
        - Add migration (GenericSetup upgrade step) from old to new style
        responses.
        [maurits]
        
        - Use the text of new style responses too for the SearchableText of an
        issue.
        [maurits]
        
        - No __parent__ and __name__ for PoiIssue anymore.  Instead pass the
        issue as descriptions argument when firing the ObjectModifiedEvent
        for a response.  Works fine and needs no migration.
        [maurits]
        
        - Use __parent__ and __name__ for responses.
        [maurits]
        
        - Add "self.__parent__ = self.__name__ = None" to __init__() of
        PoiIssue.  Needs migration.  Not sure if that is the best solution
        to the problem that in the event handler for modified responses the
        issue has no acquisition context.
        
        - Fire ObjectRemovedEvent when deleting a response and
        ObjectModifiedEvent when modifying it.
        [maurits]
        
        - When adding something to an issue check that it really is an
        IResponse.
        [maurits]
        
        - Add buttons and browser views for deleting and editing responses.
        [maurits]
        
        - Add PoiMessageFactory.
        [maurits]
        
        - Add method delete(id) for deleting responses.
        [maurits]
        
        - In response adapter rename total to highest.
        [maurits]
        
        - When FCKeditor is installed and an anonymous visitor adds a
        response, make sure this works by using the default html text area
        then.  Same change as in the FCKeditor code itself in r59427.
        [maurits]
        
        - When in config.py DEFAULT_ISSUE_MIME_TYPE is set to text/html, use a
        wysiwyg field in the add response form.  Tested with kupu.  Haul the
        responses through portal_transforms and through linkDetection.
        [maurits]
        
        - Give responses a type additional/clarification/reply.
        [maurits]
        
        - Add browser test for adding a tracker, issue and response.
        [maurits]
        
        - Unit test the response browser views.
        [maurits]
        
        - Use aq_inner.aq_parent to get the parent of an issue.
        [maurits]
        
        - Add unit tests for browser.response.voc2dict.
        [maurits]
        
        - Add unit tests for the adapters.
        [maurits]
        
        - Show border around responses, like in the original layout.
        [maurits]
        
        - Check that the changes within a response are allowed (new severity
        in available_severities, etc).
        [maurits]
        
        - Make difference between available_transitions and
        transitions_for_display; also for the other response options.
        [maurits]
        
        - Add methods sorted_keys/values/items for the ResponseContainer.
        Show the sorted items in the view (so 1, ..., 9, 10 instead of 1,
        10, ..., 9).
        [maurits]
        
        - Store OOBTree and total in a PersistentMapping instead of only the
        OOBTree directly in the annotations.
        [maurits]
        
        - Check radio buttons of response based on current status for all
        options.  Rename options to be in line with the fields of the parent
        Task.
        [maurits]
        
        - Store creator and creation date of response.
        [maurits]
        
        - Use an OOBtree instead of a PersistentMapping to store the
        responses.
        [maurits]
        
        - Use zope.app.container.sample.SampleContainer as base class for
        ResponseContainer.  Store a PersistentMapping in it.  Show the
        sorted responses.
        [maurits]
        
        - Start creating zope 3 style lightweight responses instead of big fat
        Archetypes objects.
        [maurits]
        
        - Add provider:poi.response.add that gives you a form for adding a
        response when viewing an issue.
        [maurits]
        
        - Add browser view @@create_response that creates a response in the
        current issue, based on the request form.
        [maurits]
        
        - List Products.AddRemoveWidget and Products.DataGridField as
        dependencies in setup.py.  [maurits]
        
        - Use event handlers for keeping the SearchableText of an issue in
        sync with its responses.  This comes in place of the updateResponses
        method of an issue that was called by poi_response_update_issue.cpy.
        [maurits]
        
        - Eggification: Poi/trunk has been moved to
        Products.Poi/trunk/Products/Poi
        [maurits]
        
        - Modernization of trackers:
        
        o Add browser view @@issuefolder that handles the part of PoiTracker
        that involves being just a folder with issues.
        
        o Move getFilteredIssues, getIssueSearchQueryString and
        buildIssueSearchQuery from PoiTracker to browser view.
        
        o Remove skins/Poi/getOrphanedIssues.py and skins/Poi/getMyIssues.py.
        Put equivalents in the browser view.
        
        [maurits]
        
        - Move getNumberFromString, linkBugs and linkSvn from
        content/PoiTracker.py into new utils.py as they need no context.
        [maurits]
        
        - Memoize the getTagged* values for intelligenttext fields in PoiIssue
        and PoiResponse; clear them when setting those fields.  This speeds
        up viewing an issue or response.
        [maurits]
        
        - Modernize code:
        - Cleanup imports with pyflakes.
        - use logging instead of zLOG.
        [maurits]
        
        - Do not try to apply a CustomizationPolicy.
        [maurits]
        
        - Remove backwards compatibility code for old CMFCore permissions.
        [maurits]
        
        - Remove references to contentmigration, as this was only needed for
        migrations from 1.0 beta 2 to 1.0 rc 1.
        [maurits]
        
        - Remove UML model as we do not use that anymore.
        [maurits]
        
        
        1.1.1 - (Unreleased)
        --------------------
        
        - 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 http://plone.org/products/poi/issues/166
        [maurits]
        
        
        - Encode unicode names of email addresses using the site encoding.
        Fixes http://plone.org/products/poi/issues/161
        [maurits]
        
        
        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 http://plone.org/products/poi/issues/160
        [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.
        http://plone.org/products/poi/issues/159
        [Per Erik Strandberg, maurits]
        
        
        Poi 1.1 rc 2 - Released December 5, 2007
        ----------------------------------------
        
        - Add our indexes to the catalog with some code in AppInstall.py.
        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 http://plone.org/products/poi/issues/154
        [maurits]
        
        - Fixed error in deleting response to an issue.
        Fixes http://plone.org/products/poi/issues/151
        [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 http://plone.org/products/poi/issues/146
        [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
        ``http://dev.plone.org/collective/changeset/%(rev)s``.  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]
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Framework :: Zope2
Classifier: Framework :: Zope3
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
