U.C.Engine
U.C.Engine (Unified Collaboration Engine) includes:
- a publish/subscribe server with persistence,
- a Javascript frontend client with a library of several realtime collaborative widgets (chat, file sharing...)
- several backend clients that provide additional features to your application (video streaming, file converters...)
U.C.Engine allows you to build real time applications like collaboration based services, live meetings, games or anything that fits well in an event driven philosophy.
U.C.Engine is a free software project written in erlang (server) and javascript (front client). It exposes a ReSTful HTTP API with JSON as its primary exchange format.
See the introduction to learn some of the concepts of U.C.Engine.
- Introduction - Installation
- Tutorial : Play with API and command line tool - Creating a chat widget
- Guide for creating a widget
- Guide for creating a brick
Core
The core of U.C.Engine is a publish/subscribe server written in Erlang. Persistence is achieved via the database of your choice.
- API: ReST API reference
- Administration: ucengine - ucengine-admin - config file
- Databases: mongodb - mnesia
- Full text Search: Solr
- ACL - Core events
Extensions
Building an application with U.C.Engine is mainly a question of adding bricks to backend clients or widgets to frontend clients. Extensions can be written in any language and several libraries are provided.
Client libraries
- Javascript: Javascript API reference
- Ruby: Ruby library - Ruby event-machine library
- Erlang: you can extract it from erlyvideo-ucengine
- Nodejs: node-ucengine
- Python: py-ucengine
Bricks and widgets
- Video: erlyvideo - red5 - video widget
- File sharing: brick- fileupload widget - filesharing widget
- Translation: brick
- Twitter: brick
- Standalone widgets : chat - whiteboard
Help/Discuss
- Frequently asked questions (FAQ)
- U.C.Engine mailing-list
- IRC: #ucengine on freenode
Development and contributions
Professional services
Any company providing professional services around U.C.Engine is welcome in this directory.