Skip to content

upiq/uu.task

Repository files navigation

uu.task: UPIQ Task Management Add-on for Plone

This repository serves as a location for development of the uu.task task management add-on for Plone.

Introduction

uu.task provides configurable, effective task-related email notifications to assigned parties. It provides features:

  1. for project managers to configure and assign content items e.g. forms & events as tasks with due dates
  2. for assigned parties to receive email notification about tasks at specific times
  3. for assigned parties to communicate task status to project managers and set notification preferences

Content Types

uu.task adds two new content types to your Plone site:

  • Task
  • Task Planner

image

Demonstration

A demontration site is available here:

Similar Add-ons

uu.task is inspired by similar add-ons. Here is a comparison of each.

Add-ons

Description

Pros

Cons

Products.Poi Venerable AT-based issue tracker. Includes workflow for issue tracker and task. N/A N/A
collective.project Project management add-on whose Dexterity content types can behave like a collective.task task. E.g. "project", "client", "iteration". "Task" content type included with collective.project cannot be used with collective.task due to conflicting "task" types. N/A N/A
collective.task

Supports "placeful" tasking. A task is+ a folder that can contain other (presumably dependent) tasks. +

It exists.

---------------------------------------+

Allows assignment of task to group, user and "enquirer".

---------------------------------------+

Includes "task" behavior which can be used by other Dexterity content.

---------------------------------------+

Can be used as a task framework by other add-ons.

---------------------------------------+

---------------------------------------+

Supports "placeful" tasking.

---------------------------------------+

No date widget.

---------------------------------------+

Possibly no support for assignment of more than one principal.

---------------------------------------+

---------------------------------------+

---------------------------------------+

Developers

Development environment with Nix1

  1. Install Nix:

    $ curl https://nixos.org/nix/install | bash
  2. Clone uu.task:

    $ git clone https://github.com/upiq/uu.task
  3. Enter environment:

    $ cd uu.task
    $ nix-shell

How to use ITaskAccessor

> from uu.task.interfaces import ITaskAccessor
> task = ITaskAccessor(context)

> print context.due  # raw value
{ ... }

> print task.due     # computed value
<datetime ...>

Testing

Developers please run make test before committing changes.

$ make test
check-manifest
lists of files in version control and sdist match
pyroma .
------------------------------
Checking .
Found uu.task
------------------------------
Final rating: 10/10
Your cheese is so fresh most people think it's a cream: Mascarpone
------------------------------
flake8 uu/task/*.py
flake8 uu/task/
bin/test -s uu.task -v
Running tests at level 1
Running uu.task.testing.UUTaskFixture:Integration tests:
  Set up plone.testing.zca.LayerCleanup in 0.000 seconds.
  Set up plone.testing.z2.Startup in 0.426 seconds.
  Set up plone.app.testing.layers.PloneFixture in 11.991 seconds.
  Set up uu.task.testing.UUTaskFixture in 1.465 seconds.
  Set up uu.task.testing.UUTaskFixture:Integration in 0.000 seconds.
  Running:

  Ran 2 tests with 0 failures and 0 errors in 0.028 seconds.
Tearing down left over layers:
  Tear down uu.task.testing.UUTaskFixture:Integration in 0.000 seconds.
  Tear down uu.task.testing.UUTaskFixture in 0.003 seconds.
  Tear down plone.app.testing.layers.PloneFixture in 0.083 seconds.
  Tear down plone.testing.z2.Startup in 0.005 seconds.
  Tear down plone.testing.zca.LayerCleanup in 0.002 seconds.
viewdoc

Contributors

All content within this repository, unless otherwise noted elsewhere, is Copyright 2015, University of Utah.

Original works in this package are licensed under the GNU General Public License v. 2.0. All original images, documentation, style-sheets, and JavaScript assets are additionally licensed under an MIT-style license.

See doc/COPYING.txt


  1. Tested on Linux