[
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