blob: a9b588b0f99d8c7d08dc8419515600b4b0b455ca [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Project Plan - rt.ecf</title><meta name="author" content="Bjorn Freeman-Benson" />
<meta name="keywords" content="" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/small.css" title="small" /><link rel="alternate stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/large.css" title="large" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/visual.css" media="screen" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/layout.css" media="screen" />
<!--[if IE]> <link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie_style.css" media="screen"/> <![endif]-->
<!--[if IE 6]> <link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie6_style.css" media="screen"/> <![endif]-->
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/header.css" media="screen" />
<script type="text/javascript" src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/styleswitcher.js"></script>
</head>
<body>
<div id="header">
<div id="header-graphic" class="eclipse-main">
<a href="http://www.eclipse.org/"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg" alt="" /></a><h1>Eclipse</h1>
</div>
<div id="header-global-holder" class="eclipse-main-global">
<div id="header-global-links"><ul>
<li><a href="http://www.eclipse.org/org/foundation/contact.php" class="first_one">Contact</a></li><li><a href="http://www.eclipse.org/legal/">Legal</a></li>
</ul>
</div>
<div id="header-icons">
<a href="http://www.youtube.com/user/EclipseFdn" target="_blank"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_Live.png" width="28" height="28" alt="Eclipse YouTube Channel" title="Eclipse YouTube Channel" /></a>
<a href="http://www.eclipseplugincentral.com"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_plugin.png" width="28" height="28" alt="Eclipse Plugin Central" title="Eclipse Plugin Central" /></a>
<a href="http://www.planeteclipse.org"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_planet.png" width="28" height="28" alt="Planet Eclipse" title="Planet Eclipse" /></a>
</div>
</div></div><div id="header-menu"><div id="header-nav">
<ul>
<li><a class="first_one" href="http://www.eclipse.org/" target="_self">Home</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://www.eclipse.org/committers/" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<form action="http://www.google.com/cse" id="searchbox_017941334893793413703:sqfrdtd112s">
<input type="hidden" name="cx" value="017941334893793413703:sqfrdtd112s" />
<input type="text" name="q" size="25" />
<input type="submit" name="sa" value="Search" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_017941334893793413703%3Asqfrdtd112s&lang=en"></script> <ul>
<li class="text_size"><a class="smallText" title="Small Text" href="#" onclick="setActiveStyleSheet('small');return false;">A</a> <a class="largeText" title="Large Text" href="#" onclick="setActiveStyleSheet('large');return false;">A</a></li>
</ul>
</div></div><div id="leftcol">
<ul id="leftnav">
<li style="background-image: url(/eclipse.org-common/themes/Phoenix/images/leftnav_fade.jpg); background-repeat: repeat-x; border-style: none;"><br /><br /><br /><br /><br /><br /><br /><br />
</li>
</ul>
</div>
<div id="container"><style>
h2 {
border-bottom: 2px solid gray;
}
h3 {
border-bottom: 1px dotted gray;
}
</style>
<div xmlns="http://www.w3.org/1999/xhtml" id="rendered-plan">
<div id="maincontent">
<div id="midcolumn"><h1><span style="font-size: 140%">Project Plan For
<a href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.ecf">Eclipse Communication Framework</a></span>, version 3.0</h1><div id="toc"><p><a name="toc"><strong>Table of Contents</strong></a></p><ul><li><a href="#introduction">Introduction</a></li><li><a href="#release_deliverables">
Release Deliverables
</a></li><li><a href="#release_milestones">
Release Milestones
</a></li><li><a href="#target_environments">
Target Environments
</a></li><li><a href="#compatibility">
Compatibility with Previous Releases
</a></li><li><a href="#themes_and_priorities">
Themes and Priorities
</a></li></ul></div><h2><a name="introduction">Introduction</a></h2><div><p>Previously, ECF has had two major releases: <a href="http://www.eclipse.org/ecf/downloads.php">ECF 1.0.0</a> as part of <a href="http://wiki.eclipse.org/index.php/Europa_Simultaneous_Release">Europa Simultaneous Release</a>, and ECF 2.0.0 as part of <a href="http://wiki.eclipse.org/Ganymede_Simultaneous_Release">Ganymede Simultaneous Release</a>. This plan describes the work for ECF 3.0.0, which will occur in June, 2009 as part of the <a href="http://wiki.eclipse.org/Galileo_Simultaneous_Release">Galileo Simultaneous Release</a>.</p></div><h2><a name="release_deliverables">Release Deliverables</a></h2><div><p>The major ECF 3.0.0 release deliverables are as follows:
<ol><li>Contribute to <a href="http://wiki.eclipse.org/E4">E4 Project</a> via work on a common connection framework, synchronization of replicated models, and support for/use of asynchronous communication patterns</li>
<li>Contribute to <a href="http://wiki.eclipse.org/Equinox_p2">Equinox P2 Project</a> via additions to ECF File Transfer, and usage of ECF Discovery, and ECF Remote Services</li>
<li>Improve and Extend the ECF Example Applications</li>
<li>Enable easier creation and use of Equinox+ECF-based Server Runtimes</li>
<li>Harden ECF Discovery and Remote OSGi Services, create more provider implementations, and provide open reference implementations for
emerging standards (e.g. RFC 119)</li>
<li>Improve IM and Chat for usage with Eclipse</li>
<li>Deliver improved application integration with Eclipse projects: Mylyn and DSDP-TM VNC screen sharing</li>
<li>Restructure ECF's packaging and deployment for easier external consumption</li>
<li>Create selected providers based upon community input about emerging popular protocols</li></ol>
</p></div><p><a href="#toc">Table of Contents</a></p><h2><a name="release_milestones">Release Milestones</a></h2><div>ECF plans on delivering milestone on the same general schedule as the <a href="http://wiki.eclipse.org/Galileo_Simultaneous_Release">Galileo Simultaneous Release</a> schedule, starting with M4. ECF has both +0 and +1 components. The +0 components will be
on same release schedule as the Platform, and the +1 components will be as specified below.</div><table border="1" align="center"><tr><td><b>M4</b></td><td>12/17/2008</td><td><div/></td></tr><tr><td><b>M5</b></td><td>2/3/2009</td><td><div/></td></tr><tr><td><b>M6</b></td><td>3/16/2009</td><td><div>API Freeze</div></td></tr><tr><td><b>M7</b></td><td>5/4/2009</td><td><div>3.0.0 Feature Freeze</div></td></tr><tr><td><b>RC1</b></td><td>5/18/2009</td><td><div/></td></tr><tr><td><b>RC1</b></td><td>5/18/2009</td><td><div/></td></tr><tr><td><b>RC2</b></td><td>5/25/2009</td><td><div/></td></tr><tr><td><b>RC3</b></td><td>6/1/2009</td><td><div/></td></tr><tr><td><b>RC4</b></td><td>6/8/2009</td><td><div/></td></tr><tr><td><b>RC5</b></td><td>6/15/2009</td><td><div/></td></tr><tr><td><b>3.0.0</b></td><td>6/26/2009</td><td><div>Galileo GA</div></td></tr></table><div/><p><a href="#toc">Table of Contents</a></p><h2><a name="target_environments">Target Environments</a></h2><div>ECF's target environments are:
<ul>
<li>Eclipse</li>
<li>Eclipse-based Applications</li>
<li>Other Equinox-Based Runtimes (e.g. Equinox servers)</li>
</ul>
</div><h3>Internationalization</h3>
<div>ECF doesn't perform internationalization directly, although we develop our plugins following
common rules about string externalization to make the automation possible</div>
<p><a href="#toc">Table of Contents</a></p><h2><a name="compatibility">Compatibility with Previous Releases</a></h2><div><p>ECF has a policy of maintaining API backward compatibility with minor and service releases. API is considered all
exported packages (i.e. packages that do not have <pre>x-internal:=true</pre> in their Export-Package declaration. As an example,
with the following declaration in the org.eclipse.ecf MANIFEST.MF</p>
<pre>Export-Package: org.eclipse.ecf.core, org.eclipse.ecf.internal.core;x-internal:=true
</pre>
<p>The org.eclipse.ecf.core package is API, and the org.eclipse.ecf.internal.core package is not</p>
<p>Only with major releases (e.g. 2.0.0, 3.0.0) are incompatible API changes to be introduced (e.g. refactorings, renames), and even then only after discussion
among multiple committers. For the parts of ECF used by the Platform (e.g. the core and file transfer bundles), NO incompatible
API changes will be introduced, even for major releases, in order to maintain the platform backward compatibility
constraints.</p>
</div><p><a href="#toc">Table of Contents</a></p><h2><a name="themes_and_priorities">Themes and Priorities</a></h2><div/><h3>Model Synchronization</h3><p>ECF's docshare capabilities will be generalized to support synchronization of distributed models of multiple forms</p><ul><li><b>Proposed</b><ul><li>[modelsync] Improve Real-Time Shared Editing for files that exist in both workspaces [<a href="http://bugs.eclipse.org/237471">237471</a>] (target milestone: ---)</li><li>[modelsync][rtcollab] Distribute resource changes to peer in real-time [<a href="http://bugs.eclipse.org/239048">239048</a>] (target milestone: ---)</li><li>[modelsync] DocShare plug-in should be split into core/ui [<a href="http://bugs.eclipse.org/234142">234142</a>] (target milestone: 2.1.0)</li></ul></li></ul><h3>Real-Time Collaboration for IDE</h3><p/><ul><li><b>Proposed</b><ul><li>[rtcollab] Provide an indication of where other users are editing [<a href="http://bugs.eclipse.org/237923">237923</a>] (target milestone: 2.1.0)</li><li>[rtcollab] DocShare should support the sharing of external files [<a href="http://bugs.eclipse.org/238040">238040</a>] (target milestone: 2.1.0)</li><li>[modelsync][rtcollab] Distribute resource changes to peer in real-time [<a href="http://bugs.eclipse.org/239048">239048</a>] (target milestone: ---)</li><li>[rtcollab] DocShare &amp; DocShare.Cola should support N way messaging [<a href="http://bugs.eclipse.org/240290">240290</a>] (target milestone: ---)</li></ul></li></ul><h3>ECF for Runtimes</h3><ul><li><b>Proposed</b><ul><li>[runtime] [IRC] Support platform proxy settings [<a href="http://bugs.eclipse.org/200256">200256</a>] (target milestone: ---)</li><li>[xmpp] [runtime] use org.eclipse.core.net.proxy API for socks proxy support [<a href="http://bugs.eclipse.org/206275">206275</a>] (target milestone: ---)</li><li>[runtime] Equinox-based XMPP server [<a href="http://bugs.eclipse.org/235844">235844</a>] (target milestone: ---)</li><li>[runtime][presence][xmpp] add use of proxy data in xmpp connections [<a href="http://bugs.eclipse.org/236455">236455</a>] (target milestone: ---)</li><li>[runtime] [msn] doesn't honor platform proxy settings [<a href="http://bugs.eclipse.org/193578">193578</a>] (target milestone: 2.0.0)</li><li>[runtime][filetransfer][test] test proxy configurations [<a href="http://bugs.eclipse.org/208012">208012</a>] (target milestone: 2.0.0)</li></ul></li></ul><h3>Remote OSGi Services</h3><p>As ECF moves to the Runtime top-level project, the ECF remote services API will be potentially use in
non-Eclipse runtimes and in combination with work from other projects (e.g. P2/remote Equinox managment, etc)</p><ul><li><b>Proposed</b><ul><li>[remotesvcs][Discovery] Namespace semantics for discovery need to be different [<a href="http://bugs.eclipse.org/207089">207089</a>] (target milestone: ---)</li><li>[remotesvcs][Discovery] Discovery may define a generic IServiceTypeID independent of providers [<a href="http://bugs.eclipse.org/207091">207091</a>] (target milestone: ---)</li><li>[remotesvcs] Provide org.eclipse.ecf.discovery.IDiscoveryContainerAdapter#unregisterAllServices() [<a href="http://bugs.eclipse.org/230180">230180</a>] (target milestone: 3.0.0)</li><li>[remotesvcs] Discovery may be configurable via OSGi configuration admin service [<a href="http://bugs.eclipse.org/217978">217978</a>] (target milestone: ---)</li><li>[remotesvcs] [discovery] [ui] add filtering to discovery services view [<a href="http://bugs.eclipse.org/218452">218452</a>] (target milestone: ---)</li><li>[remotesvcs] Remove create org.eclipse.ecf.discovery.identity.IServiceID by java.lang.String [<a href="http://bugs.eclipse.org/230183">230183</a>] (target milestone: ---)</li><li>[remotesvcs][r-osgi] sometime exception in r-osgi on Eclipse start [<a href="http://bugs.eclipse.org/233385">233385</a>] (target milestone: 2.0.0)</li><li>[remotesvcs] Implement RFC 119 [<a href="http://bugs.eclipse.org/249240">249240</a>] (target milestone: ---)</li><li>[remotesvcs] add asynchronous IRemoteServiceContainerAdapter.getRemoteServiceReferences() [<a href="http://bugs.eclipse.org/251897">251897</a>] (target milestone: ---)</li></ul></li></ul><h3>IM/Chat Features</h3><ul><li><b>Proposed</b><ul><li>[imchat][presence][ui] add API for contributing roster entry properties to MultiRosterView [<a href="http://bugs.eclipse.org/208713">208713</a>] (target milestone: ---)</li><li>[imchat][irc] Add support for peer to peer file transfer [<a href="http://bugs.eclipse.org/218117">218117</a>] (target milestone: ---)</li><li>[imchat] Add persistence to MultiRosterView (org.eclipse.ecf.presence.ui) [<a href="http://bugs.eclipse.org/166670">166670</a>] (target milestone: 2.1.0)</li><li>[imchat][presence] API needed for creating conferences/group chats [<a href="http://bugs.eclipse.org/182474">182474</a>] (target milestone: 1.1.0)</li></ul></li></ul><h3>Application Integration</h3><p>Currently, there are only a few examples of effective integrations of ECF with existing products. We will focus on creating other integrations...e.g. with Mylyn and DSDP-TM's VNC implementation</p><ul><li><b>Proposed</b><ul><li>[appint] VNC-based screen sharing [<a href="http://bugs.eclipse.org/239854">239854</a>] (target milestone: ---)</li><li>[appint] Provide ability to export/import task context via ECF communications [<a href="http://bugs.eclipse.org/195737">195737</a>] (target milestone: ---)</li></ul></li></ul><h3>Packaging and Deployment</h3><p>ECF is currently deployed as a small set (2) of features via update site. This makes the consumption of sub-components of ECF (e.g. discovery, remote services, docshare, etc) difficult. Probably using P2, ECF will make the piecewise consumption of ECF bundles easier.</p><ul><li><b>Proposed</b><ul><li>[deploy] create features or IUs for deploying components [<a href="http://bugs.eclipse.org/249237">249237</a>] (target milestone: ---)</li></ul></li></ul><p><a href="#toc">Table of Contents</a></p></div>
</div>
</div>
<div style="visibility: hidden; float: right; text-align: right"><a href="?projectid=rt.ecf&raw=1">view raw xml of project plan</a><br>
<a href="http://www.eclipse.org/projects/dev_process/project-status-infrastructure.php">from project meta-data key "projectplanurl"</a></div>
</div> <!-- midcolumn -->
</div> <!-- maincontent -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-2");
pageTracker._initData();
pageTracker._trackPageview();
</script></div><div id="footer">
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a><a href="http://www.eclipse.org/org/press-release/20081112_termsofuse.php"><img src="http://www.eclipse.org/images/updated.png" align="absmiddle" /></a></li>
</ul>
<p>Copyright &copy; 2008 The Eclipse Foundation. All Rights Reserved</p>
</div></body></html>