|  | <!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.8.4 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><br> | 
|  | <a href="NewAndNoteworthy_0.5.2.html">New and Noteworthy for 0.5.2</a><br> | 
|  | <a href="NewAndNoteworthy_0.5.4.html">New and Noteworthy for 0.5.4</a><br> | 
|  | <a href="NewAndNoteworthy_0.6.0.html">New and Noteworthy for 0.6.0</a><br> | 
|  | <a href="NewAndNoteworthy_0.6.2.html">New and Noteworthy for 0.6.2</a><br> | 
|  | <a href="NewAndNoteworthy_0.7.0.html">New and Noteworthy for 0.7.0</a><br> | 
|  | <a href="NewAndNoteworthy_0.7.5.html">New and Noteworthy for 0.7.5</a><br> | 
|  | <a href="NewAndNoteworthy_0.7.6.html">New and Noteworthy for 0.7.6</a><br> | 
|  | <a href="NewAndNoteworthy_0.8.0.html">New and Noteworthy for 0.8.0</a><br> | 
|  | <a href="NewAndNoteworthy_0.8.1.html">New and Noteworthy for 0.8.1</a><br> | 
|  | <a href="NewAndNoteworthy_0.8.2.html">New and Noteworthy for 0.8.2</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>Application-Defined Peer-to-Peer Protocols Using XMPP</H2></TD> | 
|  |  | 
|  | <TR> | 
|  | <TD vAlign=top align=left width="30%"> | 
|  | <P align=left> | 
|  | <B>New Example Application</B> | 
|  | </P> | 
|  | </TD> | 
|  | <TD vAlign=top width="70%"> | 
|  | <p><br></p> | 
|  | <P>The <b>org.eclipse.ecf.example.clients</b> plugin has a new example client: <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/example/clients/XMPPSORobotApplication.html">XMPPSORobotApplication</a>. | 
|  | This application shows the use an XMPP's extension mechanism to implement new protocols that can run directly on XMPP. | 
|  | <p> | 
|  | This can be accomplished because the ECF XMPP provider (<b>ecf.xmpp.smack</b>) implements the <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/core/ISharedObjectContainer.html">ISharedObjectContainer</a> API. | 
|  | The ISharedObjectContainer API allows applications to design, implement, and use new protocols, by creating components implementing the | 
|  | <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/core/ISharedObject.html">ISharedObject</a> interface.  These components | 
|  | may then be added to an ISharedObjectContainer instance at runtime.  So, for example, | 
|  | consider the following snippet: | 
|  | <pre> | 
|  | // Get shared object container from xmpp container instance | 
|  | ISharedObjectContainer socontainer = (ISharedObjectContainer) xmppcontainer.getAdapter(ISharedObjectContainer.class); | 
|  | // Create shared object ID...this will be a singleton so the ID can be the class name | 
|  | ID newID = IDFactory.getDefault().createStringID(TrivialSharedObject.class.getName()); | 
|  | // Create shared object itself | 
|  | ISharedObject sharedObject = new TrivialSharedObject(); | 
|  | // Add shared object to container | 
|  | soontainer.getSharedObjectManager().addSharedObject(newID, sharedObject, null); | 
|  | </pre> | 
|  | <p> | 
|  | In the case of this example application, the ISharedObject component is implemented by the <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/example/clients/TrivialSharedObject.html">TrivialSharedObject</a> class. | 
|  | See the source code for this class to examine the implementation of the custom protocol.  The source code for all ECF plugins is available via anonymous CVS access described on | 
|  | the <a href="http://www.eclipse.org/ecf/resources.html">ECF Dev Resources Page</a>. | 
|  | </p> | 
|  | Other ECF clients may define any point-to-point protocol they wish using similar mechanisms (implemented as ISharedObject instances like TrivialSharedObject), and this new protocol will then | 
|  | run on XMPP without requiring modification to existing XMPP servers.  Other XMPP clients (e.g. GAIM, Google Talk, etc.) that do not know about the new protocol will simply | 
|  | ignore any messages directed sent to them.</p> | 
|  | <p></p> | 
|  | </TD> | 
|  | </TR> | 
|  |  | 
|  | <TR> <!-----------------------------------------------------> | 
|  | <TD colSpan=2> <HR> </TD> | 
|  | </TR> | 
|  | <TR><TD colSpan=2><H2>Call API Additions/Changes</H2></TD> | 
|  |  | 
|  | <TR> | 
|  | <TD vAlign=top align=left width="30%"> | 
|  | <P align=left> | 
|  | <B>Enhancements to Support <a href="http://www.jabber.org/jeps/jep-0166.html">Jingle/JEP-166</a></B> | 
|  | </P> | 
|  | </TD> | 
|  | <TD vAlign=top width="70%"> | 
|  | <p><br></p> | 
|  | <P>The ECF plugin <b>org.eclipse.ecf.call</b> is intended to provide an abstract 'Call' API, to allow clients to do call setup in a protocol independent | 
|  | manner.  The API is not finished yet (still experimental), but the ECF team is working on an implementation based upon <a href="http://talk.google.com">Google Talk's</a> | 
|  | <a href="http://www.jabber.org/jeps/jep-0166.html">Jingle protocol</a>. | 
|  | The new/enhanced API javadocs are <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/call/package-frame.html">here</a><p> | 
|  | </TD> | 
|  | </TR> | 
|  |  | 
|  | </table> | 
|  |  | 
|  |  | 
|  | </body> | 
|  | </html> |