Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 382115

Summary: [discussion] plugin design/structure for the activity tracing project
Product: z_Archived Reporter: Timur Achmetow <achmetow84>
Component: MylynAssignee: Steffen Pingel <steffen.pingel>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: steffen.pingel
Version: unspecified   
Target Milestone: 3.9   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Bug Depends on:    
Bug Blocks: 376233    
Attachments:
Description Flags
extended task editor
none
Dependencies of the new plugin
none
plugin dependencies none

Description Timur Achmetow CLA 2012-06-08 11:15:31 EDT
From Steffen Pingel:
We should discuss the best location for a generic task mapping and potential cache to retain that information. Since we want to leverage the information within Tasks it seems that we need to provide some framework in o.e.m.tasks for tracking task related information such as change sets. I wouldn't want to limit the cache to change sets but we could use that as a driver for the initial version of the API.

From Timur Achmetow:
In my opinion we have 3 different options:
1. stay the code in o.e.m.tasks.ui (problems with dependencies)
2. move to code to o.e.m.versions (limited to change sets)
3. create new bundles for the activity part (sounds good to me)
Comment 1 Timur Achmetow CLA 2012-06-11 16:53:38 EDT
I want to list here the needed dependencies for this project. 

For the GIT commits (task 378097) I need the following plugins: 
- o.e.m.versions.core
- o.e.m.versions.tasks.core
- o.e.m.versions.tasks.mapper.generic

For the Gerrit review (task 378101) data:
- o.e.m.tasks.core
- o.e.m.tasks.index.core

If I would create a new plugin, then both features need the task ui plugin:
- o.e.m.tasks.ui
Comment 2 Timur Achmetow CLA 2012-06-12 17:20:17 EDT
As a first step we could create a new plugin with the above dependencies. 
This should work. 

It is possible to extend the Task Editor from another plugins?
For example: Extend the Task Editor through a new section?

If not, in the first step, we could extend the Task Editor throug a new tab,
like "Context" or "BugZilla".
Comment 3 Timur Achmetow CLA 2012-06-14 17:18:18 EDT
Created attachment 217388 [details]
extended task editor

In the screenshot you will see the current task editor, which I have extend through a new tab (Activity).
Comment 4 Timur Achmetow CLA 2012-06-16 05:45:06 EDT
Created attachment 217457 [details]
Dependencies of the new plugin

In the figure the dependencies are shown.
Comment 5 Steffen Pingel CLA 2012-06-16 07:55:35 EDT
The idea of this looks very good. I think we should consider extensibility right from the get go though use an extension point to separate some of the dependencies. Here is my suggestion:

o.e.m.tasks.activity.core
- data model for activity records (i.e. an event that is associated with a task)
- cache for activity records (future)
- core extension for activity providers

o.e.m.tasks.activity.ui
- Task Editor contribution
- Label providers etc.
- ui extension for activity providers (future)

The tasks bundles should only have dependencies on commons and tasks. The changes sets that are provided by o.e.m.versions.tasks... would be contributed through the extension point. This would enable other providers such as task repositories to contribute that information as well.
Comment 6 Timur Achmetow CLA 2012-06-17 18:07:35 EDT
Okay ... the idea with core and ui makes absolutely sense!
In which Repo I have to upload the bundles? Tasks?
Comment 7 Steffen Pingel CLA 2012-06-18 01:59:20 EDT
If we agree on the structure I'll go ahead an create the bundles in the tasks repository and then you can create patches against them.
Comment 8 Timur Achmetow CLA 2012-06-18 18:15:01 EDT
Okay, if nobody has objections please create the bundles in the tasks repo and I would push my changes to Gerrit.
Comment 9 Steffen Pingel CLA 2012-06-21 17:42:37 EDT
I have added both bundles to the org.eclipse.mylyn.tasks repository in master.
Comment 10 Timur Achmetow CLA 2012-06-21 17:57:11 EDT
(In reply to comment #9)
> I have added both bundles to the org.eclipse.mylyn.tasks repository in master.

Oh yes great! Thank you!
Comment 11 Timur Achmetow CLA 2012-06-29 19:07:39 EDT
Created attachment 218117 [details]
plugin dependencies

in the screenshot are the current plugin dependencies shown.
Comment 12 Steffen Pingel CLA 2012-06-30 07:54:54 EDT
I like the visual appearance and this looks like the data that we want to show in the table. I was however thinking that each build would be it's own row and all records to be sorted chronologically. The goal being that if I submit a change set I would see the build triggered by that in the row below intermixed with comments on the task and code reviews etc.
Comment 13 Timur Achmetow CLA 2012-06-30 08:21:25 EDT
(In reply to comment #12)
> all records to be sorted chronologically. 

Okay, no problem. 

(In reply to comment #12)
> I was however thinking that each build would be it's own row and
> all records to be sorted chronologically. The goal being that if I submit a
> change set I would see the build triggered by that in the row below intermixed
> with comments on the task and code reviews etc.

Hm ... can you give me an example?
Comment 14 Steffen Pingel CLA 2012-06-30 12:45:17 EDT
Sorry, mixed up the bugs. I responded on bug 383023.
Comment 15 Steffen Pingel CLA 2012-07-15 17:33:36 EDT
I think we have converged on the basics: The o.e.m.tasks.activity.core/ui bundles will provide the activity framework with caching and extensibility for activity providers (bug 385127).