Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jclem/ot_server
A server for operational transformation
https://github.com/jclem/ot_server
elixir operational-transformation
Last synced: about 1 month ago
JSON representation
A server for operational transformation
- Host: GitHub
- URL: https://github.com/jclem/ot_server
- Owner: jclem
- License: isc
- Created: 2017-08-16T23:22:49.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2017-11-08T15:51:57.000Z (about 7 years ago)
- Last Synced: 2024-03-14T16:43:44.563Z (8 months ago)
- Topics: elixir, operational-transformation
- Language: Elixir
- Homepage: https://hex.pm/packages/ot_server
- Size: 14.6 KB
- Stars: 11
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# [OT.Server](https://hexdocs.pm/ot_server) [![Build Status](https://travis-ci.org/jclem/ot_server.svg?branch=master)](https://travis-ci.org/jclem/ot_server)
`OT.Server` is an application that manages the correct handling of submitted
operations in an operational transformation system. It ships with an adapter
for persisting data to ETS, but implementing new adapters is simple.For more detailed information about operational transformation, see the
documentation for [ot_ex](https://github.com/jclem/ot_ex) and the various links
therein.## Installation
The package can be installed by adding `ot_server` to your list of dependencies
in `mix.exs`:```elixir
def deps do
[
{:ot_server, "~> 0.1.0"}
]
end
```## Usage
Implement an adapter as per `OT.Server.Adapter` and configure it as the adapter
for the `:ot_server` application:```elixir
config :ot_server,
adapter: MyOTAdapter,
max_retries: 25,
ot_types: %{"text" => OT.Text}
```For an example of how an adapter can be created, see `OT.Server.ETSAdapter`.
### Configuration Options
- `adapter`: The `OT.Server.Adapter` that `OT.Server` will use to interact with
your data.
- `max_retries`: The number of times a submission will be attempted before it
fails permanently.
- `ot_types`: A map with string keys pointing to modules that implement
`OT.Type`.