Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any chance of some documentation? #1

Open
JohnMcLear opened this issue Mar 1, 2013 · 8 comments
Open

Any chance of some documentation? #1

JohnMcLear opened this issue Mar 1, 2013 · 8 comments

Comments

@JohnMcLear
Copy link

It'd be cool if we could see what the status of this is?

@dsblank
Copy link

dsblank commented Mar 4, 2013

If you could provide just a couple of sentences about how to build and test with jEditPad, that would go a long way. Thanks!

@jukowski
Copy link
Owner

jukowski commented Mar 7, 2013

Sorry for replying so late. I'm quite busy but I'd like to help integrating jEdit with Etherpad or ShareJS (which can also understand etherpad changesets already). As I see the code doing the real jEdit integration is lost but it's not so hard to do it and I'd like to revive this anyway.

The problem of integrating anything with Etherpad-lite is that it uses SocketIO and I could not find a java library talking SocketIO. So I think this is a major problem.

To build the project you need to open it in Eclipse. Try running https://github.com/jucovschi/jeasysync2/blob/master/test/com/etherpad/lite/ConnectionTest.java. This should connect to pad test2 and write blah every second in it.

To be honest I'm more interested in creating the jEdit <-> ShareJS connection as ShareJS has a better code base and more types of content you can sync...

@JohnMcLear
Copy link
Author

Tbh ShareJS will end up with as complex as a code base when you start to introduce an editor but I guess that is yet to be seen, I do agree w/ the types of contents though, shareJS provides better support for more complex objects but will run into the same limitations as Etherpad given time.

Here is a socket IO Java client. https://github.com/Gottox/socket.io-java-client

@dsblank
Copy link

dsblank commented Mar 7, 2013

Thanks for getting back to us! Some basic questions:

  1. What is the state of jeasysync2? Is it complete? If not, what is it
    missing?

  2. It looks like the jEdit plugin never really got started, as I don't see
    any code dealing with editing events, or with incoming events from the
    server. Is this correct? Is there a list of events that a client editor
    will need to handle?

(BTW, I am not interested in Java, but in using a C# Mono system. I
successfully converted the jeasysync2 code to a DLL which loads and runs
from .NET and Mono, via a number of languages by using IKVM. If either of
you know of additional resources we can look at for this project, that
would be great. Thanks!)

-Doug

On Thu, Mar 7, 2013 at 8:42 AM, John McLear [email protected]:

Tbh ShareJS will end up with as complex as a code base when you start to
introduce an editor.

Here is a socket IO Java client.
https://github.com/Gottox/socket.io-java-client


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-14560916
.

@dsblank
Copy link

dsblank commented Mar 7, 2013

One additional question: I don't understand the comments about ShareJS... isn't that a JavaScript library? How will you integrate that with a Java text editor? I am interested in jeasysync2 because it is written in Java (and can be converted to .NET).

@dsblank
Copy link

dsblank commented Mar 7, 2013

I tried the ConnectionTest.java as you describe, but it appears to fail (output below). Any ideas?

Mar 07, 2013 4:59:49 PM com.etherpad.lite.EtherpadLiteConnection
INFO: Opening connection to pad test2 at URL http://localhost:9001
Mar 07, 2013 4:59:49 PM io.socket.IOConnection transportConnected
INFO: Bulk start:
Mar 07, 2013 4:59:49 PM io.socket.IOConnection transportConnected
INFO: Bulk end
Mar 07, 2013 4:59:49 PM io.socket.IOConnection transportMessage
INFO: < 1::
Mar 07, 2013 4:59:49 PM io.socket.IOConnection sendPlain
INFO: > 4:::{"protocolVersion":2,"sessionID":"asdasgasdg","token":"sdgasdlgh","component":"pad","padId":"test2","type":"CLIENT_READY","password":"fasdfasdg"}
Mar 07, 2013 4:59:49 PM io.socket.IOConnection transportMessage
INFO: < 4:::{"type":"CLIENT_VARS","data":{"accountPrivs":{"maxRevisions":100},"initialRevisionList":[],"initialOptions":{"guestPolicy":"deny"},"savedRevisions":[],"collab_client_vars":{"initialAttributedText":{"text":"here blahis my text\n\n","attribs":"|2+l"},"clientIp":"127.0.0.1","padId":"test2","historicalAuthorData":{"a.yN7aAoTV6cQCWfZz":{"colorId":28,"name":null,"padIDs":{"test2":1}}},"apool":{"numToAttrib":{},"nextNum":0},"rev":6,"globalPadId":"test2","time":1362692693910},"colorPalette":["#ffc7c7","#fff1c7","#e3ffc7","#c7ffd5","#c7ffff","#c7d5ff","#e3c7ff","#ffc7f1","#ff8f8f","#ffe38f","#c7ff8f","#8fffab","#8fffff","#8fabff","#c78fff","#ff8fe3","#d97979","#d9c179","#a9d979","#79d991","#79d9d9","#7991d9","#a979d9","#d979c1","#d9a9a9","#d9cda9","#c1d9a9","#a9d9b5","#a9d9d9","#a9b5d9","#c1a9d9","#d9a9cd","#4c9c82","#12d1ad","#2d8e80","#7485c3","#a091c7","#3185ab","#6818b4","#e6e76d","#a42c64","#f386e5","#4ecc0c","#c0c236","#693224","#b5de6a","#9b88fd","#358f9b","#496d2f","#e267fe","#d23056","#1a1a64","#5aa335","#d722bb","#86dc6c","#b5a714","#955b6a","#9f2985","#4b81c8","#3d6a5b","#434e16","#d16084","#af6a0e","#8c8bd8"],"clientIp":"127.0.0.1","userIsGuest":true,"userColor":28,"padId":"test2","initialTitle":"Pad: test2","opts":{},"chatHead":-1,"numConnectedUsers":0,"readOnlyId":"r.TJjaqmUayLVBQ6Vs","readonly":false,"serverTimestamp":1362693589256,"globalPadId":"test2","userId":"a.yN7aAoTV6cQCWfZz","abiwordAvailable":"no","plugins":{"plugins":{"ep_etherpad-lite":{"parts":[{"name":"express","hooks":{"createServer":"ep_etherpad-lite/node/hooks/express:createServer","restartServer":"ep_etherpad-lite/node/hooks/express:restartServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/express"},{"name":"static","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/static:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/static"},{"name":"i18n","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/i18n:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/i18n"},{"name":"specialpages","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/specialpages:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/specialpages"},{"name":"padurlsanitize","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padurlsanitize:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padurlsanitize"},{"name":"padreadonly","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padreadonly:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padreadonly"},{"name":"webaccess","hooks":{"expressConfigure":"ep_etherpad-lite/node/hooks/express/webaccess:expressConfigure"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/webaccess"},{"name":"apicalls","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/apicalls:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/apicalls"},{"name":"importexport","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/importexport:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/importexport"},{"name":"errorhandling","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/errorhandling:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/errorhandling"},{"name":"socketio","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/socketio:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/socketio"},{"name":"tests","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/tests:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/tests"},{"name":"admin","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/admin:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/admin"},{"name":"adminplugins","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminplugins:expressCreateServer","socketio":"ep_etherpad-lite/node/hooks/express/adminplugins:socketio"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminplugins"},{"name":"adminsettings","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminsettings:expressCreateServer","socketio":"ep_etherpad-lite/node/hooks/express/adminsettings:socketio"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminsettings"}],"package":{"name":"ep_etherpad-lite","description":"A Etherpad based on node.js","homepage":"https://github.com/ether/etherpad-lite","keywords":["etherpad","realtime","collaborative","editor"],"author":"Peter 'Pita' Martischka [email protected] - Primary Technology Ltd","contributors":[{"name":"John McLear"},{"name":"Hans Pinckaers"},{"name":"Robin Buse"},{"name":"Marcel Klehr"}],"bin":{"etherpad-lite":"./node/server.js"},"devDependencies":{"wd":"0.0.31"},"engines":{"node":">=0.6.3","npm":">=1.0"},"version":"1.2.81","realName":"ep_etherpad-lite","path":"/home/dblank/Downloads/ether-etherpad-lite-8440128/node_modules/ep_etherpad-lite","realPath":"/home/dblank/Downloads/ether-etherpad-lite-8440128/src","link":"/home/dblank/Downloads/ether-etherpad-lite-8440128/src","depth":1}}},"parts":[{"name":"adminsettings","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminsettings:expressCreateServer","socketio":"ep_etherpad-lite/node/hooks/express/adminsettings:socketio"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminsettings"},{"name":"adminplugins","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminplugins:expressCreateServer","socketio":"ep_etherpad-lite/node/hooks/express/adminplugins:socketio"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminplugins"},{"name":"admin","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/admin:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/admin"},{"name":"tests","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/tests:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/tests"},{"name":"socketio","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/socketio:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/socketio"},{"name":"errorhandling","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/errorhandling:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/errorhandling"},{"name":"importexport","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/importexport:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/importexport"},{"name":"apicalls","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/apicalls:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/apicalls"},{"name":"webaccess","hooks":{"expressConfigure":"ep_etherpad-lite/node/hooks/express/webaccess:expressConfigure"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/webaccess"},{"name":"padreadonly","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padreadonly:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padreadonly"},{"name":"padurlsanitize","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padurlsanitize:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padurlsanitize"},{"name":"specialpages","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/specialpages:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/specialpages"},{"name":"i18n","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/i18n:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/i18n"},{"name":"static","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/static:expressCreateServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/static"},{"name":"express","hooks":{"createServer":"ep_etherpad-lite/node/hooks/express:createServer","restartServer":"ep_etherpad-lite/node/hooks/express:restartServer"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/express"}]},"initialChangesets":[]}}
Mar 07, 2013 4:59:49 PM com.etherpad.lite.EtherpadLiteConnection$ConnHandler onMessage
INFO: XXXXXXXXXX Received from server {"data":{"initialRevisionList":[],"initialChangesets":[],"opts":{},"plugins":{"plugins":{"ep_etherpad-lite":{"package":{"contributors":[{"name":"John McLear"},{"name":"Hans Pinckaers"},{"name":"Robin Buse"},{"name":"Marcel Klehr"}],"keywords":["etherpad","realtime","collaborative","editor"],"link":"/home/dblank/Downloads/ether-etherpad-lite-8440128/src","engines":{"node":">=0.6.3","npm":">=1.0"},"realPath":"/home/dblank/Downloads/ether-etherpad-lite-8440128/src","devDependencies":{"wd":"0.0.31"},"depth":1,"homepage":"https://github.com/ether/etherpad-lite","version":"1.2.81","author":"Peter 'Pita' Martischka [email protected] - Primary Technology Ltd","description":"A Etherpad based on node.js","name":"ep_etherpad-lite","path":"/home/dblank/Downloads/ether-etherpad-lite-8440128/node_modules/ep_etherpad-lite","realName":"ep_etherpad-lite","bin":{"etherpad-lite":"./node/server.js"}},"parts":[{"hooks":{"restartServer":"ep_etherpad-lite/node/hooks/express:restartServer","createServer":"ep_etherpad-lite/node/hooks/express:createServer"},"name":"express","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/express"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/static:expressCreateServer"},"name":"static","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/static"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/i18n:expressCreateServer"},"name":"i18n","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/i18n"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/specialpages:expressCreateServer"},"name":"specialpages","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/specialpages"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padurlsanitize:expressCreateServer"},"name":"padurlsanitize","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padurlsanitize"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padreadonly:expressCreateServer"},"name":"padreadonly","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padreadonly"},{"hooks":{"expressConfigure":"ep_etherpad-lite/node/hooks/express/webaccess:expressConfigure"},"name":"webaccess","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/webaccess"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/apicalls:expressCreateServer"},"name":"apicalls","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/apicalls"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/importexport:expressCreateServer"},"name":"importexport","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/importexport"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/errorhandling:expressCreateServer"},"name":"errorhandling","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/errorhandling"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/socketio:expressCreateServer"},"name":"socketio","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/socketio"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/tests:expressCreateServer"},"name":"tests","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/tests"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/admin:expressCreateServer"},"name":"admin","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/admin"},{"hooks":{"socketio":"ep_etherpad-lite/node/hooks/express/adminplugins:socketio","expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminplugins:expressCreateServer"},"name":"adminplugins","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminplugins"},{"hooks":{"socketio":"ep_etherpad-lite/node/hooks/express/adminsettings:socketio","expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminsettings:expressCreateServer"},"name":"adminsettings","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminsettings"}]}},"parts":[{"hooks":{"socketio":"ep_etherpad-lite/node/hooks/express/adminsettings:socketio","expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminsettings:expressCreateServer"},"name":"adminsettings","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminsettings"},{"hooks":{"socketio":"ep_etherpad-lite/node/hooks/express/adminplugins:socketio","expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminplugins:expressCreateServer"},"name":"adminplugins","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminplugins"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/admin:expressCreateServer"},"name":"admin","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/admin"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/tests:expressCreateServer"},"name":"tests","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/tests"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/socketio:expressCreateServer"},"name":"socketio","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/socketio"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/errorhandling:expressCreateServer"},"name":"errorhandling","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/errorhandling"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/importexport:expressCreateServer"},"name":"importexport","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/importexport"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/apicalls:expressCreateServer"},"name":"apicalls","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/apicalls"},{"hooks":{"expressConfigure":"ep_etherpad-lite/node/hooks/express/webaccess:expressConfigure"},"name":"webaccess","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/webaccess"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padreadonly:expressCreateServer"},"name":"padreadonly","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padreadonly"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padurlsanitize:expressCreateServer"},"name":"padurlsanitize","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padurlsanitize"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/specialpages:expressCreateServer"},"name":"specialpages","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/specialpages"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/i18n:expressCreateServer"},"name":"i18n","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/i18n"},{"hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/static:expressCreateServer"},"name":"static","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/static"},{"hooks":{"restartServer":"ep_etherpad-lite/node/hooks/express:restartServer","createServer":"ep_etherpad-lite/node/hooks/express:createServer"},"name":"express","plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/express"}]},"userIsGuest":true,"initialOptions":{"guestPolicy":"deny"},"initialTitle":"Pad: test2","globalPadId":"test2","serverTimestamp":1362693589256,"savedRevisions":[],"abiwordAvailable":"no","numConnectedUsers":0,"colorPalette":["#ffc7c7","#fff1c7","#e3ffc7","#c7ffd5","#c7ffff","#c7d5ff","#e3c7ff","#ffc7f1","#ff8f8f","#ffe38f","#c7ff8f","#8fffab","#8fffff","#8fabff","#c78fff","#ff8fe3","#d97979","#d9c179","#a9d979","#79d991","#79d9d9","#7991d9","#a979d9","#d979c1","#d9a9a9","#d9cda9","#c1d9a9","#a9d9b5","#a9d9d9","#a9b5d9","#c1a9d9","#d9a9cd","#4c9c82","#12d1ad","#2d8e80","#7485c3","#a091c7","#3185ab","#6818b4","#e6e76d","#a42c64","#f386e5","#4ecc0c","#c0c236","#693224","#b5de6a","#9b88fd","#358f9b","#496d2f","#e267fe","#d23056","#1a1a64","#5aa335","#d722bb","#86dc6c","#b5a714","#955b6a","#9f2985","#4b81c8","#3d6a5b","#434e16","#d16084","#af6a0e","#8c8bd8"],"userColor":28,"userId":"a.yN7aAoTV6cQCWfZz","accountPrivs":{"maxRevisions":100},"clientIp":"127.0.0.1","padId":"test2","readonly":false,"readOnlyId":"r.TJjaqmUayLVBQ6Vs","collab_client_vars":{"time":1362692693910,"rev":6,"initialAttributedText":{"text":"here blahis my text\n\n","attribs":"|2+l"},"globalPadId":"test2","clientIp":"127.0.0.1","padId":"test2","apool":{"numToAttrib":{},"nextNum":0},"historicalAuthorData":{"a.yN7aAoTV6cQCWfZz":{"name":null,"colorId":28,"padIDs":{"test2":1}}}},"chatHead":-1},"type":"CLIENT_VARS"}
Mar 07, 2013 4:59:50 PM io.socket.IOConnection sendPlain
INFO: > 4:::{"component":"pad","data":{"baseRev":6,"type":"USER_CHANGES","apool":{"nextNum":0},"changeset":"Z:l<5|1-k+f$here is my text"},"type":"COLLABROOM"}
Mar 07, 2013 4:59:50 PM io.socket.IOConnection transportMessage
INFO: < 4:::{"type":"COLLABROOM","data":{"type":"NEW_CHANGES","newRev":8,"changeset":"Z:g>1=f|1+1$\n","apool":{"numToAttrib":{},"attribToNum":{},"nextNum":0},"author":"","currentTime":1362693590151,"timeDelta":2}}
Mar 07, 2013 4:59:50 PM com.etherpad.lite.EtherpadLiteConnection$ConnHandler onMessage
INFO: XXXXXXXXXX Received from server {"data":{"currentTime":1362693590151,"author":"","timeDelta":2,"newRev":8,"type":"NEW_CHANGES","apool":{"numToAttrib":{},"attribToNum":{},"nextNum":0},"changeset":"Z:g>1=f|1+1$\n"},"type":"COLLABROOM"}
Mar 07, 2013 4:59:50 PM com.etherpad.lite.EtherpadPad onNewChanges
INFO: New Change with rev8
Mar 07, 2013 4:59:50 PM com.etherpad.lite.EtherpadPad onNewChanges
SEVERE: Sent changeset revision is too high. Trying to recover by sending an implicit ACCEPT
Mar 07, 2013 4:59:50 PM com.etherpad.lite.EtherpadPad onAcceptCommit
INFO: Accepting commit with rev7
Mar 07, 2013 4:59:50 PM io.socket.IOConnection sendPlain
INFO: > 4:::{"component":"pad","data":{"baseRev":8,"type":"USER_CHANGES","apool":{"nextNum":0},"changeset":"Z:h>4=5+4$blah"},"type":"COLLABROOM"}
Mar 07, 2013 4:59:51 PM com.etherpad.lite.EtherpadPad actionPerformed
INFO: No changes to be send.
Mar 07, 2013 4:59:51 PM com.etherpad.lite.EtherpadPad actionPerformed
INFO: Failed to send changes because ACCEPT was not yet received.
Mar 07, 2013 4:59:52 PM com.etherpad.lite.EtherpadPad actionPerformed
INFO: Failed to send changes because ACCEPT was not yet received.
Mar 07, 2013 4:59:52 PM com.etherpad.lite.EtherpadPad actionPerformed
INFO: Failed to send changes because ACCEPT was not yet received.
... repeats forever...

@jukowski
Copy link
Owner

  1. What is the state of jeasysync2? Is it complete? If not, what is it missing?
    It has everything a Java program would need for creating / applying Changesets.
  2. The code got lost (not commited).

The "INFO: Failed to send changes because ACCEPT was not yet received." basically means that the library sent changes to Etherpad but it didn't receive an acknowledge message so that it can continue sending more messages. That's what I meant when I said that Java <-> SocketIO connectivity is broken.

Since you want to use .NET, wouldn't it be easier to emulate JavaScript?
https://github.com/josephg/ShareJS/blob/master/src/lib-etherpad/Changeset.js - has the needed functions for creating Changesets.

@dsblank
Copy link

dsblank commented Mar 12, 2013

  1. That is great that the jeasysync2 code is complete! (Too bad you lost your code. Sorry to hear that. There are decompilers, if you still have the class files).

C# is much closer to Java than JavaScript, so I think it will be much easier to just port your jeasysync2 to C#. I was hesitating, as I was not sure why your code didn't work. But now that I know that it is just the socket io library, I'll finish my port this week, and test.

Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants