ECF Application Refactoring
The Eclipse Communication Framework Project team's primary goal is clearly identified as providing an easy-to-use, high quality, consistent, and versatile communications API to the Eclipse Platform.
In order to better convey the features that ECF has to offer and more effectively generate initial interest in the developer audience, exemplary applications, representing rather tangible incarnations of the opportunities ECF enables, will be created to serve as fully functional showcases of ECF technologies.
Existing Items to be Rewritten/Refactored
Example Collab Application
The org.eclipse.ecf.example.collab plugin needs to undergo major refactoring work to extract common components and individual WorkbenchParts so that they can be installed separately or in bundles (similar to how users of Eclipse that just wants the JDT can get the platform+JDT binary without having to install the PDE) and used in RCP applications.
Furthermore, the Collab Application should offer different sets of plugins, semantically suitable for combination, arranged in distinct workbench perspectives.
Bug #160633 is tracking this work.
Suggested initial set of features
- Discovery of ECF generic, xmpp servers.
- Client runs ECF generic server (user decided)
- XMPP buddy list. Combine Hyperbola and ECF buddy list features
- IRC, XMPP, ECF generic chat
- Bulletin Board API
- File Transfer
- XMPP Group chat
- UI Features for presence, IM, text chat.
- Open Browser Links.
- See bug #148874
- Text input/output font control
- URL Co-browsing
- Shared Whiteboard
- Event recording and playback
- <Please add more here>
Suggested package names
- ECF generic functionalities, common connect dialog
- XMPP, IRC, chatting/instant messaging-related
- shared editor, whiteboard, shared code, file transfer, bulletin board
- remote services, publishing subscription, discovery
- <Please feel free to add more or change the names since nothing is yet set in stone.>
Lightweight RCP Applications
In addition to the already existing, workbench-centric and fairly complete Example Collab Application, a new series of RCP-based applications are planned. The reasoning behind this new set of standalone exemplary implementations is manifold:
- less overwhelming experience to support wider adoption and improve on reluctance to try threshold
- increased focus on a small set of features to better present them
- clearer definition of target audience and application domain to increase user/developer interest
Given the existing ECF functionality and desire for the first venture into RCP example application land being of broad appeal, a multi-protocol ECF instant messenger seems quite feasible.
[More info on the IM client is to follow during the course of the 3rd October week ..., please feel free to add suggestions of your own.]