<!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 project</font>
        <br><br>
        <font class="indextop style2">New and Noteworthy</font><br>1.1.0</font>
        <br><br>
      </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>

<hr>

<table>

  <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Presence and Chat UI Improvements</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
       A number of UI changes/additions were contributed:
       <p></p>
		Buddy list pictures now show when hovering over a buddy for supporting providers (XMPP/Google Talk):
       <p></p>
       <img src="images/screens/avatar.png"></li>
       <p></p>
       Several improvements to chat UI (IRC/XMPP), including operations on members (e.g. WHOIS for IRC), user count, better handling of 
       text scrolling, etc.
       <p></p>       
       <img src="images/screens/chatviewui.png"></li>
       <br><br>
    </td>
  </TR>

  <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Jingle-Based VOIP</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
       See terrific work for the Google SOC by Moritz Post <a href="http://wiki.eclipse.org/VoIP_via_the_ECF_Call_API_and_the_Jingle_Protocol">here</a>.  
       <br><br>
       <br><br>
    </td>
  </TR>

  <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>ECF Server Applications</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
       See <a href="http://wiki.eclipse.org/ECF_Servers">ECF Servers wiki page</a>.  Also servers associated with each of the 
       new providers described below (Websphere CE, Weblogic, JGroups).  
       <br><br>
       <br><br>
    </td>
  </TR>

  <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>BugDay Fixes/Enhancements</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    
       ECF had an excellent number of <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=ECF&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=2007-06-25&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">bugs fixed</a>.  Both via
       <a href="http://wiki.eclipse.org/BugDay">Bug Day</a>.
       <br><br>
       <br><br>
    </td>
  </TR>

  <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Browse Contacts</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    
       Added the ability to open a browse contacts dialog and interactively search through contacts.
       <p></p>
       <img src="images/screens/browsecontacts.png">
       <p></p>
       See also <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=195770">bug #195770</a> and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=195772">bug #196772</a>.
       <br><br>
       <br><br>
    </td>
  </TR>

  <TR> <!----------------------------------------------------->
    <TD colSpan=2> <HR> </TD>
  </TR>
  
  <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Discovery API</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
       Significant additions to the discovery API.  See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=200791">bug #200791</a> and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=199259">bug #199259</a>.
       <br><br>
    </td>
  </TR>

 <TR><TD colSpan=2><H2>ECF API Changes</H2></TD>

    <TR>
  
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Presence API Improvements</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
    	Added support for sending/receiving subject/topic updates for a chat room (IChatRoomAdminListener/IChatRoomAdminSender).
       <br><br>
       <br><br>
    </td>
  </TR>

  <TR>
  
       <br><br>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>New Providers:  IBM Websphere CE, BEA Weblogic, JGroups Multicast</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
        See the <a href="http://ecf1.osuosl.org">ECF @ OSUOSL website</a>.
       <br><br>
       <br><br>
    </td>
  </TR>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Automated Build</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
        ECF now has an automated build and server setup to run automated daily builds.  
        <br><br>
       <br><br>
    </TD>
   </tr>

  <TR>
    <TD vAlign=top align=left width="30%">
        <P align=left>
	<B>Changed execution environment for org.eclipse.ecf.provider bundle</B>
        </P>
    </TD>
    <TD vAlign=top width="70%"><p>
     Refactored classes out of bundle and changed execution environment for <b>org.eclipse.ecf.provider</b> bundle to CDC 1.1/Foundation 1.1.  Allows this bundle 
     to be used in other runtime environments.  See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=202100">bug #202100</a>.</p>
      <br><br>
       <br><br>
    </TD>
   </tr>

</table>

</body>
</html>
