| <!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> |