Comments (5)
When complete, Readme file should have References section updated.
from coweb.
Started this work in a branch. We were attempting to solve false-tie problem in transform functions. What we had might work in all cases, but it's not proven. For example, did not work in my quick experiments to hack in the op caching required for issue #12.
The COT algorithm we're using can side-step the false-tie cases though if we establish a total event order at the server and use it in the op engine to decide the order of transforms.
Implementation-wise the following changes are needed:
- Server has to echo messages from site A back to site A in order. Right now, echoed messages are dropped.
- Server has to assign an increasing integer to all /session/sync messages it publishes to a session establishing a total order of events.
- The op engine has to sort operations in a context difference according to the order established by the server, not context order.
- The insert/insert transform function should simplify back to position comparison with tie breaking based on site ID.
We should really look at cleaning up the protocol to make inserting these ids simpler, and only on user-to-user sync messages. Opening a separate issue for that.
from coweb.
Blocked by #59 for now.
from coweb.
Finished issue #59 so this is unblocked again. Continuing with this next.
from coweb.
Updated JS, Java, and Python merged from a local branch (ot-41) into master. Completed work in 14a4a88 which includes an updated, interim coweb-0.5 JS build.
Net result of these fixes: the op engine implementation now breaks the CP2 pre-condition for operational transformation. This allows us to use the simple, proven, character-wise transformation functions that break ties based on site identifiers. This also opens the door for operation caching needed for issue #12.
from coweb.
Related Issues (20)
- Consider add coweb-boilerplates to maven repository HOT 1
- OCW maven archetype missing json config HOT 2
- Create demo and tutorial for approach bot usage HOT 1
- Update CoTree to use updated moderator API HOT 1
- Provide minified JS library
- Moderator should know client for onSync callback HOT 1
- Consider removing CowebSecurityPolicy
- Pass application specific data to canCientJoinSession callback family HOT 1
- Make Moderator API implementation agnostic
- Moderator sending app sync events out of order
- PaaS Application HOT 3
- [CRITICAL] Demo Server is down. SCIC hosting terminated; Need to migrate HOT 1
- Remove deprecated Python authentication mechanisms
- Programmatically create bots HOT 1
- Migrate Demo Servers to AWS since vhost server migration is in place for may 1 HOT 1
- tornado 3.x seems to have broken json encoding: HOT 7
- CoEdit breaks on large amount of simultaneous changes
- Undo feature
- Is this project dead? HOT 2
- richTextEditor seems doesn't work well
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coweb.