Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Open Cooperative Web Framework
JavaScript Python Java Other
tag: v0.1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs
servers
www
.gitignore
LICENSE
README.rst

README.rst

Open Cooperative Web Framework

Homepage: http://opencoweb.org
Code: https://github.com/opencoweb/coweb
Documentation: http://opencoweb.org/ocwdocs
User group: https://groups.google.com/group/opencoweb
Dev group: https://groups.google.com/group/opencoweb-dev
IRC: #coweb on irc.freenode.net

The Open Cooperative Web Framework enables the creation of cooperative web applications featuring concurrent real-time interactions among remote users and external data sources. The framework handles remote notification of user changes, the resolution of conflicting changes, and convergence of application state with minimal information from the application.

The current implementation of the framework is based on open web technologies such as Dojo, cometD, Bayeux, and WebSocket. The framework includes:

  • A JavaScript API for sending and receiving coweb events
  • An JavaScript operation engine using operational transformation to resolve conflicting, simultaneous changes
  • A Python coweb server built on the Tornado web server
  • A Java coweb server built on cometd-java
  • API documentation, tutorials, and examples

Status

This is an initial code drop. You can grab the framework and start using it, but expect a bumpy ride in the near future. We're working hard on documentation and fixes to get to a stable v1.0.

For more details, please refer to the issue tracker.

Getting Started

Start by viewing the framework documentation online at http://opencoweb.github.com/. It includes tutorials on how to setup a coweb server and write your first cooperative web application.

Send mail to the coweb users group or join us on IRC if you're having trouble.

License

Copyright (c) IBM Corporation 2008, 2011. All Rights Reserved.

See the LICENSE file for details.

Contributing

The Open Cooperative Web Framework is a Dojo Foundation project, and as such follows the contribution directives of the Dojo Foundation. Please read them if you wish to contribute. If you agree to their terms, feel free to fork our code and send us pull requests on GitHub.

Credits

This open source project derives from a broader IBM cooperative web project. The initial IBM contribution includes efforts from the following people:

Subsequent contributors to the project under the Dojo Foundation will be credited here.

The operational transformation algorithm used in the framework is based on various lines of research, such as:

    1. Sun and C. Sun, "Operation context and context-based operational transformation," in CSCW '06: Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work. New York, NY, USA: ACM Press, 2006, pp. 279-288. [Online]. Available: http://dx.doi.org/10.1145/1180875.1180918
    1. Sun, S. Xia, C. Sun, and D. Chen, "Operational transformation for collaborative word processing," in CSCW '04: Proceedings of the 2004 ACM conference on Computer supported cooperative work. New York, NY, USA: ACM, 2004, pp. 437-446. [Online]. Available: http://dx.doi.org/10.1145/1031607.1031681
    1. Xia, D. Sun, C. Sun, D. Chen, and H. Shen, "Leveraging single-user applications for multi-user collaboration: the coword approach," in CSCW '04: Proceedings of the 2004 ACM conference on Computer supported cooperative work. New York, NY, USA: ACM, 2004, pp. 162-171. [Online]. Available: http://dx.doi.org/10.1145/1031607.1031635
Something went wrong with that request. Please try again.