blob: e047a074c034b847722bc760811204d3f5026f67 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>ECF New and Noteworthy</title>
<link rel="stylesheet" href="http://www.eclipse.org/default_style.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<table border=0 cellspacing=5 cellpadding=2 width="100%">
<tbody>
<tr>
<td width="69%" class="bannertext">
<font class="indextop style">eclipse communication framework</font>
<br><br>
<font class="indexsub">an eclipse technology subproject</font>
<br><br>
<font class="indextop style2">New and Noteworthy</font><br>0.5.2 Stable Release</font>
<br><br><br>
Return to <a href="downloads.php">ECF download page</a></br>
Return to <a href="comm_resources.php">ECF communication resources page</a>
<br><br>
<a href="NewAndNoteworthy_0.4.0.html">New and Noteworthy for 0.4.0</a>
</td>
<td width="31%">
<div align="center">
<img src="../images/Idea.jpg" width="120" height="86" hspace="50" align="middle">
</div>
</td>
</tr>
</tbody>
</table>
<table>
<TR> <!----------------------------------------------------->
<TD colSpan=2> <HR> </TD>
</TR>
<TR><TD colSpan=2><H2>Instant Messaging Improvements</H2></TD>
<TR>
<TD vAlign=top align=left width="30%">
<p></p>
<P align=left>
<B>Disconnecting from accounts individually</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p></p>
<P>The context menu for accounts listed in the ECF Buddy List now allow disconnection
from that account as well as showing chat rooms available just for that account. </P>
<p><img src="images/screens/buddylistaccountcontext.png"></p>
</TD>
</TR>
<TR>
<TD vAlign=top align=left width="30%">
<p><br></p>
<P align=left>
<B>Username customization for XMPP Chat</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p><br></p>
<P>When entering an XMPP chat the user is now prompted for a username for the chat, rather
than using the IM username always. The default is, however, still the
IM username</p>
</TD>
</TR>
<TR>
<TD vAlign=top align=left width="30%">
<p><br></p>
<P align=left>
<B>XMPP over SSL</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p><br></p>
<P>For XMPP servers that support it, ECF now supports XMPP over SSL</p>
<IMG src="images/screens/xmppoverssl.png">
</TD>
</TR>
<TR> <!----------------------------------------------------->
<TD colSpan=2> <HR> </TD>
</TR>
<TR><TD colSpan=2><H2>Team Collaboration Improvements</H2></TD>
<TR>
<TD vAlign=top align=left width="30%">
<p><br></p>
<P align=left>
<B>Remotely Launch Editors on Team Project Resources</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p><br></p>
<P>For Team projects where collaboration participants all have access to the same resources, one can now
remotely launch an editor on the chosen resource</p>
<p>Each team member must connect the team project to a collaboration group:</p>
<ul>
<li>In Navigator or Package Explorer open context menu for a team project<br><br>
<IMG src="images/screens/projectcontextconnectproject.png"><br><br></li>
<li>
Choose 'ECF Generic' provider, and connect to a specific collaboration group
<br><br>
<IMG src="images/screens/projectconnectproject.png"><br><br>
</li>
<li>Once the project is connected you should see team members listed in the ECF Collaboration view
<br><br>
<img src="images/screens/projectcollaborationview.png"><br><br>
</li>
<li>
Select a text file (e.g. source file) in team project, and choose ECF->Open Shared Editor
<br><br>
<img src="images/screens/opensharededitor.png"><br><br>
</li>
<li>
You (and others in the same collaboration group, should then see an open editor on the selected resource
<br><br>
<img src="images/screens/editoropen.png"><br><br>
</li>
</ul>
</TD>
</TR>
<TR> <!----------------------------------------------------->
<TD colSpan=2> <HR> </TD>
</TR>
<TR><TD colSpan=2><H2>New ECF Provider Implementations</H2></TD>
<TR>
<TD vAlign=top align=left width="30%">
<p><br></p>
<P align=left>
<B>Java Messaging Service (JMS) Provider Implementation</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p><br></p>
<P>An ECF provider that uses <a href="http://www.activemq.com">ActiveMQ's</a> implementation of the
<a href="http://java.sun.com/jms">Java Messaging Service</a> is now available. To download this plugin goto
<a href="http://ecf1.osuosl.org">ECF Extras Web Server</a>.</p>
<p><B>PLEASE NOTE: This provider is not yet reviewed and approved under the terms of the <a href="http://www.eclipse.org/legal/epl-v10.html>Eclipse Public License (EPL)</a>. It contains
code licensed under both the <a href="http://www.eclipse.org/legal/epl-v10.html>EPL</a> and the <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2 license</a>
and anyone using it are subject to the terms and conditions of both licenses. See the about.html of this plugin for further details.</b></p>
</TD>
</TR>
<TR>
<TD vAlign=top align=left width="30%">
<p><br></p>
<P align=left>
<B>Zeroconf Discovery Provider Implementation</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p><br></p>
<P>An ECF provider implementing the org.eclipse.ecf.discovery API is now available that uses the
<a href="http://www.zeroconf.org/">Zeroconf</a>/<a href="http://www.apple.com/macosx/features/bonjour/">Bonjour</a> protocols.
To download this this provider goto
<a href="http://ecf1.osuosl.org">ECF Extras Web Server</a>.</p>
<p><B>PLEASE NOTE: This provider is not yet reviewed and approved under the terms of the <a href="http://www.eclipse.org/legal/epl-v10.html>Eclipse Public License (EPL)</a>. It contains
code licensed under both the <a href="http://www.eclipse.org/legal/epl-v10.html>EPL</a> and the <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2 license</a>
and anyone using it are subject to the terms and conditions of both licenses. See the about.html of this plugin for further details.</b></p>
</TD>
</TR>
<TR>
<TD vAlign=top align=left width="30%">
<p><br></p>
<P align=left>
<B>Internet Relay Chat Provider Implementation</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p><br></p>
<P>An ECF provider implementing the IRC protocol is now available that uses the
<a href="http://moepii.sourceforge.net/">IRCLib API</a>.
To use download this provider goto
<a href="http://ecf1.osuosl.org">ECF Extras Web Server</a>.</p>
<p><B>PLEASE NOTE: This provider is not yet reviewed and approved under the terms of the <a href="http://www.eclipse.org/legal/epl-v10.html>Eclipse Public License (EPL)</a>. It contains
code licensed under both the <a href="http://www.eclipse.org/legal/epl-v10.html>EPL</a> and the <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2 license</a>
and anyone using it are subject to the terms and conditions of both licenses. See the about.html of this plugin for further details.</b></p>
</TD>
</TR>
<TR> <!----------------------------------------------------->
<TD colSpan=2> <HR> </TD>
</TR>
<TR><TD colSpan=2><H2>RCP Application</H2></TD>
<TR>
<TD vAlign=top align=left width="30%">
<p><br></p>
<P align=left>
<B>RCPChat Application</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p><br></p>
<P>A new RCP application is available that uses the XMPP provider plugin to create a simple IM client.
To use download this provider goto
<br><br>
<img src="images/screens/rcpchat.png"><br><br>
To use download this application goto
<a href="http://ecf1.osuosl.org">ECF Extras Web Server</a>.</p>
</TD>
</TR>
<TR> <!----------------------------------------------------->
<TD colSpan=2> <HR> </TD>
</TR>
<TR><TD colSpan=2><H2>ECF API Additions and Changes</H2></TD>
<TR>
<TD vAlign=top align=left width="30%">
<p><br></p>
<P align=left>
<B>Core Support For Transactional State Distribution Protocols</B>
</P>
</TD>
<TD vAlign=top width="70%">
<p><br></p>
<P>For reliability, it's frequently desireable to have state distribution done via transactional protocols where either
all participants successfully receive a given piece of application state, or all 'abort' and fail back to a
known state.
<p>
This new set of classes allows applications to easily implement 'all-or-nothing' semantics for arbitrary state distribution
in ECF applications.
</p>
<p>ECF has added a new package, <b>org.eclipse.ecf.core.sharedobject</b> that provides an API for application developers to
create shared objects whose state is distributed via transactional protocols. So, for example, here is some code that
creates a shared object with a Boolean as its state and by inheriting from org.eclipse.ecf.sharedobject.TransactionSharedObject
it automatically uses a transactional protocol (two-phase commit) for istributing its state (in this case a Boolean variable value)
to replicas.
<pre>
package org.eclipse.ecf.test.sharedobjects;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.ecf.core.SharedObjectDescription;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.sharedobject.TransactionSharedObject;
public class TestTransactionSharedObject extends TransactionSharedObject {
Boolean state = null;
public TestTransactionSharedObject(Boolean val, int timeout) {
super(timeout);
state = val;
}
public TestTransactionSharedObject() {
super();
state = null;
}
protected SharedObjectDescription getReplicaDescription(ID receiver) {
// This method is executed on primary to determine initial state
// for replicas
// include primary state in properties
Map properties = new HashMap();
properties.put("state", state);
return new SharedObjectDescription(getID(), getClass().getName(),
properties);
}
protected void initialize() {
// This method is executed on both primary and replicas
super.initialize();
// Only set state via properties if we are replica (not primary)
if (!isPrimary()) {
Map properties = getConfig().getProperties();
if (properties != null) {
state = (Boolean) properties.get("state");
}
}
}
}
</pre>
</TD>
</TR>
</table>
</body>
</html>