2.0 alpha (2008-09-16)
----------------------

- Added 'locked status' logic so the release planning view can display it.
  Cleaned up release planning view logic, icluding class generation.
  Corrected relevant tests.

- Added CSS and exception-hardening to our previous work on reorderable
  stories - on failing to move a story we redirect to the story so it can be
  fixed. [reinout+simon]

- Made the eXtremeManagement PTSTranslationDomain available as
  zope.i18n domain.  This makes portal status messages from kss
  translatable again.  [maurits]

- Got the actual drag/drop to work. Needs more work though. [reinout]

- Started the view for reordering stories. [reinout+simon]

- Made the review state of tasks in the simple task list overview be
  a dropdown list with workflow transitioning via KSS, just like the
  default Plone review state.  [maurits+simon]

- @Lazy optimizations in browser/tasks.py. [reinout]

- Show link to xm time tracker in site actions when the xm.tracker
  package is available.  [maurits]

- Include zcml of xm.tracker when the package is there.  [maurits]

- Created @@xm_global_state view, with currently one method
  has_tracker which is True when the xm.tracker package is
  available.  [maurits]

- Treating booking's description as webintelligenttext. [reinout]

- Cleaned up redundancy in task_review template (issue #75).  [simon]

- Merged fix from the time tracker branch (issue #75): Changed
  task_overview template and tasks.py to display localised workflow
  state labels.  [simon]

- Merged fix from the time tracker branch: catch a divide by zero
  error.  [reinout]

- Merged the testing changes from the zest-timetracker branch.
  [maurits]

- Added Products.Poi to the install_requires in setup.py as Poi now
  has eggs for both branch 1.1 and trunk.  [maurits]

- made the print view for offer look nicer. Added new dutch translation.
  [mirella]

- Show attachments (Image, File, most importantly Story) in the
  project view, but only when xm.theme is not available, as that has
  a portlet and another view for this info.  (Merged from
  branches/1.6, r69421 and r69426.)

- Added tests for style conditions, which lead me to a bug in the logic. In
  the booking_month view, in case someone worked less than 40 hours in a week
  that total will be highligted. [jladage]

- Fix a Plone 3.0 support issue in the javascript registry.[jladage]

- fixed name typo in css [mirella]

- minor css changes to booking_month.pt, added translations and
  description for employees overview. Added odd color ad padding to
  employees overview, generated i18ndude and added the missing dutch
  translations and update_hours_form placed bookingsdate next to title.
  <th> has nowrap and left/right padding.[mirella]

- Now loading the zcml from kss.plugin.yuidnd automatically, so that
  package does not need to be included in [instance]zcml of buildout.cfg
  anymore. [maurits]


1.6.1 (2008-07-31)
------------------

2008-07-30 - mirella

  - removed hours/minutes from iteration view of start and enddate
    of an iteration.

2008-07-30 - jladage

  - bookings per month now doesn't highlight days with less than 8 hours.
    Instead it highlight if the hours per week is below 40 hours and if the
    billable percentage for a week is below 50%.

2008-07-23 - markvl

  - Made the check for customers in the myprojects view more
    robust. Employees which also have a customer role are no longer
    seen as customers.

2008-07-23 - mirella
  - added translations
  - show in iteration view the budget left in a row below the  total.
  - removed actual hours and budget left hours from the table above the stories.
  - fixed width of the table

2008-07-17 - mirella
  - changed width of storylist table in 97% for fixing IE7 problem of overlap.

2008-07-17 - jladage

  - Added migration for content types 'ProjectFolder' and 'CustomerFolder'
    back to regular folders.
  - Added a note about upgrading from older versions than 2.0.
  - Marked all code related to the following content types with BBB for easy
    cleanup in the next release.

1.6 final (2008-07-16)
----------------------

- Official Release, no changes since rc10


1.6 rc10 (2008-07-09)
---------------------

- Fixed name of permissions that had a rogue slash at the end.  Silly
  me.  [maurits]

- Fixed typos that referred to a different spelling of the
  Projectmanager role.  [maurits]


1.6 rc9 (2008-06-30)
--------------------

2008-06-26 - seletz

  - browser/xm_kss.py: Only update story viewlets in story context.
  - browser/viewlets/manager.py: delegate icon fetching to the view, and do it
    there such that it only returns the icon name.  That fixes the
    icon-of-iteration-is-not-found-if-site-is-named-plone bug.
  - browser/xm_kss.py: Only update viewlet for task bookings if we're actually
    in task context.  Otherwise we'll get a ComponentLookupError if the story
    gets activated (tasks get automatically transitioned from new->activated).


1.6 rc8 (2008-06-26)
--------------------

2008-06-26 - seletz

  - skins/eXtremeManagement/story_view.pt: Render the task list even
    if empty; otherwise the KSS-ified task adding cannot refresh the
    task list.
  - browser/xm_kss.py: fix comparsion of WF event states to fix a
    ComponentLookupError if adding tasks using KSS in a story.
  - added mr_savage and myself to the AUTHORS.txt (no CONTRIBUTORS.txt?)

2008-06-23 - reinout

  - 1.6 rc7 release

2008-06-16 - mr_savage

  - skins/task_overview.pt
    changed tal to use urlparameter memberid when constructing links
    to tasks in different states if param present in
    request

2008-06-16 - mr_savage

  - skins/booking_details.pt
    changed tal to use urlparameter memberid when constructing links
    to previous / current month if param present in
    request

2008-06-16 - mr_savage

  - skins/booking_year.pt
    changed tal to use urlparameter memberid when constructing links
    to previous / next year if param present in
    request

2008-06-16 - mr_savage

  - skins/booking_month.pt
    changed tal to use urlparameter memberid when constructing links
    to booking_year, previous-month, current-month if param present in
    request

2008-06-13 - mr_savage

  - browser/poi.py get_open_issues_in_project() now internally
      calls a multi adapter ( context, request ) to get issues
  - adapters.py
      default implementation of IXMIssueGetter
  - interfaces/xmissuegetter.py IXMIssueGetter interface
  - configure.zcml
       adapter registration

2008-06-10 - mr_savage

  - content/iteration.py set the default for the startDate to current
    DateTime

2008-06-06 - maurits

  - Split single kss event handler on the IAfterTransitionEvent into a
    story and task specific one.

  - Used xm.AddTask in a few spots.

  - Added permissions.zcml for defining permissions like xm.AddProject.

  - Register event handler to update some viewlets on the story page
    when that story gets a workflow transition.


2008-06-06 - maurits + jladage

  - Added getLayout method to Project.py.  This exists to please the
    discussion form.  Needed because we do not mix in the
    DynamicViewFTI class.  Note: this is also used by e.g. Stories by
    using acquisition.


2008-06-05 - maurits

  - Do not load the details for all stories in the project or
    iteration view.  Instead use KSS to show those details when
    wanted.  eXtreme.js is no longer needed, but can't be properly
    removed from the javascript registry with GenericSetup.

  - Fixed own mistake in generateUniqueId where this would fail if
    there were no tasks in the story yet.

2008-05-20 - maurits

  - Remove empty interfaces/IXMCustomer.py and accompanying Zope 3
    bridge.

  - Lots of pep8/pyflakes cleanup.

  - Remove the unused migration functions from setuphandlers.py.

2008-05-15 - maurits

  - In install.py do not notify the quick installer that we have
    installed our own GS profile; meanwhile there were three
    references to eXtremeManagement, Products.eXtremeManagement and
    profile-Products.eXtremeManagement in the quick installer in a
    test site.

  - Removed the upgrade profile for moving to 3.0 (that was removing a
    few actions from content types) as it was confusing for developers
    and now also for the quick installer.

2008-05-14 - maurits

  - Do not send task emails when updating the task schema, also when
    not using the (commented out) method in setuphandlers.py.

  - Fixed some bugs around bookings, mostly the detailed bookings view,
    including fixing some test failures.

2008-03-30 - jladage

  - Added 'billableProject' field to the Project content type. A booking
    will set the default value according to the projects value.

  - Extended the month_booking view with percentage of billable work, excluded
    double entries from previous months in total hours and greyed out those
    cells. If the employee booked less than 8 hours a day it's marked red.

2008-02-25 - jladage

  - Refactored the QuickInstaller code to use Install.py again to make sure
    our dependencies are installed correctly. Also move the GS profiles
    of xm.booking and xm.portlets to this profile.

2008-02-25 - mark

  - Change in the iteration workflow so the sharing tab is not shown
    for iterations and all content contained in them.

2008-02-14 - mark and maurits

  - Replaced the macros in the iteration and story views by providers.

2008-01-28 - mark

  - Make the add task KSS form more robust to also cope with a lack of
    assignees.

  - While we're at it: also add portal messages to provide feedback to
    the user when the task is added and when there is no title.

2008-01-21 - mark

  - The offer view has its own browser view class now.

  - In the offer view a story can be edited by a single click on the
    pencil icon. (That is, is the user has the "Modify portal content"
    permission on the stories.)

2008-01-20 - jladage

  - Up till now Customers had 'Delete object' and 'Copy and Move' permission
    with a project. Also the new Offer content type was addable by Customer.
    These security issues are now corrected. To update your site security,
    reinstall the product and hit the "Update security setting" in the
    portal_workflow.

20080-01-14 - mark

  - It is now also possible to directly assign someone to a task when
    using the form at the bottom of the story view.

  - Made several strings in page templates i18n aware.

2008-01-14 - jladage

  - Renamed non_iterations to attachment, because we filter our both
    iterations and offers. Minor changes to the project view, including
    translations

2008-01-11 - joris and mark

  - Additional content type: Offer.
    To bundle all the initial stories when a project starts.

2008-01-02 - maurits

  - Bugfix: no bookings were shown for January in the booking month
    overview.

2007-12-21 - joris

  - Moved the graph option from the config.py to the xm_properties
    and optimistically renamed it project_chart in anticipation of
    more charts

  - Dynamically scale the labels for the y-axis so it shows human
    readable steps like 1, 2, 5, 10, 20, ...

2007-12-12 - joris

  - Added charts to xm tool. Because this is the first release of charts
    they are disabled by default in the code. To enable the graphs, set
    GRAPHS to True in the config.py.

  - There is now one view with a chart: the Project view has a estimated
    hours and worked hours per iteration chart.

2007-12-11 - mark

  - Added a form to the bottom of the story view (using a viewlet) to
    quickly add multiple tasks.

  - Added a budget field to the project content type and show the hours left
    on the iteration view (for open iterations).

2007-10-30 - maurits

  - Bugfix: DST bug in the week/month bookings overview and possibly
    some more.  It adds a good number of tests for that as well.

2007-06-18 - rocky

  - Added UI information to display the reason why a story or task cannot
    be "activated".

  - Task details table refactored to float to the right along with the
    new reason-task-cannot-be-activated details.

  - Replaced assignee username information being displayed on the task view
    with the "nicest" form of the user (ie full name if it exists, otherwise
    username).

  - Replaced booking "booked by" information being displayed on the task view
    with the "nicest" form of the user (ie full name if it exists, otherwise
    username).

2007-05-04 - maurits

  * Merge the mergeable parts of branches/1.2-events:

  - 38656:40204: small start with event handler, big cleanup of tests,
    add testbrowser tests, use IntDisplayList for Task/Booking
    hours/minutes.

  - 40226: only the part of this commit that changes doc/create.txt
    and tests dir: manually fire event.

  - 40256: use e.g. tasks.update(hours=5) instead of other ways to
    update fields, which helps in triggering a reindex.

  - 40417: add property sheet for eXtremeManagement with GenericSetup,
    containing HOURS_PER_DAY and MAXIMUM_NOT_COMPLETED_PERCENTAGE that
    used to be in AppConfig.py

  - 41415:41483: improve the order of the install function and the
    GenericSetup steps, moving functions from that quick installer to
    GS.  Add property send_task_mails to our property sheet, which can
    be set to False when updating the Task schema (which is done
    during install).

2007-05-03 - jladage

  - Cleanup up license headers in all files

  - Removed unused afterInstall and afterUninstall method

  - Updated schema definitions for Customer, CustomerFolder and
    ProjectMember.

  - clean up getattrs for __implements__ of all types

  - Move AppConfig.py code to config.py



2006-05-05 - friessnegger

  - content/story.py
    getRawEstimate was accessing tasks by calling contentValues()
    we also want to allow other content apart from tasks in
    stories so i refactored the code in story
    to use the new method getStoryTasks that is aware of that.

  - skins/getStateSortedContent.py
    set the filter on Story and Task objects, to make a story
    containing other types than tasks beeing displayable.
    since the script is also used in a project to display stories
    i added  story as a type too.


2006-04-06 - friessnegger

  - tools/xmtool.py:
    added filtering capability to ``getFilteredIssues``

  - skins/xm_dashboard.pt
    refactored dashboard using a script rather than the tools-method
    to be able to call it anywhere in the portal and get all issues
    and tasks in the current path.
    dashboard only shows todo issues/tasks ('open', 'in-progress', ...)

2006-03-10 - batlogg, friessnegger

  - added support to assign members out of PAS to tasks

  - refactored Task._get_assignees, Project.getMembers


2005-10-23 - jladage

  - Release 1.0

  - fixed permission

  - fixed workflows



2005-09-23 - jladage

  - Prepared initial release by merging the agx-itegration branch back to trunk.

  - Added tests package and related classed to the model.

  - Wrote more tests for Setup and Content Types.

  - Fixed calculations
