Coder Social home page Coder Social logo

konce / coweb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencoweb/coweb

0.0 1.0 0.0 3.39 MB

Open Cooperative Web Framework

License: Other

CSS 0.02% Python 18.23% Shell 0.26% Perl 0.42% JavaScript 63.09% PHP 0.01% Java 17.40% HTML 0.56%

coweb's Introduction

Open Cooperative Web Framework

** This project is no longer maintained and provided as is. **

Homepage

https://github.com/opencoweb/coweb/wiki

Project page

http://dojofoundation.org/projects/opencoweb

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

What is it?

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 AMD, Bayeux, and WebSockets. The framework includes:

  • A JavaScript API for sending and receiving coweb events
  • An JavaScript operation engine using operational transformation to ensure shared state convergence
  • A Python coweb server built on the Tornado web framework
  • A Java coweb server built on the CometD Java library
  • API documentation, tutorials, and examples

Getting Started

Read the the framework documentation online at http://opencoweb.org/ocwdocs. It includes tutorials on how to obtain the coweb package from Maven Central or PyPI and write your first cooperative web application.

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

Developer setup

For developers seeking to develop this project directly, see https://github.com/opencoweb/coweb/wiki/Developer-Setup.

Status

Tagged revisions in the master branch are our stable releases. The docs at http://opencoweb.org/ocwdocs match the latest stable release.

The opencoweb/coweb/master branch on GitHub contains the framework code progressing toward the next stable release. We increment the version number in the code immediately after tagging a stable release so it reflects our next intended stable version.

The opencoweb/cowebx/master branch on GitHub contains example applications and widgets using the framework. We do not plan to make stable releases of the examples. Instead we will attempt to keep them working with all versions of the framework version 0.4 or higher.

All APIs are subject to change until we hit a v1.0 milestone.

Support

Currently, the JavaScript portions of the coweb framework should work in the following browsers.

  • Firefox 3.5+
  • Safari 4+
  • Chrome
  • IE8+
  • Opera 10.50+
  • Mobile Safari on iOS 4+
  • Android Browser 1.6+

For our Java coweb server, we support any environment that can run a Java Servlet 3.0 compliant container (e.g., Jetty, Tomcat). For the Python server, we support any environment where Tornado can operate.

Please report an issue on GitHub if you have trouble in one of these browsers or server environments.

License

Copyright (c) The Dojo Foundation 2011. All Rights Reserved.

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

See the LICENSE file for the terms of the OpenCoweb dual BSD/AFL license.

Packaged builds of the OpenCoweb JavaScript framework located in coweb/js/release include third-party code that is not covered under the OpenCoweb License. See the NOTICES file for details of these dependencies.

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:

Bill Abt, Krishna Akella, Hisatoshi Adachi, David Boloker, Paul Bouchon, Brian Burns, Bryce Curtis, Andrew Donoho, Dan Gisolfi, Wing Lee, Peter Parente, Aaron Reed, Roger Que, Sonal Starr, Michael Stewart, Wayne Vicknair, Royce Walter, Peter Westerink

Additional contributions made to the project under the Dojo Foundation come from the following people:

Richard Backhouse, Nick Fitzgerald

References

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

  • C. Sun, "Operational Transformation Frequently Asked Questions and Answers"
    1. [Online]. Available: http://cooffice.ntu.edu.sg/otfaq/
  • D. Sun and C. Sun: "Context-based Operational Transformation in Distributed Collaborative Editing Systems," in IEEE Transactions on Parallel and Distributed Systems, Vol. 20, No. 10, pp. 1454 โ€“ 1470, Oct. 2009.
  • D. 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
  • D. 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
  • S. 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

coweb's People

Contributors

brian-burns-bose avatar ccotter avatar fitzgen avatar kborchers avatar parente avatar rbackhouse avatar vinomaster avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.