Community
Participate
Working Groups
The ITask interface exposes all state of a task. Some of it is managed locally by the tasks framework whereas other parts are managed by connectors and populated from a task repository. It could be helpful to improve the way the API communicates which parts are managed by which entity. Bug 229487 suggests to decompose ITask into three interfaces: // managed by TaskDataManger ISynchronizationState { - synchronization state - synchronization status - last synchronization date - mark read pending } // managed by the user locally IPlanningState { - tags - scheduled date - due date - estimate - elapsed time } // managed by the connector IRepositoryState { - summary - due date - estimate - owner - reporter - creation date - modification date - completion date - task kind - priority - stale - extended attributes } Some attributes would be duplicated between IRepositoryState and IPlanningState. This would allow a user to override repository settings, e.g. for setting a local due date that does not match the repository due date or for setting a due date for tasks that do not have a repository due date.
A related discussion can be found on bug 204751 .
We need to review this in time for 3.0.
This is a major change and we are already behind the 3.0 schedule. I think we need to start focusing on stabilizing ASAP and consider this change for the next major API revision.
We have decided that repository state is primary, and synchronization state already seems sufficiently elegant. What remains is extracting the IPlanningState, and thankfully that's all internal at this point.
Mylyn has been restructured, and our issue tracking has moved to GitHub [1]. We are closing ~14K Bugzilla issues to give the new team a fresh start. If you feel that this issue is still relevant, please create a new one on GitHub. [1] https://github.com/orgs/eclipse-mylyn