Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 280347

Summary: [wave][provider] implement wave protocol as new ECF provider
Product: [RT] ECF Reporter: Scott Lewis <slewis>
Component: ecf.providersAssignee: Scott Lewis <slewis>
Status: RESOLVED WONTFIX QA Contact:
Severity: enhancement    
Priority: P3 CC: age.mooy, alex.blewitt, andrey, anonymous.lion, b.muskalla, batxut, bfitzpat, bhunt, bugs.eclipse.org, byu, c.vidal, caniszczyk, casey.marshall, cdtdoug, codesurgeon, contact, craigugoretz2, dba10g, dman, eclipse, eclipse, elias, fg, fufei, greg, gunnar, gunnerguyven, harshana05, info, irbull, james, joerg, john.arthorne, Kenn.Hussey, kjdoyle, kompiro, mayworm, mik.kersten, mikegr, Mike_Wilson, mknauer, mpost, n.a.edgar, ohler+eclipsebugs, olivier.nouguier, patrick, peterplatek, phperret, piilupart, ramirogm, remy.suen, robert.elves, roman.porotnikov, ronbermejo, santeri.vesalainen, sebastian.schmidt2, sekhar, stepper, tanujmathur, upuliroshan, wmitsuda, wojciech.galanciak
Version: unspecifiedKeywords: helpwanted, plan
Target Milestone: 3.2.0   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 290953    

Description Scott Lewis CLA 2009-06-15 16:21:52 EDT
Google's wave protocol is an emerging server-to-server protocol for real-time updates and replicated state synchronization.  The protocol is being specified and developed in the open at www.waveprotocol.org.

Using the following 3 ECF characteristics

1) ECF's provider architecture
2) the ECF sync API for implementing operational transformation and
3) Our existing XMPP provider

it should be straightforward to implement a Wave provider in ECF, allowing Equinox-based runtimes to both host Waves/wavelets, and participate in waves/wavelets hosted by google and by other implementers.

In the 2009-2010 release cycle, ECF should introduce a Wave provider and one or more wave clients based upon this provider that can interoperate with other wave clients (e.g. browser-based clients).
Comment 1 Scott Lewis CLA 2009-06-19 15:14:38 EDT
Added dependency on 235884 (XMPP server)
Comment 2 Scott Lewis CLA 2009-06-19 15:39:15 EDT
typo on depends...wanted 235844, typed 235884.  Sorry about the confusion.
Comment 3 Chris Aniszczyk CLA 2009-08-10 22:23:46 EDT
We are also dependent on this CQ:

https://dev.eclipse.org/ipzilla/show_bug.cgi?id=3476
Comment 4 Scott Lewis CLA 2009-08-10 22:25:00 EDT
Note the availability of java-based wave protocol implementation (from Google):

http://code.google.com/p/wave-protocol/

As in comment 3, we have initiated a CQ to use to implement this enhancement:  

http://dev.eclipse.org/ipzilla/show_bug.cgi?id=3476

Comment 5 Scott Lewis CLA 2009-09-24 14:39:41 EDT
Adding plan keyword for inclusion into ECF automated plan doc.
Comment 6 Scott Lewis CLA 2009-10-04 19:14:40 EDT
Assigning to myself.  I've begun work on this enhancement, in anticipation of approval and usage of the wave protocol implementation being reviewed via CQ: http://dev.eclipse.org/ipzilla/show_bug.cgi?id=3476

Temporarily, the ongoing work on this provider will be located on ECF's CVS server at the OSU Open Source Lab:

:pserver:anonymous@ecf1.osuosl.org:/ecf

(new) module:  wave/org.eclipse.ecf.provider.xmpp.wave

once CQ 3476 is approved I will move the new o.e.e.provider.xmpp.wave bundle to dev.eclipse.org.

Work on this enhancement will be coordinated by me with two other pending additions to ECF...one is the use of Smack 3.1.0 (bug 276879), as well as bug 287337...the Google Services Provider contribution by Nuwan Sam contributed from his GSOC 2009 project.

If you are able/willing to contribute to work on this enhancement in the fall of 2009, please make this known on ecf-dev at eclipse.org mailing list.
Comment 7 Mark Minter CLA 2009-11-18 19:10:02 EST
I want to work on this.  I can go it pretty much full time.
Comment 8 Scott Lewis CLA 2009-11-18 19:35:15 EST
(In reply to comment #7)
> I want to work on this.  I can go it pretty much full time.

Hi Mark.  Thanks for contributing.  There are some projects that I've been working on available via 

:pserver:anonymous@ecf1.osuosl.org:/ecf

there are two projects in the 'wave' module:

org.eclipse.ecf.wave
org.eclipse.ecf.provider.wave

I'm planning myself to work on these projects further over the next few weeks, and would welcome collaboration with you and others.

Mark if you would please send me an email at slewis at composent.com and we can correspond about getting you write access to the CVS repo so that you can make changes to these projects.  Thanks.
Comment 9 Craig Ugoretz CLA 2010-01-28 09:38:01 EST
Hello,

    Forgot to add a comment when I added myself to the cc list.  My name is Craig Ugoretz and I am interested in working on the ECF - Google Wave project.  Not sure what else to say right now, except that I have not programmed seriously in a number of years, so this will be a bit of an adjustment for me.  The topic matter is certainly most interesting, though, so I look forward to seeing what I can accomplish by helping you.

                                             Craig Ugoretz
Comment 10 Scott Lewis CLA 2010-01-31 15:42:38 EST
I have started implementing the ECF wave API and a wave provider (as per this bug).  I (Scott) and others will be working frequently with this code over the next month (Feb 2010) in order to fully address this enhancement request for the Helios release (June 2010).

For those that are interested in contributing to the work on this bug, below are the instructions for getting the latest code.

1) Get Eclipse 3.5.1...or 3.6Mx.
2) Create a new workspace (it's not strictly necessary to have in a new workspace, but it's probably easier)
3) Retrieve the org.eclipse.ecf.wave.releng project from ecf1.osuosl.org into your local workspace:
   pserver:  :pserver:anonymous@ecf1.osuosl.org:/ecf
   extssh:  :extssh:ecf1.osuosl.org:/home/cvs/ecf
Note:  unfortunately the paths are different for pserver and extssh access...this is an unfortunate side effect of how CVS was setup on this machine

project path:  wave/org.eclipse.ecf.wave.releng

Import/retrieve this project to your workspace

4) Load the appropriate project set file in the org.eclipse.ecf.wave.releng project:
   pserver:  waveProjects.anonymous.psf
   extssh:  waveProjects.extssh.psf
Note:  In eclipse, you can right click on the appropriate project set file and choose Import Project Set...

This will load the following two projects into your workspace:
/org.eclipse.ecf.provider.wave.google   <-- this is the ECF wave client provider
/org.eclipse.ecf.wave <- this is the wave API

Please note: Both of these projects are under construction and will change rapidly (and perhaps significantly) over the next few weeks.  So please update often.

Please coordinate work via 

a) this bug (by posting comments about areas where you are interested in contributing) and/or 
b) through correspondence with me slewis at composent.com.  We may schedule some voip and/or conference calls for coordination if needed.  

Also please feel free to ask me (Scott) questions...either on this bug and/or direct correspondence.

Note:  This is currently using version 0.2 of the fedone google wave client from waveprotocol.org.  The jar that is inside the Google provider was created/built by me (Scott) on Saturday, Jan 30 after using mercurial to update to the latest code from waveprotocol.org.  I would suggest that in addition to the ECF codebase, that you consider getting the source (via mercurial) from waveprotocol.org.  I can/will make the Eclipse project meta-data available on this bug if requested, so that it can live as a java project within your workspace.

Please expect a lot more traffic on this bug over the coming days and weeks, as work on this enhancement has reached the top of my personal work list.
Comment 11 Scott Lewis CLA 2014-02-12 15:08:36 EST
Given google's closing of wave project and limited ECF resources this seems unlikely to happen.  If resources and interest become available, please reopen.