Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Mylyn/Reviews/Reviews Convergence 2013"

(New page: Place holder)
 
(Background)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
Place holder
+
{{tip|Sponsored Development|This work is developed by [http://tasktop.com Tasktop Technologies] in association with [http://www.ericsson.com/ Ericsson] and sponsored by [http://www.ericsson.com/ Ericsson].}}
 +
 
 +
 
 +
== Background ==
 +
 
 +
The goal of this work is to further converge Reviews and R4E while maintaining and enriching each approach. We'll be improving the Gerrit connector and also supporting a new R4E review type that fully integrates with the Gerrit review process, while preserving model extensibility to support richer R4E features.
 +
 
 +
The most important aspect of this effort for the first half of 2013 will be engineering the underlying technologies needed to support a common UI, persistence, and core model infrastructure, based on appropriate EMF based-technologies.
 +
 
 +
== Architecture ==
 +
 
 +
This section provides an initial "straw person" high-level design view of the proposed architecture.
 +
 
 +
[[Image:MylynReviewsArchitecture1.jpg|frame|center|Current Architecture]]
 +
 
 +
[[Image:MylynReviewsArchitectureInterim.jpg|frame|center|Interim Architecture]]
 +
 
 +
[[Image:MylynReviewsProposedArchitecture3.jpg|frame|center|Proposed Architecture]]
 +
 
 +
===Key===
 +
 
 +
;Purple
 +
: Mylyn Components
 +
;Blue
 +
: Gerrit UI Components
 +
;Green
 +
: EMF-Based Components 
 +
;Orange
 +
: External Components
 +
;Gray
 +
: Future Components
 +
 
 +
;Cylinders
 +
: Data/Model Stores
 +
;Squares
 +
: API Components
 +
;Squares (Burved Bottom)
 +
: UI Components
 +
 
 +
===Discussion===
 +
 
 +
== Deliverables ==
 +
 
 +
# Common UI {{StoryLink|Update Gerrit Editor for Model Changes}}  '''0.0 / 4.0'''
 +
## Common Editor Support {{StoryLink|Create Reviews EMF Edit Model}}  {{StoryLink|Migrate Model Code to EMF Edit}} {{Bug|400169}}{{Bug|399700}} '''0.0 / 1.5'''
 +
## Improve Gerrit Task Editor {{StoryLink|Update Gerrit Editor for Model Changes}}  '''0.0 / 0.5'''
 +
# Common Edit Framework '''0.0 / 22.0'''
 +
## Implement EMF Edit support; migrate R4E and Gerrit  {{EpicLink|Reviews Edit Framework}}  {{StoryLink|Create Reviews EMF Edit Model}}  {{StoryLink|Migrate Model Code to EMF Edit}}  {{StoryLink|Support Shared Models}}  {{StoryLink|Share Review Models}}  {{StoryLink|Model Update Notification}}  {{StoryLink|Manage Review Models}} {{Bug|395646}}{{Bug|394020}}{{Bug|399700}}{{Bug|394020}}{{Bug|394020}}{{Bug|400169}}{{Bug|399700}} '''0.0 / 7.0'''
 +
## UI Synchronization and Concurrency support {{EpicLink|UI Synchronization and Concurrency}}  '''0.0 / 4.0'''
 +
# Remote Reviews API '''0.0 / 8.0'''
 +
## Design Generic EMF-based Remote API  {{EpicLink|Remote API}}  {{StoryLink|Generic Remote API}} {{Bug|400167}} '''0.0 / 1.0'''
 +
## Remote API implementation for Gerrit connector  {{StoryLink|Submit Model to Gerrit}}  {{StoryLink|Update Model from Gerrit}} {{Bug|394020}}{{Bug|384770}}{{Bug|344087}} '''0.0 / 3.0'''
 +
 
 +
 
 +
==Stories==
 +
 
 +
{{Epic
 +
|name=UI Synchronization and Concurrency
 +
|stories=
 +
{{UserStory
 +
|name=Prevent Concurrency Errors
 +
|text=All changes to Reviews whether driven from user interface or Reviews UI take place without concurrency related failures.
 +
|bugs=
 +
}}
 +
 
 +
{{UserStory
 +
|name=Fail on Long-Running UI Changes
 +
|text=Poorly behaved model edits are handled gracefully.
 +
|bugs=
 +
}}
 +
 
 +
{{UserStory
 +
|name=UI Editing and Updating Performance
 +
|text=All Review interaction is performant under all usage scenarios.
 +
|bugs=
 +
}}
 +
 
 +
{{UserStory
 +
|name=Batch Changes
 +
|text=Large Jobs (such as Gerrit based model updates) can be managed without interfering with UI or other model behavior.
 +
|bugs=
 +
}}
 +
 
 +
{{UserStory
 +
|name=Improve Cache Set Caching
 +
|text=null
 +
|bugs={{Bug|389944}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Specify Concurrency Model
 +
|text=Discuss and test alternatives for sychronization/concurrent updating.
 +
|bugs={{Bug|332589}}
 +
}}
 +
 
 +
}}
 +
 
 +
{{Epic
 +
|name=Reviews Edit Framework
 +
|stories=
 +
{{UserStory
 +
|name=Create Reviews EMF Edit Model
 +
|text=Implement Initial EMF based model.
 +
|bugs=
 +
}}
 +
 
 +
{{UserStory
 +
|name=Migrate Model Code to EMF Edit
 +
|text=All complex model changes should be mediated through EMF edit changes within Item Providers, ensuring that any model changes preserve model integrity.
 +
|bugs={{Bug|399700}}{{Bug|400169}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Support Shared Models
 +
|text=null
 +
|bugs={{Bug|394020}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Share Review Models
 +
|text=Provide API for accessing one and only one model for each review from Eclipse workbench.
 +
|bugs={{Bug|394020}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Model Update Notification
 +
|text=Interested listeners (e.g. open review editors, review navigator) are notified when model elements have changed.
 +
|bugs={{Bug|399700}}{{Bug|395646}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Manage Review Models
 +
|text=Provide a mechanism for caching, updating and disposing of stale reviews. This may be managed in EMF by having a single large model containing all elements, or perhaps by storing the reviews separately.
 +
|bugs={{Bug|394020}}
 +
}}
 +
 
 +
}}
 +
 
 +
{{Epic
 +
|name=Remote API
 +
|stories=
 +
{{UserStory
 +
|name=Submit Model to Gerrit
 +
|text=null
 +
|bugs={{Bug|384770}}{{Bug|344087}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Update Model from Gerrit
 +
|text=null
 +
|bugs={{Bug|394020}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Differ Model Reads
 +
|text=Support deferring reads until the actual model elements are needed, with a generic interface for requesting these at a more granular level.
 +
|bugs={{Bug|394020}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Generic Remote API
 +
|text=null
 +
|bugs={{Bug|400167}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Gerrit Remote API
 +
|text=Implement Remote API for Gerrit.
 +
|bugs={{Bug|400168}}
 +
}}
 +
 
 +
}}
 +
 
 +
{{Epic
 +
|name=Improve Editor
 +
|stories=
 +
{{UserStory
 +
|name=Show Comment Annotations in Compare Overview
 +
|text=null
 +
|bugs={{Bug|383151}}
 +
}}
 +
 
 +
{{UserStory
 +
|name=Update Gerrit Editor for Model Changes
 +
|text=null
 +
|bugs=
 +
}}
 +
 
 +
}}

Latest revision as of 01:17, 7 February 2013

Idea.png
Sponsored Development
This work is developed by Tasktop Technologies in association with Ericsson and sponsored by Ericsson.


Background

The goal of this work is to further converge Reviews and R4E while maintaining and enriching each approach. We'll be improving the Gerrit connector and also supporting a new R4E review type that fully integrates with the Gerrit review process, while preserving model extensibility to support richer R4E features.

The most important aspect of this effort for the first half of 2013 will be engineering the underlying technologies needed to support a common UI, persistence, and core model infrastructure, based on appropriate EMF based-technologies.

Architecture

This section provides an initial "straw person" high-level design view of the proposed architecture.

Current Architecture
Interim Architecture
Proposed Architecture

Key

Purple
Mylyn Components
Blue
Gerrit UI Components
Green
EMF-Based Components
Orange
External Components
Gray
Future Components
Cylinders
Data/Model Stores
Squares
API Components
Squares (Burved Bottom)
UI Components

Discussion

Deliverables

  1. Common UI Update Gerrit Editor for Model Changes Plan 0.0 / 4.0
    1. Common Editor Support Create Reviews EMF Edit Model Plan Migrate Model Code to EMF Edit Plan bug 400169bug 399700 0.0 / 1.5
    2. Improve Gerrit Task Editor Update Gerrit Editor for Model Changes Plan 0.0 / 0.5
  2. Common Edit Framework 0.0 / 22.0
    1. Implement EMF Edit support; migrate R4E and Gerrit Reviews Edit Framework Create Reviews EMF Edit Model Plan Migrate Model Code to EMF Edit Plan Support Shared Models Plan Share Review Models Plan Model Update Notification Plan Manage Review Models Plan bug 395646bug 394020bug 399700bug 394020bug 394020bug 400169bug 399700 0.0 / 7.0
    2. UI Synchronization and Concurrency support UI Synchronization and Concurrency 0.0 / 4.0
  3. Remote Reviews API 0.0 / 8.0
    1. Design Generic EMF-based Remote API Remote API Generic Remote API Plan bug 400167 0.0 / 1.0
    2. Remote API implementation for Gerrit connector Submit Model to Gerrit Plan Update Model from Gerrit Plan bug 394020bug 384770bug 344087 0.0 / 3.0


Stories

UI Synchronization and Concurrency
Prevent Concurrency Errors
All changes to Reviews whether driven from user interface or Reviews UI take place without concurrency related failures.
Plan
Fail on Long-Running UI Changes
Poorly behaved model edits are handled gracefully.
Plan
UI Editing and Updating Performance
All Review interaction is performant under all usage scenarios.
Plan
Batch Changes
Large Jobs (such as Gerrit based model updates) can be managed without interfering with UI or other model behavior.
Plan
Improve Cache Set Caching
null
Plan bug 389944
Specify Concurrency Model
Discuss and test alternatives for sychronization/concurrent updating.
Plan bug 332589
Reviews Edit Framework
Create Reviews EMF Edit Model
Implement Initial EMF based model.
Plan
Migrate Model Code to EMF Edit
All complex model changes should be mediated through EMF edit changes within Item Providers, ensuring that any model changes preserve model integrity.
Plan bug 399700bug 400169
Support Shared Models
null
Plan bug 394020
Share Review Models
Provide API for accessing one and only one model for each review from Eclipse workbench.
Plan bug 394020
Model Update Notification
Interested listeners (e.g. open review editors, review navigator) are notified when model elements have changed.
Plan bug 399700bug 395646
Manage Review Models
Provide a mechanism for caching, updating and disposing of stale reviews. This may be managed in EMF by having a single large model containing all elements, or perhaps by storing the reviews separately.
Plan bug 394020
Remote API
Submit Model to Gerrit
null
Plan bug 384770bug 344087
Update Model from Gerrit
null
Plan bug 394020
Differ Model Reads
Support deferring reads until the actual model elements are needed, with a generic interface for requesting these at a more granular level.
Plan bug 394020
Generic Remote API
null
Plan bug 400167
Gerrit Remote API
Implement Remote API for Gerrit.
Plan bug 400168
Improve Editor
Show Comment Annotations in Compare Overview
null
Plan bug 383151
Update Gerrit Editor for Model Changes
null
Plan

Back to the top