| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <title>Team 3.0</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| </head> |
| |
| <body> |
| <h1>Team 3.0 </h1> |
| <p><strong>Disclaimer</strong>: This document does not represent a commitment |
| to pursue any of the below mentioned areas. It is a draft of potential future |
| areas of focus for the Eclipse Team component.</p> |
| <h2>Long Term Goals</h2> |
| <p>Here is a summary of the areas that Team is focusing on for 3.0.</p> |
| <ul> |
| <li>Provide the level of control over resource management required by repository |
| providers.</li> |
| <li>Provide UI support to enable repository providers to integrate well into |
| Eclipse.</li> |
| <li>Ongoing support of CVS but no major developement</li> |
| <li>Support other Team related funtionality such as target management?</li> |
| </ul> |
| <p>The following sections describe each of these areas in more detail.</p> |
| <h3>Resource Control for Repository Providers</h3> |
| <p>Different repository providers desire different levels of control over version |
| controlled resources. Currently, there are several facilities that provide a |
| certain degree of provider control (e.g. move/delete hook, file modification |
| validator, team-private, phantoms). This is a rather piecemeal approach that |
| still does not provide enough control (e.g. copy sementics, missed deltas). |
| These facilities should be consolodated and should provide the repository provider |
| with the level of control they require to work optimally.</p> |
| <p>Here is a list of some of the known problem areas that should be addressed |
| by work in this area:</p> |
| <ul> |
| <li>copy sematics (akin to move/delete control already provided)</li> |
| <li>session and persistant property management</li> |
| <li>permissions</li> |
| <li>integration of local history and remote history</li> |
| <li>workspace/resource locking (which relates to multi-threading possibilities)</li> |
| <li>non-local resources (what is a non-local resource and what is a phantom)</li> |
| <li>hidden resources (aka team-private)</li> |
| <li>missing deltas because the providers plugin is not loaded</li> |
| <li>stychronizer and phantoms</li> |
| </ul> |
| <p>The first step is to capture the above in a form that can be used to gauge |
| how mush work is involved and the impact on Core (where most of the funtionality |
| will come from).</p> |
| <h3>UI Support for Repository Provider Workflows</h3> |
| <p>Although each repository provider is unique, there is common ground between |
| them. Our goal should be to provide integration points that allow the uniqueness |
| of each repository provider to be realized in Eclipse but also to provide common |
| UI pieces that will simplify the implementation efforts of some or all repository |
| providers. </p> |
| <ul> |
| <li>plugin discovery and enabling</li> |
| <li>roles</li> |
| <li>view/editor integration</li> |
| <li>dynamic views</li> |
| <li>keybindings</li> |
| <li>sharing workspace setup</li> |
| <li>compare infrastructure</li> |
| <li>synchronization infrastructure</li> |
| <li>file types/ignore patterns</li> |
| <li>userid/password management</li> |
| </ul> |
| <p>The first step is to understand how each of these areas can help repository |
| providers and also to estimate the effort required to provide them. Most of |
| these items involve multiple components (Core, Team, Compare, UI, Update) and |
| will effect API.</p> |
| <h3>CVS</h3> |
| <p>There is not a lot of priority items that remains for the CVS plugin. Here |
| are a list of several items being considered:</p> |
| <ul> |
| <li>CVS Repositories View and Tag Management</li> |
| <li>infrastructure to prevent regressions in functionality and performance</li> |
| <li>separate from SDK</li> |
| <li>working with multiple respositories</li> |
| <li>improved branching/merging support</li> |
| </ul> |
| <p>The CVS plugin will also need to conform to any changes that come about due |
| to Team/Platform changes.</p> |
| <h3>Other Team Related Areas</h3> |
| <p>It is not clear at this time if there is enough of a demand for target management |
| to justify making it a priority. It sure would be nice to have though. It would |
| also be nice to know if there are other Team facilities that could be provided.</p> |
| <h2>Near term work items</h2> |
| <h3>Synchronize View</h3> |
| <ol> |
| <li> Sync view usability |
| <ul> |
| <li> table view for handling smaller number of sync elements (navigating sparse |
| tree is a pain)</li> |
| <li> text editor should be fully functional</li> |
| <li> work flow |
| <ul> |
| <li> turning off builds when updating individual changes</li> |
| <li> should navigator also act as sync view? JM's recent changes.</li> |
| </ul> |
| </li> |
| </ul> |
| <li>Sync view API - people want to reuse that good work </li> |
| <ul></ul> |
| <li> Sync view as separate pieces |
| |
| <ul> |
| <li> work with UI team to sort out how to wire together navigator, outline, |
| text editor</li> |
| <li> also solves problem of sync view being too big for default view locations</li> |
| <li> also, compare editors are odd as editors</li> |
| </ul> |
| </ol> |
| <h3>Investigate Improving Repository Provider Support</h3> |
| <ol> |
| <li>End to end scenarios as they are and as we would like to see them (roles, |
| editor integration, compare/sync, update, etc). The scenarios to consider |
| are things like:</li> |
| <ul> |
| <li>How are projects shared (differs by repository provider)</li> |
| <li>How are operations perform (main menu, context menu, key-strokes)</li> |
| <li>Where are operations performed (view, editor, perspective, roll)</li> |
| <li>Resource synchronization/merging</li> |
| <li>comparing</li> |
| <li>remote browsing</li> |
| <li>patching (do others use Team>Apply Patch?)</li> |
| <li>disconnection from version control (may or may not be supported)</li> |
| <li>sharing workspace setup (project sets)</li> |
| <li>sharing project setup (properties, linked resources)</li> |
| <li>transations (validateSave/Edit)</li> |
| <li>file type management</li> |
| <li>ignores</li> |
| </ul> |
| <li>Requirements for consolodated resource control</li> |
| </ol> |
| <h3>Polish CVS</h3> |
| <p>Work can be done in the background while other areas involving multiple components |
| are being fleshed out. </p> |
| <ol> |
| <li>CVS Repositories view and taga management.</li> |
| <li>Perfomance benchmarks</li> |
| </ol> |
| </body> |
| </html> |