Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ECF Application Refactoring"

(Formatting and grammar, noting that org.eclipse.ecf.example.collab should probably be split up into multiple UI plug-ins)
m (mentioned arrangement of plugins in perspectives)
Line 7: Line 7:
 
===Example Collab Application===
 
===Example Collab Application===
 
The org.eclipse.ecf.example.collab plugin needs to undergo major refactoring work to extract common components and individual <tt>WorkbenchPart</tt>s 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 [[Application Refactoring#Lightweight RCP Applications|RCP applications]].
 
The org.eclipse.ecf.example.collab plugin needs to undergo major refactoring work to extract common components and individual <tt>WorkbenchPart</tt>s 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 [[Application Refactoring#Lightweight RCP Applications|RCP applications]].
 +
 +
Furthermore, the ''Collab Application'' should offer different sets of plugins, semantically suitable for combination, arranged in distinct workbench perspectives.
  
 
Bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=160633 #160633] is tracking this work.
 
Bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=160633 #160633] is tracking this work.

Revision as of 10:24, 17 October 2006

Motivation

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.
  • Text input/output font control
  • URL Co-browsing
  • Shared Whiteboard
  • Event recording and playback
  • <Please add more here>

Suggested package names

  • org.eclipse.ecf.ui
    • ECF generic functionalities, common connect dialog
  • org.eclipse.ecf.ui.im
    • XMPP, IRC, chatting/instant messaging-related
  • org.eclipse.ecf.ui.datashare
    • shared editor, whiteboard, shared code, file transfer, bulletin board
  • org.eclipse.ecf.ui.services
    • remote services, publishing subscription, discovery
  • <Please feel free to add more or change the names since nothing is yet set in stone.>

Planned Items

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.]

Back to the top