Background
The goal of this work is to further converge the REviews and R4E while maintaining the current unique features of R4E and the current stand-alone Gerrit connector. Tasktop will be supporting the R4E team in supporting a R4E review type that fully integrates with the Gerrit review process, to enhance Gerrit UI, and to provide UI and model extensibility supporting richer R4E features.
The most important aspect in 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
- Common UI Update Gerrit Editor for Model Changes Plan
- Common Editor Support
- Improve Gerrit Task Editor Update Gerrit Editor for Model Changes Plan
- Common Edit Framework
- Implement EMF Edit support; migrate R4E and Gerrit Reviews Edit Framework
- UI Synchronization and Concurrency support UI Synchronization Framework
- Remote Reviews API
- Design Generic EMF-based Remote API Remote API for Gerrit Design Generic Remote API Plan
- Remote API implementation for Gerrit connector Submit Model to Gerrit Plan Update Model from Gerrit Plan bug 394020bug 384770
Stories
UI Synchronization Framework
|
Prevent Concurrency Errors
|
Users are able to use Reviews without concurrency related failures
|
Plan
|
|
Fail on Long-Running UI Changes
|
Poorly behaved model edits are handled gracefully.
|
Plan
|
|
Edit 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
|
|
|
Reviews Edit Framework
|
Create REviews EMF Edit Model
|
null
|
Plan
|
|
|
Remote API for Gerrit
|
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
|
Share Review Models
|
Provide API for accessing one and only one model for each review from Eclipse workbench.
|
Plan
|
bug 394020
|
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
|
Model Update Notification
|
Interested listeners (e.g. open review editors, review navigator) are notified when model elements have changed.
|
Plan
|
bug 399700bug 395646
|
Design Generic Remote API
|
null
|
Plan
|
|
|
Improve Editor
|
Update Gerrit Editor for Model Changes
|
null
|
Plan
|
|
|