{"id":17188292,"url":"https://github.com/jclem/ot_server","last_synced_at":"2025-04-13T19:20:35.857Z","repository":{"id":62430220,"uuid":"100540824","full_name":"jclem/ot_server","owner":"jclem","description":"A server for operational transformation","archived":false,"fork":false,"pushed_at":"2017-11-08T15:51:57.000Z","size":15,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T17:31:12.044Z","etag":null,"topics":["elixir","operational-transformation"],"latest_commit_sha":null,"homepage":"https://hex.pm/packages/ot_server","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jclem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-16T23:22:49.000Z","updated_at":"2021-11-30T07:56:58.000Z","dependencies_parsed_at":"2022-11-01T20:17:48.724Z","dependency_job_id":null,"html_url":"https://github.com/jclem/ot_server","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jclem%2Fot_server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jclem%2Fot_server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jclem%2Fot_server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jclem%2Fot_server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jclem","download_url":"https://codeload.github.com/jclem/ot_server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248766685,"owners_count":21158302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","operational-transformation"],"created_at":"2024-10-15T01:08:36.985Z","updated_at":"2025-04-13T19:20:35.811Z","avatar_url":"https://github.com/jclem.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"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)\n\n`OT.Server` is an application that manages the correct handling of submitted\noperations in an operational transformation system. It ships with an adapter\nfor persisting data to ETS, but implementing new adapters is simple.\n\nFor more detailed information about operational transformation, see the\ndocumentation for [ot_ex](https://github.com/jclem/ot_ex) and the various links\ntherein.\n\n## Installation\n\nThe package can be installed by adding `ot_server` to your list of dependencies\nin `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:ot_server, \"~\u003e 0.1.0\"}\n  ]\nend\n```\n\n## Usage\n\nImplement an adapter as per `OT.Server.Adapter` and configure it as the adapter\nfor the `:ot_server` application:\n\n```elixir\nconfig :ot_server,\n  adapter: MyOTAdapter,\n  max_retries: 25,\n  ot_types: %{\"text\" =\u003e OT.Text}\n```\n\nFor an example of how an adapter can be created, see `OT.Server.ETSAdapter`.\n\n### Configuration Options\n\n- `adapter`: The `OT.Server.Adapter` that `OT.Server` will use to interact with\n  your data.\n- `max_retries`: The number of times a submission will be attempted before it\n  fails permanently.\n- `ot_types`: A map with string keys pointing to modules that implement\n  `OT.Type`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjclem%2Fot_server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjclem%2Fot_server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjclem%2Fot_server/lists"}