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