========================
PloneSoftwareCenter ToDo
========================

Bugs
--------

 [ ] * If two proposals have the same title, then "Related Proposals" fields
   only display one. The DisplayList should use "#1: My Title" instead of
   "My Title".
 
 [X] * Three validators are disabled because the widgets using them are being
   initialized before the validators are registered.
 
 [ ] * Projects without releases are not listed in the by-category pulldown menu
 
 [ ] * When editing "Associated feature proposals" on a release, the HTML for
   the left arrow and right arrow on the in/out widget read &amp;larr; and
   &amp;rarr; instead of &larr; and &rarr;

Questions
--------

 [ ] * upcoming_releases is used by multiple views. What is the best way to
   define this to avoid duplicating functionality?

 [ ] * Right now is_outdated returns False if there are no up-to-date releases.
   Is this desired behavior?
 
 [ ] * If a roadmap folder exists but not named "roadmap", then currently a
   project folder allows adding another roadmap folder. Alternatively, if
   another item exists named "roadmap" that is not a roadmap folder,
   then one cannot add a roadmap folder. Is this desired behavior?

Clean-up
--------

    [ ] o Move displays to views
        [ ] - Move view methods out of content types and into views!
        [ ] - Add appropriate tests to ensure view can be looked up and 
            view methods work as expected

    [ ] o Change setup to use GenericSetup?
        [ ] - workflow
        [ ] - workflow script
        [ ] - catalog indexes
        [ ] - catalog metadata
        [ ] - portal_factory
        [ ] - navtree_properties
    
    [ ] o Install FTI information with GenericSetup?
    
    [ ] - Use portlet.collection for the release portlet (optionally port it
          to the Plone 3 portlet machinery if you don't want to depend on it)
    
 Note: GenericSetup installation may not work adequately in 2.5; may be
       better to use Install.py but load FTI and workflow from GS profiles.
       See 'charity' in the b-org tutorial.

Process improvements
--------------------
 
 GL - Note: Much of the original list below has been done, with the exception
 of the "subjective" criteria. One additional step may need to be done now:
 
 * Migration?
 
 -----------------------------------------------------------------------------
 
    [ ] o Add "self-certification" field to project
       [ ]  - Vocabulary of categories at PSC root
       [ ]  - Multi-select, force checkboxes
    [ ] o Add "approved" boolean field to project
       [ ]  - Write permission by reviewer only
    [ ] o Add "review team comment" field to project
       [ ]  - Write permission by reviewer only
    
 Note: Requires that owner no longer gets Manager local-role in their 
  project!
    
    Categories:
    
        Objective/self-certification
        ----------------------------
        [ ] o i18n
        [ ] o unit tests
        [ ] o end-user documentation
        [ ] o internal documentation (docstrings, interfaces etc)
        [ ] o existed/maintained for X months (6?)
        [ ] o installs, uninstalls cleanly
        [ ] o code structure follows best practice
        
        Subjective/documented, but not explicitly selected
        --------------------------------------------------
        [ ] o consistent UI (with Plone)
        [ ] o using roles instead of permissions
        [ ] o side effects of customisations (e.g. customise core Plone templates)
        [ ] o relies on custom folder, external methods, zexps, ...
        [ ] o avoids duplicating existing functionality (CMS-in-the-CMS)
        [ ] o scales (e.g. catalog vs. objectValues(), BTree folders etc)
    
    [ ] o Ensure all users can add documentation in docs section
       [ ]  - Project manager should be able to review
    
    [ ] o Default body text for new product
       [ ]  - What problem is being solved?

Template improvements
---------------------

    [ ] o Task-based UI
       [ ]  - Report a bug
       [ ]  - Request a feature
       [ ]  - Send feedback to author
       [ ]  - ...
        
    [ ] o Add new template for PSC front page
       [ ]  - Last N released products
       [ ]  - Drop-down to product
       [ ]  - Drop-down to category
       [ ]  - Drop-down based filter search (tick boxes etc)
       [ ]  - Multiple templates
       [ ]  - Search by version; filter by unsupported versions in default UI

    [ ] o Product front page
       [ ]  - Open bugs, close times, last release ...
       [ ]  - Warnings about supported Plone version
       [ ]  - Actions:
          [ ]   ~ Report a bug
          [ ]   ~ Request a feature
          [ ]   ~ Send feedback to author
          [ ]   ~ ...
        
New functionality
-----------------

    [ ] o Add "Review" content type, inside "Reviews Folder"
        [ ] - Must be approved by reviewers
        [ ] - Pre-populated text field: pros, cons, what kind of user?, why did you use it?
        [ ] - Version(s) tested field
        [ ] - Link to other reviews from this person, reviewer stats

    [ ] o Add ratings to products
        [ ] - Simple thumbs up/down rating (also on documentation) or Amazon style star ratings

    [ ] o Add development blog/press release type, aggregator?
        [ ] - How to avoid duplication of e.g. release notes?
    
    [ ] o Internationalize (low priority for plone.org)

