[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [ecf-dev] Simple chat app | 
Hi Tim,
Tim Terlegård wrote:
Hi,
I'd like to see how the example plugins are doing stuff. I have the
plugins in Eclipse, but there's no source code there. Can I get the
source code from somewhere?
  
Yes.  There are instructions here:  
http://www.eclipse.org/ecf/resources.html
for getting anonymous CVS access to all the ECF source.
I haven't found any documentation good or easy enough so I can get
started making a simple chat application. The javadocs could tell me
a lot, but there's nothing there telling me what features a package or
class contain.
  
The best thing to do, I think, is to look at a few example clients.  So 
in the org.eclipse.ecf.example.clients plugin are some relatively simple 
chat apps:
org.eclipse.ecf.example.clients.RobotApplication:  A very simple Robot 
that communicates via xmpp chat rooms.
org.eclipse.ecf.example.clients.XMPPChatClient:  An incomplete XMPP chat 
client (also an IM client)
org.eclipse.ecf.example.clients.XMPPClient:  An XMPP IM/presence client 
(not an n-way chat like above)
Also...see the following: 
http://www.eclipse.org/ecf/presentations/EclipseCon.2006.ECF.Talk.385.pdf
What is org.eclipse.ecf.provider.generic? Generic for chat, for voip or
super generic for every single protocol?
  
This package provides some generic classes/abstract superclasses for use 
by provider implementers (of whatever protocol).   For example, 
SOContainer is a generic abstract superclass for providers that choose 
to implement the ISharedObjectContainer api.  It's used by the 
TCPClientSOContainer (the 'ECF generic' provider client), 
TCPServerSOContainer (the 'ECF generic' provider server).  It's also 
used by the XMPP provider.
I though ECF was only about low level stuff, but I was glad when I found
org.eclipse.ecf.ui.* in the javadocs. That's cool.
  
In order to create some example apps we've done some UI code.  We need a 
lot more, however, and it's not the primary focus of the framework 
(although along with everything else people are completely free to use, 
change, improve this UI code...if you do so, though, we'll hope you 
consider contributing it back to the project!)
How would I go about making a simple chat application (not using irc/im
protocols)? Is provider.generic for this? Do I need a provider? 
You do need a provider (although you don't have to use provider.generic 
specifically...see below).  Providers represent implementations of an 
abstract API (e.g. presence/im/chat) that is implemented via particular 
protocol.  So, for example, in the XMPPClient.java code you will see 
reference to interfaces (API) for communicating about presence/im/chat 
(in the org.eclipse.ecf.presence bundle/plugin).  But the 
*implementation* of these APIs is via a provider that communicates via a 
particular protocol to support the functions provided by the API. 
You can think of the ECF APIs plugins (e.g. org.eclipse.ecf.presence, 
org.eclipse.ecf.discovery, org.eclipse.ecf.core, 
org.eclipse.ecf.datashare, org.eclipse.ecf.fileshare, 
org.eclipse.ecf.call, etc) as a way to represent certain kinds of 
communication semantics, independent of specific wire protocols.  The 
providers deliver implementations of these APIs (one or more of them) 
that use a particular wire protocol to communicate.  e.g. the presence 
api can be implemented via xmpp or yahoo's protocol and the application 
doesn't really have to care which wire protocol it's using...rather it's 
just communicating about 'presence', 'messages', 'chat'.
In general, ECF is attempt to create a virtualization layer for 
communications protocols.
Now...the generic provider (with implementation in 
org.eclipse.ecf.provider.generic) can also be used to create a chat 
app.  The ecf example collab plugin (org.eclipse.ecf.example.collab) 
does exactly this.  So, for example, see the code in 
org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject for an 
example of a chat app (and it does more than just chat...but see 
sendShowTextMsg(...)/handleShowTextMsg(...) specifically for the chat 
functionality.
Is there
any provider I could use for this or do I need to make my own?
  
You can use IRC, XMPP, Yahoo providers or the ECF generic one if you 
want.  I would suggest the XMPP clients pointed to above for a quick 
start...as well as the IRC provider.
You can, of course, create your own provider...e.g. here's a short 
tutorial about how to do that:
http://www-128.ibm.com/developerworks/opensource/library/os-ecl-commfwk/
and we hope/encourage you to do so.  If you do create a provider and are 
willing/able to share it with the community please consider doing so.
Thanks,
Scott
Thanks, Tim
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev