Jump to: navigation, search

Difference between revisions of "Mylyn/Activity Tracing For Mylyn"

(Software Architecture / Plugin Structure)
 
(42 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
This is the wiki page for the [http://www.google-melange.com/gsoc/homepage/google/gsoc2012 GSOC]2012 project [http://www.google-melange.com/gsoc/project/google/gsoc2012/budili/27001 Activity Tracing for Mylyn]. <br><br>
 
This is the wiki page for the [http://www.google-melange.com/gsoc/homepage/google/gsoc2012 GSOC]2012 project [http://www.google-melange.com/gsoc/project/google/gsoc2012/budili/27001 Activity Tracing for Mylyn]. <br><br>
'''Student''': Timur Achmetow <br>
+
'''Student''': Timur A.<br>
 
'''Mentor''': Steffen Pingel <br>
 
'''Mentor''': Steffen Pingel <br>
 
Bug ID: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=376233 BUG 376233] / [https://bugs.eclipse.org/bugs/show_bug.cgi?id=355974 BUG 355974]
 
Bug ID: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=376233 BUG 376233] / [https://bugs.eclipse.org/bugs/show_bug.cgi?id=355974 BUG 355974]
Line 23: Line 23:
 
[[Image:Mookup.png]]  
 
[[Image:Mookup.png]]  
  
<br> First implemenation of the TableViewer:<br>
+
== Prototype  ==
[[Image:new_task_editor.png]]
+
 
 +
Current prototype is integrated in the Task Editor. A new tab extend the task editor for the activity tracing informations.<br>  
 +
The TreeViewer shows at the moment the following informations:
 +
#'''commit data''': commit message, author, date, changed files
 +
#'''build data''': build project, build status, test summary, build date
 +
#'''review data''': task id, author, summary, date
 +
[[Image:task_editor_commits_builds_reviews.png]]
  
 
== Software Architecture / Plugin Structure  ==
 
== Software Architecture / Plugin Structure  ==
For this project I have created a new plugin named "org.eclipse.mylyn.activity.ui" which have the following dependencies:
+
For this project I have created two new plugins named '''o.e.m.tasks.activity.core''' and '''o.e.m.tasks.activity.ui''' which have the following dependencies:<br>
[[Image:activity_dependencies.png]]
+
[[Image:Plugin_Dependencies.png]]
  
 
== ToDos  ==
 
== ToDos  ==
  
*extend the comment stream for additional informations: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=376233 BUG 376233] <br>- commits<br>- builds<br>- reviews<br>
+
*extend the Task Editor for additional informations: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=376233 BUG 376233] <br>- commits (shows the author, date, message, changed files)<br>- builds (shows the build status, build summary, build timestamp)<br>- reviews (shows the task id, author, date, summary )<br>
  
  
 
*create a mookup for this data: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378001 BUG 378001]  
 
*create a mookup for this data: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378001 BUG 378001]  
 
*software/plugin design for this project: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=382115 BUG 382115]
 
*software/plugin design for this project: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=382115 BUG 382115]
*get the additional informations from the workspace: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378002 BUG 378002]<br>- EGit repo model: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378097 BUG 378097] / [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380584 Bug 380584] / [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380843 Bug 380843] <br>- Gerrit data model: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378101 BUG 378101]<br>- Hudson data model<br><br>
+
*define data model for task activity records: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=382788 BUG 382788] / [https://git.eclipse.org/r/#/c/6910/ Gerrit Review ]
 +
*get the additional informations from the workspace: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378002 BUG 378002]<br>- EGit repo model: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378097 BUG 378097] / [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380584 Bug 380584] / [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380843 Bug 380843] <br>- Gerrit data model: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378101 BUG 378101]<br>- Hudson data model: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=383020 BUG 383020]<br><br>
  
  
*integrate a tableviewer in the comment stream: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378003 BUG 378003] / Result: [https://git.eclipse.org/r/#/c/6265/ Gerrit Review]<br>- show the commit informations in the tableviewer: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378005 BUG 378005]<br>- extend the tableviewer for additional review data [https://bugs.eclipse.org/bugs/show_bug.cgi?id=382100 BUG 382100]<br>- extend the tableviewer for additional build data<br>  
+
*integrate a tableviewer in the comment stream: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378003 BUG 378003] / Result: [https://git.eclipse.org/r/#/c/6265/ Gerrit Review1] / [https://git.eclipse.org/r/#/c/6926/ Gerrit Review2]<br>- show the commit informations in the tableviewer: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378005 BUG 378005] / Result: [https://git.eclipse.org/r/#/c/6520/ Gerrit Review]<br>- extend the tableviewer for additional review data [https://bugs.eclipse.org/bugs/show_bug.cgi?id=382100 BUG 382100] / Result: [https://git.eclipse.org/r/#/c/6589/ Gerrit Review] <br>- extend the tableviewer for additional build data [https://bugs.eclipse.org/bugs/show_bug.cgi?id=383023 BUG 383023] / Result: [https://git.eclipse.org/r/#/c/6545/ Gerrit Review]<br>  
*embed the additional data in the comment stream (task editor)
+
*tree viewer enhancements: <br>- sort records chronologically [https://bugs.eclipse.org/bugs/show_bug.cgi?id=384984 BUG 384984] <br>- open selected record in associated view [https://bugs.eclipse.org/bugs/show_bug.cgi?id=384985 BUG 384985]
 +
 
 +
== Contributions  ==
 +
 
 +
Here are my finished contributions, the changes are already in the Mylyn repositories.
 +
 
 +
* extend the Task Editor through a new section which contains an empty tree viewer: [https://git.eclipse.org/r/#/c/6910/ Gerrit review]
 +
* add activity provider for related tasks such as Gerrit reviews: [https://git.eclipse.org/r/#/c/7008/ Gerrit review]
 +
* add activity provider for related tasks such as Changes sets [coming soon]
 +
* add activity provider for related tasks such as Changes sets [coming soon]
  
 
== Milestones  ==
 
== Milestones  ==
Line 68: Line 84:
 
| July 15, 2012  
 
| July 15, 2012  
 
| align="left" | Mid term: Show commit information in task editor  
 
| align="left" | Mid term: Show commit information in task editor  
| In Progress
+
| Finished
 
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378097 BUG 378097] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380584 BUG 380584]<br> [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380843 BUG 380843] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378003 BUG 378003]<br> [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378005 BUG 378005]
 
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378097 BUG 378097] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380584 BUG 380584]<br> [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380843 BUG 380843] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378003 BUG 378003]<br> [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378005 BUG 378005]
 
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
Line 74: Line 90:
 
| July 30, 2012  
 
| July 30, 2012  
 
| align="left" | Show builds and code reviews in the task editor  
 
| align="left" | Show builds and code reviews in the task editor  
| TBD
+
| Finished
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378101 BUG 378101] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=382100 BUG 382100]
+
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=378101 BUG 378101] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=382100 BUG 382100] <br>
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=383020 BUG 383020]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=383023 BUG 383023]<br>
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=384984 BUG 384984]
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=384985 BUG 384985]
 
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 
! M5  
 
! M5  
| August 13, 2012
 
| align="left" | Embed activity data in the comment stream
 
| TBD
 
| N/A
 
|- style="background: lightgrey none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"
 
! M6
 
 
| August 20, 2012  
 
| August 20, 2012  
 
| align="left" | Pencils down: Documentation complete  
 
| align="left" | Pencils down: Documentation complete  
| TBD
+
| Finished
 
| N/A
 
| N/A
 
|}
 
|}

Latest revision as of 15:02, 18 April 2013

This is the wiki page for the GSOC2012 project Activity Tracing for Mylyn.

Student: Timur A.
Mentor: Steffen Pingel
Bug ID: BUG 376233 / BUG 355974

About

The Mylyn task editor is the hub for task-focused collaboration. Yet, there are many other artifacts and activities that are part of the development workflow that are visualized in different views in the IDE. A unified activity view that aggregates tasks, builds, reviews and commits either in a dashboard or embedded in the task editor would nicely enhance traceability and visibility.

This additional data could show for example in the task editor or in a dashboard (new view). The new view helps the user to trace the selected tasks. One use case for this view could be, show the files, which are changed with the last commit. So the user have later the possibility to see, which files with this task are changed. Similar use cases are the build and review traces, who the user want see, if the selected task have an association with the build server task or a finished review task. So can die developer see, which changes have broken the build. With these additional data the task editor gets more connection to other developer tools.

Details

Implementation steps:

  1. Show the commit informations in a TableViewer, which is embedded in the task editor.
  2. Extend the Tableviewer for the additional build and review data. The TableViewer displays now all needed data.
  3. Embed the additional data in the comment stream (task editor).
  4. Optional: Dashboard, which aggregates data about several tasks.

Mockup

Mookup.png

Prototype

Current prototype is integrated in the Task Editor. A new tab extend the task editor for the activity tracing informations.
The TreeViewer shows at the moment the following informations:

  1. commit data: commit message, author, date, changed files
  2. build data: build project, build status, test summary, build date
  3. review data: task id, author, summary, date

Task editor commits builds reviews.png

Software Architecture / Plugin Structure

For this project I have created two new plugins named o.e.m.tasks.activity.core and o.e.m.tasks.activity.ui which have the following dependencies:
Plugin Dependencies.png

ToDos

  • extend the Task Editor for additional informations: BUG 376233
    - commits (shows the author, date, message, changed files)
    - builds (shows the build status, build summary, build timestamp)
    - reviews (shows the task id, author, date, summary )



Contributions

Here are my finished contributions, the changes are already in the Mylyn repositories.

  • extend the Task Editor through a new section which contains an empty tree viewer: Gerrit review
  • add activity provider for related tasks such as Gerrit reviews: Gerrit review
  • add activity provider for related tasks such as Changes sets [coming soon]
  • add activity provider for related tasks such as Changes sets [coming soon]

Milestones

Milestone Date Items Status Bugzilla Entry
M1 May 01, 2012 Studying the documentation and existing code and prepare toolchain Finished BUG 196788 BUG 187698
BUG 197924 BUG 198004
BUG 336298 BUG 340794
BUG 355973 BUG 355015
M2 May 20, 2012 Create a design and mockup Finished BUG 378001
M3 July 15, 2012 Mid term: Show commit information in task editor Finished BUG 378097 BUG 380584
BUG 380843 BUG 378003
BUG 378005
M4 July 30, 2012 Show builds and code reviews in the task editor Finished BUG 378101 BUG 382100

BUG 383020 BUG 383023
BUG 384984 BUG 384985

M5 August 20, 2012 Pencils down: Documentation complete Finished N/A

Related Links

[1] Mylyn Restructuring
[2] Mylyn Contributor Reference
[3] Mylyn User Guide
[4] Tasktop Blog
[5] Related Task