# Introduction

This add-on demonstrates how to create a project management application in Plone with four Dexterity content types: Client, Project, Iteration, and Task. It also includes a tool to automate the creation of iterations, and a custom workflow for the Client, Project and Iteration types that contains active/inactive states.

# Installation

Plone < 4.3

For Plone versions earlier than 4.3, extend the Dexterity Known Good Set of packages e.g.:

    [buildout]
    extends = http://good-py.appspot.com/release/dexterity/1.2.1
    versions = versions

Note

You must extend the Dexterity Known Good Set provided by http://good-py.appspot.com/release/dexterity/1.2.1 to avoid Buildout conflict errors.

Plone 4.x

Add `collective.project` to `plone.recipe.zope2instance` section `eggs` parameter e.g.:

    [plone]
    recipe = plone.recipe.zope2instance
    eggs =
        …
        collective.project

For more information about Dexterity, please see:

- http://plone.org/products/dexterity/documentation

# Changelog

## 1.0.2 (2012-10-30)

- Fix brown bag [aclark]

## 1.0.1 (2012-10-29)

- Add 4.3 compat [aclark]
- Add classifers to setup.py for all Plone 4.x [aclark]

## 1.0.0 (2012-04-07)

- Clean up package [aclark]

## 0.9.5 (08/17/2011)

- Do not hide Plone content editing border by default [aclark]
- Change default projects to: [aclark]
  - Development
  - Training
  - Hosting
  - Support
- Clean up UI [aclark]
- More package cleanup [aclark]

## 0.9.4 (11/10/2010)

- Clean up package (no code changes)
- Rebrand as "demo application"

## 0.9.3 (12/05/2009)

- Fix bug with calculation of hours when exactly a full day (24 hours) has been worked.
- Rename class method iteration_tool (in CreateIterationForm) to create_iteration.
- Add class method to CreateIterationForm (deactivate_iteration) to change workflow state on all active iterations (to inactive) when creating new iterations.
- UI enhancements to project, iteration, task templates.
- Factor out some class methods into common.py.
- Improved client view template.
- Add additional fields to client type:
  - Email
  - Address
  - Website
  - Notes

## 0.9.2 (11/30/2009)

- Provide improved installation instructions in docs/INSTALL.txt.

## 0.9.1 (11/19/2009)

- Iteration tool bug fixes
  - Set date on new iterations
- Date range tweaks on projects, iterations
  - Projects last 1 year by default
  - Iterations last 1 month by default
- Add drop down menu to select Project title, powered by portal property and SimpleVocabulary.
- Add portal property to make disable border configurable on all types.

## 0.9.0 (11/17/2009)

- Restore 'iteration tool':
  - Provide ability to batch create iterations for selected projects, e.g. November 2009.
  - Uses z3cform.

## 0.8.0 (10/08/2009)

- Bug fixes:
  - Fix hours calculation for increments of time < 1 hour.
  - Calculate totals for active iterations only.
  - Don't show inactive iterations in iteration_templates/view.pt.
- Change defaults for start and stop of projects & iterations.
  - Start and stop iteration on first day and last day of current month.
  - Start and stop project on first day day of current month and last day of current month plus one year.

## 0.7.0 (09/29/2009)

- Package and bug fixes
  - Package shipped without top level docs directory, fixed.
  - projects_view was broken in several ways, fixed.

## 0.6.0 (09/25/2009)

- Rename package to 'collective.project'.
- Final Dexterity content types implementation:
  - Client - Provides container for Project, and nothing else.
  - Project - Has start(datetime), stop(datetime), rate(float), flat(boolean), billable(boolean) fields.
  - Iteration - Has start(datetime), stop(datetime) fields.
  - Task - Has start(datetime), stop(datetime), billable(boolean) fields.
- Provides custom view templates for Project, Iteration, and Task as well as three top level views:
  - projects_view - Consulting -> Client A.
  - clients_view - Client A -> Consulting.
  - print_view - Format for print.

## 0.5.0 (08/16/2009)

- Initial Dexterity content types implementation.

## 0.4.0 (08/14/2009)

- Track variable and flat rate fee projects (e.g. consulting and hosting):
  - Amortize flat rate fee over number of months.
- Compute totals for active projects only.

## 0.3.0 (03/19/2009)

- Bug fix in iteration_view template.

## 0.2.0 (03/19/2009)

- Add billable field to task
- Add sort_on = 'getObjPositionInParent' to projects_view to display projects in order.

## 0.1.0 (03/15/2009)

- Initial release.