Finding a new Home for ReviewClipse Mario Bernhart, Kilian Matt Vienna University of Technology, Vienna/Austria www.inso.t...
Introduction <ul><li>ReviewClipse (RC) is a poplular free code review plugin for Eclipse, which was created in 2009 at Vie...
Project Scope <ul><li>Mylyn Reviews aims to provide a  task-based  code review plugin for Mylyn </li></ul><ul><li>Main Fea...
Strategy <ul><li>Keep Mylyn Reviews simple and straight-forward for out-of-the-box usage </li></ul><ul><ul><li>E.g. keep t...
Participants <ul><li>Initial Committers: </li></ul><ul><ul><li>Mario Bernhart (INSO) </li></ul></ul><ul><ul><li>Kilian Mat...
About ReviewClipse <ul><li>Eclipse integrated easy to use UI </li></ul><ul><li>Automatically triggered changeset-based rev...
ReviewClipse Screenshot
ReviewClipse Architecture
Transition (Paradigm) <ul><li>Change in the review paradigm: </li></ul><ul><ul><li>ReviewClipse is change-based </li></ul>...
Transition (Storage) <ul><li>General aim still is to manage reviews without the need for a separate review server </li></u...
Architecture of Mylyn Reviews
Major  TODOs <ul><li>Task-change-based reviews (review SCM changes that relate to one task) </li></ul><ul><li>Task-context...
Current State <ul><li>Proposal was accepted 02-2010 </li></ul><ul><ul><li>http://www.eclipse.org/proposals/mylyn-reviews/ ...
Upcoming SlideShare
Loading in …5
×

Eclipsecon2010

2,628 views

Published on

Mylyn Reviews - Finding a new Home for ReviewClipse

1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
2,628
On SlideShare
0
From Embeds
0
Number of Embeds
902
Actions
Shares
0
Downloads
13
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide
  • This slide shows the architecture of RC. The bottom layer shows the centralized Subversion repository, which runs on a subversion server. The next layer in gray describes the Subversion clients from eclipse, this can be Subversive (original provided from Polarion) or Subclipse (from Tigris). The subversion client holds all the information, the username, password, repository URL and so on for the connection to the repository. And they provide usefull libraries for the interaction with the repository, like actions to check the connectivity, methods to submit some modified files or interfaces to get the log entries for a specified timeframe. All layers above the Subversion client represents RC. ReviewClipse uses adapters to connect it to the Subversion client. This adapters have been implemented with an extension point. The extension point cvsadapter is declared in the Core Plug-in. This extension point says that all implementors have to use the interface IVCSAdapter for their implementation. The subversion adapter and subclipse adapter plug-ins implement that interface, those getting a valid extension for the extension point. All the Core Plug-in has to do is to find valid extensions for the declared extension-point and use them. With this architecture we are very flexible, because we can extend the functionality of ReviewClipse without modifying any code from the Base plug-in. If we’d like to make ReviewClipse ready for another VCS, e.a. Git, we make an adapter plug-in, and that’s it.
  • Mylyn Release Review Mylyn Release Review Mylyn Release Review
  • Mylyn Release Review Mylyn Release Review Mylyn Release Review
  • Eclipsecon2010

    1. 1. Finding a new Home for ReviewClipse Mario Bernhart, Kilian Matt Vienna University of Technology, Vienna/Austria www.inso.tuwien.ac.at
    2. 2. Introduction <ul><li>ReviewClipse (RC) is a poplular free code review plugin for Eclipse, which was created in 2009 at Vienna University of Technology </li></ul><ul><li>Presented at ECon09 and ESE09 and downloaded 10.000+ times since ECon09 </li></ul><ul><li>RC is now open-sourced under the EPL and evolve into the Mylyn Reviews project </li></ul><ul><li>Actual RC will be further maintained, but we do not plan for enhancements </li></ul>
    3. 3. Project Scope <ul><li>Mylyn Reviews aims to provide a task-based code review plugin for Mylyn </li></ul><ul><li>Main Features: </li></ul><ul><ul><li>Do code reviews based on Mylyn tasks </li></ul></ul><ul><ul><li>Incorporate the review tasks in the Mylyn task list </li></ul></ul><ul><ul><li>Provide inline-commenting for source code reviews </li></ul></ul><ul><ul><li>Re-use the ReviewClipse SCM connectors </li></ul></ul>
    4. 4. Strategy <ul><li>Keep Mylyn Reviews simple and straight-forward for out-of-the-box usage </li></ul><ul><ul><li>E.g. keep the RC idea of not needing a separate review server </li></ul></ul><ul><li>Act as a base implementation for other review solutions </li></ul><ul><ul><li>E.g. the Gerrit Connector (GSoC 2010) </li></ul></ul><ul><li>Team up with the Mylyn SCM project to build one unified SCM connector type </li></ul>
    5. 5. Participants <ul><li>Initial Committers: </li></ul><ul><ul><li>Mario Bernhart (INSO) </li></ul></ul><ul><ul><li>Kilian Matt (INSO) </li></ul></ul><ul><ul><li>Christoph Mayerhofer (INSO) </li></ul></ul><ul><ul><li>Stefan Strobl (INSO) </li></ul></ul><ul><li>Mentors: </li></ul><ul><ul><li>Mik Kersten </li></ul></ul><ul><ul><li>Chris Aniszczyk </li></ul></ul><ul><li>Interested parties: </li></ul><ul><ul><li>TaskTop </li></ul></ul><ul><ul><li>ReviewClipse project </li></ul></ul><ul><ul><li>Polarion Software (Subversive Team) </li></ul></ul><ul><ul><li>Vienna University of Technology, INSO Group </li></ul></ul><ul><li>Special thanks to Steffen Pingel </li></ul>
    6. 6. About ReviewClipse <ul><li>Eclipse integrated easy to use UI </li></ul><ul><li>Automatically triggered changeset-based reviews </li></ul><ul><li>Assignments of reviewers/authors with filters </li></ul><ul><li>No additional infrastructure: XML/SVN based storage of review data </li></ul><ul><li>Works with Subversive and Subclipse (EGit and CVS implemented but not released) </li></ul><ul><li>Create Mylyn tasks out of (bad) reviews </li></ul>
    7. 7. ReviewClipse Screenshot
    8. 8. ReviewClipse Architecture
    9. 9. Transition (Paradigm) <ul><li>Change in the review paradigm: </li></ul><ul><ul><li>ReviewClipse is change-based </li></ul></ul><ul><ul><li>Mylyn Reviews is task-based </li></ul></ul><ul><li>Why task-based? </li></ul><ul><ul><li>the task is the core element of work </li></ul></ul><ul><ul><li>a task state may serve as trigger for reviews </li></ul></ul><ul><ul><li>a task relates to corresponding items (e.g. list of changesets, the context or an attached patch) which may be scope of one review </li></ul></ul>
    10. 10. Transition (Storage) <ul><li>General aim still is to manage reviews without the need for a separate review server </li></ul><ul><li>Change in the storage type: </li></ul><ul><ul><li>ReviewClipse stores the review data to the SCM </li></ul></ul><ul><ul><li>Mylyn Reviews stores the review data to the task management system </li></ul></ul><ul><li>We are currently investigating the option of storing the data to the SCM or a CDO repository for Mylyn Reviews </li></ul>
    11. 11. Architecture of Mylyn Reviews
    12. 12. Major TODOs <ul><li>Task-change-based reviews (review SCM changes that relate to one task) </li></ul><ul><li>Task-context-based reviews </li></ul><ul><li>Inline commenting (like in the Crucible Conn.) </li></ul><ul><li>Integration of the ReviewClipse SCM Connectors </li></ul><ul><li>Conform and efficient UI </li></ul><ul><li>If you want to participate mailto: [email_address] </li></ul>
    13. 13. Current State <ul><li>Proposal was accepted 02-2010 </li></ul><ul><ul><li>http://www.eclipse.org/proposals/mylyn-reviews/ </li></ul></ul><ul><li>Now in Incubation </li></ul><ul><ul><li>http://eclipse.org/reviews/ </li></ul></ul><ul><li>Prototype of patch-based reviews for ECon2010  DEMO </li></ul>

    ×