upiq / uu.task

Task management add-on for Plone
0 stars 1 forks source link

Define "UU Task Planner" content type functionality #9

Closed aclark4life closed 9 years ago

aclark4life commented 9 years ago

Relevant comment from @seanupton

Our "Task planner" type (and other folderish types that would use similar behavior, such as UPIQ's
"Form Series" type) is a different case. The outermost container is not a complete task, but may
contain some fields/state, views common to tasks (shared configuration for contained tasks for
due-rules, notification-rules, common assigned-parties). Tasks containing other tasks are
non-sequitur to this (this is just a schema DRY/re-use problem, IMHO).
aclark4life commented 9 years ago

Got it, thanks. So if I understand correctly: we'll still be adding a "Task planner" type to uu.task with the features you describe. And we'll leave UUTask folder-ish unless UI/UX becomes too problematic.

seanupton commented 9 years ago

Agreed.

The biggest challenge for "task planner" (since it is just a dumb folder with some fields and a view) is figuring out which schema fields are shared between task and planner, and making sure our behavior interfaces reflect that (with some kind of sane inheritance hierarchy).

For task nesting, we can punt on worrying about any UX issues for the moment, they are not a high priority (and they can be solved in such a way in the future that allows the type to still be folderish).

aclark4life commented 9 years ago

@seanupton Can you make a list here of some tentative fields to share between task and planner? I'll get started adding them and thinking about sharing. Thanks

seanupton commented 9 years ago

Short version: assigned principal(s) plus everything listed in the view mock (except/minus the top line of specific due date/time, which is only sensible for a specific event, not a group/series of them): https://github.com/upiq/uu.task/blob/master/doc/due-notification-rules.png

aclark4life commented 9 years ago

@garbas Fields to share between Task Planner and contained Tasks are loosely defined here.

aclark4life commented 9 years ago

This is done via IInheritParentValue marker interface defined here: https://github.com/upiq/uu.task/blob/master/uu/task/interfaces.py#L84 and used here: