<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type"
 content="application/xhtml+xml; charset=utf-8">
  <meta name="author" content="haran">
  <meta name="generator" content="Windows Notepad">
  <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
 type="text/css">
  <link rel="stylesheet" type="text/css"
 href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/layout.css"
 title="Grey boxes stylesheet">
  <link rel="stylesheet" type="text/css"
 href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-vcm-home/colors.css">
  <title>Eclipse Platform - Team Component</title>
</head>
<body>
<p>Back to <a href="../archivedReleases.php">Archived Releases</a></p>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
  <tbody>
    <tr>
      <td align="left" width="72%"> <font class="indextop"> Team</font><br>
      <font class="indexsub">platform team integration framework</font></td>
      <td width="28%"><img src="http://dev.eclipse.org/images/Idea.jpg"
 height="86" width="120"></td>
    </tr>
  </tbody>
</table>
<h1>Themes for Team 3.0</h1>
<table cellpadding="0" cellspacing="10" border="0">
  <tbody>
    <tr>
      <td><img width="14" height="5" src="../images/progress.gif"> item
is under development</td>
      <td><img width="10" height="10" src="../images/ok.gif"> item is
finished</td>
      <td><font class="indexsub">[&gt;3.0]</font> item is deferred</td>
    </tr>
  </tbody>
</table>
<p>The overall themes for this release are detailed below:</p>
<ul>
  <li>scalability </li>
  <li>improved user experience </li>
  <li>improved ISV APIs and documentation </li>
</ul>
<p>The top work items are:</p>
<ul>
  <li>Add synchronization components to API. See <a
 href="synchronizing_solution.html">Sync view re-design and API effort</a></li>
  <ul>
    <li>Provide helpers for managing synchronization information. </li>
    <li>Provide easy integration into Synchronize View. </li>
    <li>Provide re-use of synchronize UI components in repository
specific dialogs/wizards. </li>
    <li>Provide improved synchronization workflows. </li>
  </ul>
  <li><font class="indexsub">[&gt;3.0] </font>Investigating <a
 href="http://www.jcp.org/en/jsr/detail?id=147">JSR-147</a>
as a possible repository neutral API. See <a
 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37705">Improve
Team API</a><br>
  </li>
  <ul>
    <li>Understand the direction of the API. </li>
    <li>Decide if it is mature enough to integration in 3.0. </li>
    <li>Understand how the API concepts map to CVS.</li>
  </ul>
  <li><font class="indexsub">[&gt;3.0] </font>Support logical
resources. See <a href="logical-physical.html">
Support logical resources</a> (<a
 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37723">37723</a>) .</li>
  <ul>
    <li>Allow a plug-in to provide more than one file to be operated on
based on a selection in a view.</li>
  </ul>
  <li>Make the target support API.</li>
  <ul>
    <li>Add target API to team.core and reconcile with existing
repository adapter framework</li>
    <li>provide ISV documentation<br>
    </li>
  </ul>
  <li>Help ISVs build repository providers</li>
  <ul>
    <li>Improve documentation and examples. </li>
    <li>Ensure that other tools can reach CVS integration levels. </li>
  </ul>
</ul>
<!--
########################################################
M9
######################################################## -->
<h1>3.0 Development Effort - Milestone 9 (Friday May 7, 2004)</h1>
<ul>
  <li>Complete synchronize workflows</li>
  <ul>
    <li>prompting with synchronize</li>
    <li>perspective switching</li>
    <li>showing the sync view only for synchronize and not for
merge/compare (how to prompt / wording with synchronize finish)</li>
  </ul>
  <li>Synchronize Participant Lifecycle<br>
  </li>
  <ul>
    <li>&nbsp; ensure that synchronize models are not leaked</li>
    <li>&nbsp; memory testing</li>
  </ul>
  <li>Improve behavior of background synchronize</li>
  <ul>
    <li>could be nicer and not lock projects, but instead lock CVS meta
tree instead</li>
    <li>stop if blocking a job running in the UI thread, would be
rescheduled and restart later</li>
  </ul>
  <li>Javadoc</li>
  <ul>
    <li>synchronize apis</li>
    <li>&nbsp;review old apis and update if required</li>
  </ul>
  <li>Compare editor updating with associated IFile and IRemoteFile</li>
  <ul>
    <li>&nbsp;need to PR compare to allow lifecycle of compare editor
inputs</li>
  </ul>
  <li>Usability and use of new cheatsheets and intro pages?</li>
  <ul>
    <li>&nbsp;empty views or wizards help the user move on...</li>
    <li>&nbsp;empty sync view, then allow</li>
    <li>intro page</li>
    <li>cheat sheet</li>
  </ul>
  <li>Over 100 bugs marked for M9!<br>
  </li>
</ul>
<br>
<!-- ########################################################

               M8

     ######################################################## -->
<h1>3.0 Development Effort - Milestone 8 (Friday March 26, 2004)</h1>
<ul>
  <li><img
 src="file:///C:/Eclipse/workspaces/m8-head/platform-vcm-home/docs/online/images/ok.gif"
 height="10" width="10">Synchronization APIs will be available</li>
  <ul>
    <li>Examples and documentation will be provided for M8 </li>
    <li>CVS plug-in will use the new support for M8. </li>
    <li>Target plug-ins will be ported by M9 </li>
    <li>Will provide migration documentation for ISVs that implemented
the old internal classes. </li>
  </ul>
  <li><font class="indexsub">[&gt;3.0] </font>Support logical
resources
    <ul>
      <li>have a prototype available for M8 </li>
      <li>provide help to UI team for fixing rules about object
contributions only adapting to IResource. </li>
    </ul>
  </li>
  <li>Enable use of structured compare in the outline view (compare
hasn't released the code yet)<br>
  </li>
</ul>
<br>
<!-- ########################################################

               M7

               ######################################################## -->
<h1>3.0 Development Effort - Milestone 7 (Friday February 13th, 2003)</h1>
<ul>
  <li>Synchronize API and suppor)<br>
  </li>
  <ul>
    <li>Split synchronize view into re-useable parts (changes tree,
viewer, actions) so that the parts can be used in different contexts.
(Jean-Michel)<br>
    </li>
    <li>Address some of the remaining usability bugs (Jean-michel)<br>
    </li>
    <ul>
      <li>notification after a refresh with remote</li>
      <li>mode switching</li>
      <li>seperate sheduling per participant</li>
    </ul>
    <li>Provide helper classes for managing synchronize state for
resources (Michael)<br>
    </li>
    <ul>
      <li>refactor existing CVS framework for use by other team tools</li>
      <li>port FTP/DAV to use the new framework<br>
      </li>
    </ul>
  </ul>
  <li>Port FTP/DAV to new synchronize API (Michael)</li>
  <li>Documentation for new Team APIs (Jean-Michel and Michael)<br>
  </li>
  <li>EclipseCon presentations and technology exchange (Jean-Michel and
Michael)</li>
  <ul>
    <li>Responsive UI presentation</li>
    <li>Team API presentation</li>
    <li>Implementing repository adapters technology exchange<br>
    </li>
  </ul>
</ul>
<!-- ########################################################

               M6

               ######################################################## -->
<h1>3.0 Development Effort - Milestone 6 (Friday December 18th, 2003)</h1>
<ul>
  <li>Fixed many bugs! </li>
  <li> SSH2 support </li>
  <li> Investigate JSR-147</li>
</ul>
<span style="font-weight: bold;">WVCM Update</span>: We have finished
our priliminary evaluation of JSR 147 (WVCM).&nbsp; We have always been
interested in WVCM because it has industry backing and is a very
comprehensive abstraction for modern versioning system capabilities.
Although it would be a good candidate for a Repository Provider API in
Eclipse Team, at this time the JSR is still under public review with a
deadline of mid winter 2004 and a reference implementation is not yet
available. This, combined with the lack of documentation and examples,
has lead us to the conclusion that we cannot release an Eclipse Team
API in 3.0 based on a JSR that is still under review and not yet final.
As a result we are deferring the <a
 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37705">Improve
Team API</a> plan item.<br>
<br>
For more information about using WVCM you can refer to the <a
 href="http://stellation.eclipse.org/twiki/bin/view/WVCM/WebHome">WVCM
Wiki</a>.<br>
<!-- ########################################################

               M5

               ######################################################## -->
<h1>3.0 Development Effort - Milestone 5 (Friday November 21st, 2003)</h1>
<ul>
  <li> Team API (5wks)
    <ul>
      <li>Migrating target management support for backwards
compatibility story.</li>
      <li> Refactoring Team core plugin for supporting versioning and
non-versioning Team providers with more flexible mapping scenarios.</li>
      <li>Move Synchronize View API into UI and finalize TeamSubscriber
story.</li>
      <li>Create WVCM TeamProvider and hooks for accessing the API.</li>
      <li>Start working on a WVCM provider (e.g. either CVS, FTP, or
Dav)..</li>
      <li>Create a WVCM TeamSubscriber and Synchronize View components.</li>
      <li>Document API and extend Team API plan to explain direction
and usage patterns.</li>
    </ul>
  </li>
  <li>Decorators (3 days)
    <ul>
      <li>Investigate poor performance of CVS decorators and in more
general terms the decoration infrastructure provided by the workbench.</li>
      <li>Investigate enabling CVS decorators by default when a project
is shared/checked out.</li>
      <li>Investigate showing all sync info in decorator (there are
existing enhancement requests for this).</li>
    </ul>
  </li>
  <li>Jaxp Conversion (1 day)</li>
  <li>UI Progress Support (4 days)
    <ul>
      <li>Move our Team specific view progress support for UI.</li>
      <li>Help UI team implement progress services.</li>
    </ul>
  </li>
  <li>Move CVS console onto generic console support (2 days)</li>
  <li>CVS Compare and replace with converted to Job mechanism. (2 days)</li>
  <li>Bug fixing (2 weeks)</li>
</ul>
<!-- ########################################################

               M4

               ######################################################## -->
<h1>3.0 Development Effort - Milestone 4 (Friday October 10th, 2003)</h1>
<ul>
  <li><img height="14" width="14" src="../images/ok.gif"> Concurrency
    <ul>
      <li> <img height="14" width="14" src="../images/ok.gif"> User
feedback improvements
        <ul>
          <li><img height="14" width="14" src="../images/ok.gif">progress
messages</li>
          <li><img height="14" width="14" src="../images/ok.gif">error
handling and messages</li>
        </ul>
      </li>
      <li><img height="14" width="14" src="../images/ok.gif">Investigate
maintaining context between backround jobs and views</li>
      <li><img height="14" width="14" src="../images/ok.gif">Continue
modifying CVS operations to run in the background and enable them by M4.<br>
      </li>
    </ul>
  </li>
  <li>Team API
    <ul>
      <li><img height="14" width="14" src="../images/ok.gif">Investigate
JSR 147 and propose how it can be integrated into Eclipse.<br>
      </li>
    </ul>
  </li>
  <li><img height="14" width="14" src="../images/ok.gif">Synchronize
View
    <ul>
      <li> Proper selection and expansion preservation. </li>
      <li><img height="14" width="14" src="../images/ok.gif">Additional
commands supported (delete, copy, paste, rename). </li>
      <li><img height="14" width="14" src="../images/ok.gif">CVS:
caching base/remote file contents for faster browsing of changes </li>
      <li><img height="14" width="14" src="../images/ok.gif">CVS:
decide on support for compare between local / remote and remote /
remote.
        <ul>
          <li>currently uses a compare editor and requires multiple
connections</li>
        </ul>
      </li>
      <li><img height="14" width="14" src="../images/ok.gif">Usability:
Improved feedback for statistics and active filters. </li>
      <li>Document API<br>
      </li>
    </ul>
  </li>
  <li><img height="14" width="14" src="../images/ok.gif"> User Settings
    <ul>
      <li> <img height="14" width="14" src="../images/ok.gif">Cooperate
with Core and UI teams for implementation<br>
      </li>
    </ul>
  </li>
  <li>Logical to Physical
    <ul>
      <li> Outline a <a href="logical-physical.html">possible solution</a>
      </li>
    </ul>
  </li>
</ul>
<ul>
  <li> <img height="14" width="14" src="../images/ok.gif"> Work on bug
backlog and inbox triage</li>
</ul>
<!-- ########################################################

               M3

               ######################################################## -->
<h1>3.0 Development Effort - Milestone 3 (Friday August 29th, 2003)</h1>
<ul>
  <li>User Settings (3 p/wk Michael)
    <ul>
      <li><img height="14" width="14" src="../images/ok.gif"> Work on
design based on feedback from the community. </li>
      <li><img height="14" width="14" src="../images/ok.gif">Transfered
implementation to Core team.<br>
      </li>
    </ul>
  </li>
  <li>Logical to Physical (1 p/wk Jean-Michel) </li>
  <ul>
    <ul>
      <li><img width="14" height="5" src="../images/progress.gif">Outline
a <a href="logical-physical.html">possible solution</a>
(started but not complete)<br>
      </li>
    </ul>
  </ul>
  <li>Concurrency (1 p/wk Jean-Michel)
    <ul>
      <li><img height="14" width="14" src="../images/ok.gif"> Absorb
core resources resource locking APIs and use for checkout. </li>
      <li><img height="14" width="14" src="../images/ok.gif">Investigate
impact of listeners running in jobs. </li>
      <li><img height="14" width="14" src="../images/ok.gif"> Enable
other CVS operations to run in the background.
        <ul>
          <li>update from the sync view</li>
          <li>commit from the sync view</li>
        </ul>
      </li>
      <li><img height="14" width="14" src="../images/ok.gif"> Make CVS
command framework thread-safe.<br>
      </li>
    </ul>
  </li>
  <li>Team API (1 p/wk Jean-Michel)
    <ul>
      <li>Investigate JSR 147 and propose how it can be integrated into
current Team API. (<font color="Red" face="">deferred to M</font><font
 color="Red">4</font>) <br>
      </li>
    </ul>
  </li>
  <li>Synchronize View (API and replacement)(2 p/wk Dean &amp;
Jean-Michel)
    <ul>
      <li><img height="14" width="14" src="../images/ok.gif"> Convert
from SubscriberActions to using UI IActionFilter API. </li>
      <li><img height="14" width="14" src="../images/ok.gif">Scalability
improvements: calculate sync states in the background </li>
      <li>By M3 the old sync view should be disabled </li>
      <li><img height="14" width="14" src="../images/ok.gif"> Propose <a
 href="synchronizing_solution.html">solutions</a> for loss
functionality because compare is no longer all in the same view
        <ul>
          <li>Editor management (don't pollute work area with compare
editors) </li>
          <li>Browsing changes (in the old sync view you could Ctrl+.
between tree viewer and compare editors) </li>
        </ul>
      </li>
      <li><img height="14" width="14" src="../images/ok.gif"> Ensure
performance is better that old sync view and that there are no major
regressions. </li>
      <li>Document API <br>
      </li>
    </ul>
  </li>
  <li><img height="14" width="14" src="../images/ok.gif"> Work on bug
backlog and inbox triage (1 p/wk Dean &amp; Jean-Michel)</li>
</ul>
<!-- ########################################################

               M2

               ######################################################## -->
<h1>3.0 Development Effort - Milestone 2 (Friday July 18th, 2003)</h1>
<ul>
  <li> User Settings (3 p/wk)
    <ul>
      <li><img height="14" width="14" src="../images/ok.gif"> Send out
RFC</li>
      <li>Prototype including examples of: (<font color="Red" face="">prototype
was not released to HEAD, will be available for M3</font>)
        <ul>
          <li>application settings (.config, </li>
          <li>project settings (.classpath, .project)</li>
          <li>non-project settings (CVs repo list file)</li>
          <li>dialog settings (preferences)</li>
        </ul>
      </li>
      <li><img height="14" width="14" src="../images/ok.gif"> Send out
design proposal<br>
      </li>
    </ul>
  </li>
  <li> Logical to Physical (1 p/wk) </li>
  <ul>
    <ul>
      <li><img height="14" width="14" src="../images/ok.gif"> Send out
RFC</li>
      <li><img height="14" width="14" src="../images/ok.gif"> Solicit
input from community and products that have raised this issue as
important for them</li>
      <li><img height="14" width="14" src="../images/ok.gif"> Decide if
a solution is possible<br>
      </li>
    </ul>
  </ul>
  <li>Concurrency (2 p/wk)
    <ul>
      <li><img height="14" width="14" src="../images/ok.gif"> fetching
remote resources in the repo view in the background</li>
      <li><img height="14" width="14" src="../images/ok.gif">refreshing
the sync state in the background</li>
      <li><img height="14" width="14" src="../images/ok.gif"> checkout
in the background<br>
      </li>
    </ul>
  </li>
  <li>Sync view replacement (2 p/wk)
    <ul>
      <li><img height="14" width="14" src="../images/ok.gif"> Release
synchronization API and UI components to support the new API. (<font
 color="Red" face="">tech-preview released and will have APIs available
for M3</font>)</li>
      <li><img height="14" width="14" src="../images/ok.gif"> Fix bugs
as they are reported</li>
      <li>Absorb and prototype action contribution enhancement plan
item (<font color="Red" face="">deferred to M3</font>)
        <ul>
          <li>enable key bindings for CVS actions</li>
          <li>enable action overrides in sync view</li>
          <li>enable key bindings for override actions</li>
          <li>enable action contribution based on context</li>
        </ul>
      </li>
    </ul>
  </li>
  <li><img height="14" width="14" src="../images/ok.gif"> Work on bug
backlog and inbox triage (1 p/wk)</li>
</ul>
</body>
</html>
