Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ecf-dev] Expected IRC enhancements

Hi Folks,

Christoph Schwering, the author of irclib (which ECF is using) is planning on doing some additions to irclib to support CTP...to support peer-to-peer file transfer (i.e. via ECF filetransfer API) and other things.

I've created this enhancement request to track: https://bugs.eclipse.org/bugs/show_bug.cgi?id=218117

If there are committers and/or contributors available to work with Christoph, or help with the UI additions/integration, please join the bug and make yourself known on the bug.

Scott


-------- Original Message --------
Subject: 	Re: ECF and IRC
Date: 	Wed, 6 Feb 2008 13:33:33 +0100
From: 	Christoph Schwering <schwering@xxxxxxxxx>
To: 	Scott Lewis <slewis@xxxxxxxxxxxxx>
References: <4798F00A.3000504@xxxxxxxxxxxxx> <d366b6870801251708j22f31be7g651c7fc6d3629038@xxxxxxxxxxxxxx> <47A3941E.1060508@xxxxxxxxxxxxx>



Hi Scott,

ok, I will deal with the CTCP in two weeks after my exams.

Thanks for your information about ECF's structure. I'll have a closer
look at it then in two weeks.

Greetings,
Christoph

On Feb 1, 2008 10:50 PM, Scott Lewis <slewis@xxxxxxxxxxxxx> wrote:
Hi Christoph,

Christoph Schwering wrote:
> <stuff deleted>
>
> Well, DCC works the following way: The sender sends a message to the
> potential recipient with some information (the sender's IP address,
> the port the sender is listening to for this specific file transfer,
> the file's name and size). Then, the client accepts by simply
> connecting to the sender's IP address and port and the sender starts
> sending the file.
> This means that the protocol (DCC) is independent from IRC servers, it
> uses IRC just for transfering the necessary connection data.
>

Understood.

> DCC support is not implemented in IRClib, but it's not difficult to
> implement it. I'd like to implement it for ECF.
>

That would be terrific.

> The only "problem" I see is to get familiar with ECF's infrastructure.
> By the way, at this point I'd like to apologize for my unreliability
> last time when I promised to assist with the IRC implementation in
> ECF.
>

No problem.  I understand everyone gets busy.  WRT getting more familiar
with ECF's infrastructure...well I would suggest that the best way to
get familar would be to look at the IRC provider that uses IRC lib.
It's in the org.eclipse.ecf.provider.irc bundle.  You can load this and
other ECF bundles into your workspace by importing this project set
files on this page (or using CVS directly):

http://www.eclipse.org/ecf/dev_resources.php

You will see that the org.eclipse.ecf.provider.irc plugin has the irclib
jar inside it, and it has implementers of IChatRoomContainer interface
from the ECF presence API (in org.eclipse.ecf.presence bundle):
IRCRootContainer and IRCChannelContainer.

Note that for adding filetransfer, we would probably look to extend the
irc provider by having it *also* implement the ECF filetransfer API,
which is in this bundle:  org.eclipse.ecf.filetransfer (the file sending
capability).  Here's the filetransfer API:
http://wiki.eclipse.org/ECF_API_Docs#File_Transfer_API

>
>
>> 2) Data channels (for arbitrary data delivered between clients).  I
>> would like to expose such a thing via the ECF datashare API over IRC.
>> How can/could this be done?  Are there any 'standard' ways to do this
>> (i.e. no user interface...just data sent in order, etc).
>>
>
> Hmm, I don't know what you exactly mean.
>
> DCC is a part of CTCP. CTCP is an extension for IRC that defines some
> commands, among other things the mentioned DCC SEND command. CTCP also
> allows chatting directly (using the IRC server just for connection
> etablishment and bypassing the server at the actual communication).
>
> Do you mean this with data channels?
>

Well, I think CTCP could probably support what I mean by data channels.
Basically what I mean is that it would be nice if there was an
out-of-band channel for peers to send arbitrary data to each other.  ECF
has an API called the 'datashare API':

http://wiki.eclipse.org/ECF_API_Docs#Datashare_API

The datashare API is in plugin org.eclipse.ecf.datashare.

With containers that implement the ECF datashare API, it's possible to
establish and use IChannels...which allow/support the sending/receiving
of byte []s.  So if possible, I would like the IRC container impls to
expose access to creating and using IChannels.

> I have no experience with CTCP except DCC. But I think the rest of
> CTCP is as simple as DCC.
>
>
>
>> 3) Any chance that you would be interested in working on/enhancing
>> IRClib and/or the ECF client along these lines?  One big reason is that
>> there is now an IRC channel for the equinox developers #equinox-dev at
>> irc.freenode.net...and several would like to be able to use ECF/Eclipse
>> as a client, as well as make bots using ECF APIs and also possibily
>> doing some shared editing via ECF datashare API.
>>
>
> Yes, implementing CTCP shouldn't be so hard. I hope :).
>

OK.  Please let me know if I can help any more.  Also, if you describe
what you want to do and are going to do on the ecf-dev@xxxxxxxxxxx
mailing list there may very well be other Eclipse IRC fans (who hang out
on #eclipse-ecf and #eclipse-dev and #equinox-dev on irc.freenode.net
BTW) who would be willing to help and/or complete the work with UI
changes to the ECF IRC client (Remy Suen did quite a lot of IRC work).

Thanks again.

Scott




>
>> Thanksinadvance for any info,
>>
>> Scott
>>
>
> Regards,
>
> Christoph
>





Back to the top