Who should use this guide
This manual is for people who want to integrate communication capabilities into their Eclipse Workbench. The biggest time consuming tasks beside actually typing code is communicating about that code. If you would be able to get a hold of time-sheets of random development projects, it could reveal that communicating about the code is the winner if it comes to development time.
So, if you agree with the latter then you perhaps also agree that a multi-tool like Eclipse is not complete without communication capabilities. And here you are. Welcome to the Eclipse Communication Framework (ECF) Users Guide.
ECF has two major uses:
- For Users: ECF provides Instant Messaging (IM), Chat, File Sharing, Voice-Over-IP (VOIP) and Real-Time Group Collaboration
- For Developers: A framework (set of APIs) for developers to add communications functions to their tools and applications
This manual is about "using" the ECF. If you want to learn how to integrate ECF into your own applications, you are welcome to the ECF Integration Guide (but it will not hurt to skim through this manual first.)
ECF is a framework for building distributed servers, applications, and tools. The elements in this framework were used to build the user tools that you will find in this manual. The ECF components can also be used to build new user level tools. Please see the ECF Integrators Guide if you want to learn more about the ECF components.
Please keep in mind that ECF is a Framework. It is not directly meant to provide end-user applications although we have enough useful stuff to fill an entire manual. ECF typically will provide as much tools as possible without them individually being very rich of functionality. Many of the tools can be used as a solid base for building richer tools based on ECF technology.
From an end-user's perspective, ECF provides three major areas of communication which are Person to Person Communication, Collaboration and Utilities. Let's take a look at these three different area's and the see what the ECF has available for you.
- Person to Person Communication
- ECF Provide tools to use an IRC server to join IRC chatrooms. Eclipse committers operate many rooms on the Freenode server. They are happy to help you answer questions. You are also able to setup your own room, for example to host your companies helpdesk.
- ECF provides tools to use XMPP and XMPPS protocol. XMPP started its life as the Jabber protocol but is since renamed to XMPP, the eXtensible Messaging and Presence Protocol. This open protocol is in use by many applications, most notably Jabber and Google Talk.
- MSN (originally the Microsoft Network) is the protocol for the chat service provided by Microsoft. ECF provides a client to connect to people on the MSN network.
- Every Eclipse Bugzilla user is hooked up to the Eclipse IM (XMPP) server. Use this to connect to the Eclipse community.
- The ECF framework is used to create a Twitter client, called Tweethub.
- In addition to real-time chat clients, ECF also Provides the NNTP or Network News Transfer Protocol together with a basic news client named Salvo.
- Use ECF to share workspaces and editors for remote pair programming sessions using real-time collaborative editing.
- ECF Provides capabilities to share files by using XMPP and the BitTorrent protocol.
To download all of ECF's components, including the Communications perspective which contains most of the collaboration and chat user interfaces, you can just search ECF on the Eclipse Marketplace. After restart you are able to open the Communication Perspective and connect with your favorite chat client.
If you want to take a look at Tweethub or Salvo, they are currently available as source builds or as standalone products. Please search the net with the keywords ECF Tweethub or ECF Salvo to find the latest versions of these applications.
the Eclipse Marketplace Client (MPC) is a rich client interface for browsing and installing the Eclipse based solutions listed on the Eclipse Marketplace portal. It is a feature that allows Eclipse users to discover and install Eclipse solutions directly into their Eclipse installation.
The Eclipse Marketplace is under control of the community. This means that the ECF team is able to update the entries in the Marketplace and we can therefore make new releases available as soon as they are available. Although ECF follows the Eclipse Release Train, we also bring out additional releases, typically two, throughout the year.
Installing the Eclipse Marketplace Client
If you have downloaded one of the Eclipse Distributions, you may find the Eclipse Marketplace Client readily available via the Help menu. If the Marketplace Client is not in the menu you can install it from the current Eclipse download site. To do this, open the Help menu and press the "Install New Software..." menu item.
Enter the current Eclipse download site which in this case is http://download.eclipse.org/releases/helios and press Enter. After a little while, the table will be loaded with installable units. If you enter the text marketplace in the search box, you will be presented with the entry for the marketplace client.
Select the entry named Marketplace Client and press the "Next >" button. After going through the wizard you will be able to install software from the Eclipse Marketplace.
After the Marketplace Client has been installed and Eclipse has restarted, you are able to select the MPC from the Help menu. You will be presented with a search dialog. If you search for ECF you will be presented with the Eclipse Communication Framework entry. Click on install and follow the instructions on your screen.
Installing ECF Directly
You are also able to install ECF directly from the Installation Client in Eclipse. To do this, open the Help menu and press the "Install New Software..." menu item.
Enter the current Eclipse download site which in this case is http://download.eclipse.org/releases/helios and press Enter. After a little while, the table will be loaded with installable units. If you enter the text communication in the search box, you will be presented with the entry for the ECF.
Select the entry named Eclipse Communication Framework - Target Components and press the "Next >" button. After going through the wizard you will be able to install software from the Eclipse Marketplace.
After the ECF has been installed and Eclipse has restarted, you are able to use ECF immediately.
You may notice that the version supplied in the Installation Client is not the latest and the greatest release. Most of the time this is not problem. Each ECF release is stable on its own. However, if you require the latest release then you are also able to download from one of ECF's download servers. The ECF servers are hosted outside of Eclipse because there are many ECF projects that are not yet ready for the main stage. This has to do with the maturity of the projects on one side and with the Eclipse IP (Intellectual Property) process on the other.
The ECF servers provide a nice incubation area for new communication projects. Other projects have not passed Eclipse IP and maybe never will due to license restrictions. The latter does not mean that the software is not open source, because all of ECF's code is in the public domain.
Upon installation of both the ECF 'Core' feature and the ECF 'Application' feature, ECF creates a new perspective for the workspace called 'Communications'. To access this perspective, open the 'Window' menu and select 'Open Perspective/Other...' and select the 'Communications' perspective. Once the perspective is open, you can switch back and forth by using the perspective toolbar which is normally located in the upper right corner of the Eclipse IDE.
There are several communication applications available inside ECF. The next topics will discuss all of them.