eclipse communication framework

an eclipse technology subproject

New and Noteworthy
1.0.0 Milestone 7


Return to ECF download page
Return to ECF communication resources page

New and Noteworthy for 0.7.0
New and Noteworthy for 0.7.5
New and Noteworthy for 0.7.6
New and Noteworthy for 0.8.0
New and Noteworthy for 0.8.1
New and Noteworthy for 0.8.2
New and Noteworthy for 0.8.4
New and Noteworthy for 0.8.5
New and Noteworthy for 0.8.6
New and Noteworthy for 0.8.7
New and Noteworthy for 0.8.9
New and Noteworthy for 0.9.0
New and Noteworthy for 0.9.1
New and Noteworthy for 0.9.2
New and Noteworthy for 0.9.3
New and Noteworthy for 0.9.4
New and Noteworthy for 0.9.5
New and Noteworthy for 0.9.6
New and Noteworthy for 1.0.0 Milestone 5 New and Noteworthy for 1.0.0 Milestone 6

Skype Provider

Skype Provider

Skype Provider Available at ECF OSU Open Source Lab site. See also here for some screen shots


UI Features

IRC Bot Loose at irc.freenode.net

An IRC bot based upon the ECF Bot Framework is running at irc.freenode.net. See IRC Bot for details.



New Roster and Messages Views

There are new roster and messages views:

These views also are significantly refactored, simplifed, and made more extensible. See the classes org.eclipse.ecf.presence.ui.MultiRosterView for the Contacts view, and org.eclipse.ecf.presence.ui.MessagesView for the Messages View. Both are in the org.eclipse.ecf.presence.ui bundle.





Communications Perspective

Communications Perspective Added.





ShareCode Available

ShareCode plugin available after IP approval. The ShareCode plugin, by Marcelo Mayworm for the 2006 Google Summer of Code are now availble in the EF repository. These plugins are available via anonymous CVS with the following path: /cvsroot/technology, the following module org.eclipse.ecf/examples/plugins/org.eclipse.ecf.example.sharecode. See the ShareCode wiki page for more info. This plugin will also be in a future distribution of ECF.



All ECF Chat and Messages Views support viewing Hyperlinks

All ECF Chat, Messages, and Collaboration views now support embedded hyperlinks. To activate, simply hold down the CTRL key while pointing at the link:





Hyperlink Recognition for Communication Protocols

Hyperlinks in text editors, java editors, etc. are now recognized by ECF and if clicked will result in a connect dialog for the chosen protocol. For example:








API Enhancements

Dynamic Menu Contributions to Roster View

The MultiRosterView now can be extended using the org.eclipse.ui.menus.menuContribution extension point. TODO



Chat View Class Consolidation

Several chat view classes have been consolidated so that now there is only one chat view org.eclipse.ecf.presence.ui.ChatRoomManagerView.



New Automated Build

ECF now has an automated build and server setup to run automated builds. It will be going active sometime within the next week (5.11.2007), and we will be doing daily, and weekly integration builds. Thanks particularly to Pete Mackie and Ted Kubaska for making this possible, and getting the build environment together.



Examples of Extending MultiRosterView Context Menus

The ECF MultiRosterView can now be easily extended with additional functionality. To do this, all that is necessary is to implement the new Platform UI extension point: org.eclipse.ui.menus.menuContribution. Here's an example that adds an URL sharing capability to the MultiRosterView context menu, when a roster entry is selected. The following is from the org.eclipse.ecf.presence.collab.ui plugin.

First, the extension declaration:

   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.ecf.presence.ui.MultiRosterView?before=additions">
         <dynamic
               class="org.eclipse.ecf.presence.collab.ui.URLShareRosterEntryContributionItem"
               id="org.eclipse.ecf.presence.collab.ui.dynamic2">
         </dynamic>
      </menuContribution>
   </extension>
    
With this declaration, the following code will be invoked when the user clicks the right menu button on a roster entry (from URLShareRosterEntryContributionItem):
	protected IAction[] makeActions() {
		// check for Roster entry
		final IRosterEntry entry = getSelectedRosterEntry();
		IContainer c = getContainerForRosterEntry(entry);
		// If roster entry is selected and it has a container
		if (entry != null && c != null) {
			final IChannelContainerAdapter channelAdapter = (IChannelContainerAdapter) c
					.getAdapter(IChannelContainerAdapter.class);
			// If the container has channel container adapter and is online/available
			if (channelAdapter != null && isAvailable(entry)) {
				URLShare tmp = URLShareRosterContributionItem.getURLShare(c
						.getID());
				// If there is an URL share associated with this container
				if (tmp != null) {
					final URLShare urlshare = tmp;
					// Create action for sending
					IAction action = new Action() {
						public void run() {
						    // Actually send URL to selected user
							urlshare.sendURL(entry.getRoster().getUser().getName(),entry.getUser().getID());
						}
					};
					action
							.setText(Messages.URLShareRosterEntryContributionItem_SEND_URL_MENU_TEXT);
					action.setImageDescriptor(Activator.imageDescriptorFromPlugin(
							Activator.PLUGIN_ID, Messages.URLShareRosterContributionItem_BROWSER_ICON));
					// Return action for sending
					return new IAction[] { action };
				}
			}
		}
		// Else return null...meaning we have no menu contribution to make
		return null;
	}