blob: 6f62eab9b7ea290de6300327d92b740994647f1f [file] [log] [blame]
<title>Team API Summary</title>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<tr>
<td align="left" valign="top" bgcolor="#0080c0"> <b><font color="#ffffff" face="Arial,Helvetica">
Eclipse 3.0 - Team API Summary</font></b></td>
</tr>
</table>
<h1>Team API in Eclipse 3.0</h1>
<p>The original plan for Team API in Eclipse 3.0 is presented in the <a href="team_api.html">Eclipse
3.0 Team Plan Item Overview</a>. This document revises this plan and discusses
the motivation for any changes. Of particular interest is the decision to drop
the adoption of JSR 147 from the 3.0 plan. This document also summarizes the
API provided by Team, indicating changes and additions.</p>
<h2>The revised plan</h2>
<p>Our proposed improvements to the Team provider integration include the following
high-level work items in the Eclipse 3.0 timeframe:</p>
<ol>
<li>Provide a non-versioning <a href="deployment_provider.html">Deployment Provider</a>
integration point. This mainly affects the Target Management plugins.<br>
<em>Timeline: Initial conversion of FTP to be completed for M7.<br>
</em></li>
<li>Promote the support of a Team API by repository vendors.<br>
<em>Dropped from 3.0: will be considered again when JSR is more mature.<br>
</em></li>
<li>Improved <a href="synchronizing_solution.html">Synchronize view</a> with
simplified integration API.<br>
<em>Timeline: majority of API finalization for M7 with necessary adjustments
as required.<br>
</em></li>
<li>Support <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36957">concurrent
execution</a> of operations.<br>
<em>Timeline: support has been available since M4 and adjustments have been
ongoing. See the referenced document.</em></li>
</ol>
<p>Point 1 has been changed to address non-versioning repositories only. Originally,
it was envisioned that there would be some relationship between versioning and
non-versioning support. However, the decision was made to keep these two entities
separate. </p>
<p>Point 2 has been dropped from the 3.0 plan because JSR 147 is in it's early
stages and could not be fit into the 3.0 release timeframe. However, we still
believe that a Team API will only be possible if it is driven by the repository
vendors themselves. Hence, we will continue to monitor the progress of the JSR
and hope to adopt it at some point in the future.</p>
<h2>Summary of Team API in Eclipse 3.0</h2>
<p>The focus of the Team API is Eclipse 3.0 continues to be the rich integration
of repository support into Eclipse.</p>
<h3>Existing API in 2.1</h3>
<p>The following API exisited in Eclipse 2.1 and remains in Eclipse 3.0. For the
most part there have been no changes to the API listed below. Any changes that
have been made are mentioned and are 100% backwards compatible.</p>
<ul>
<li>Project Sets
<ul>
<li>plan to improve support for headless operation (contribution)</li>
<li>considering the addition of API to access information about project
set entries </li>
</ul>
</li>
<li>Ignored Resources List (unchanged)</li>
<li>File Content Types (unchanged)</li>
<li>RepositoryProvider and Core hooks (validate Save/Edit and Move/Delete)
<ul>
<li>validateSave/Edit?</li>
</ul>
</li>
<li>RepositoryProviderType
<ul>
<li>changes related to project set changes</li>
</ul>
</li>
</ul>
<h3>New API in 3.0</h3>
<p>API has been added in 3.0 to ease the implementation of repository and deployment
providers.</p>
<ul>
<li>Concurrency Support: Although not technically a Team API, consurrency support
will affect repository provider implementors (link to doc)</li>
<li>TeamSubscriber and synchronization infrastructure: This API provides reusable
components for creating synchronization tools.</li>
<li>DeploymentProvider: This API provides lifecycle management for deployment
type repositories such as FTP and WebDAV.</li>
<li>RemoteContentsCache: This API simplifies the caching of remote contents
locally (provisional)</li>
<li>BackgroundEventHandler: Helper class for processing events in the background
(provisional)</li>
<li>SynchronizationCache and subclasses: Helper classes for managing synchronization
information (provisional)</li>
</ul>
<h3>Removed Provisional API</h3>
<p>In 2.1, Team had some API that was deemed provisional. The following provisional
API has been removed from 3.0.</p>
<ul>
<li>IRemoteResource</li>
<li>IRemoteSyncElement and related classes</li>
<li>SyncView and related classes</li>
</ul>
<p>&nbsp; </p>
</BODY>
</html>