Skip to content

Convergence Road Map

Michael MacFadden edited this page Jul 23, 2021 · 11 revisions

Introduction

This page outlines the high level feature Road Map for the next several releases of Convergence. There are many more features, API enhancements and bug fixes that will be in each release. This list shows only the major high level features we are planing.

This road map is highly speculative, representing current thinking. It will be updated regularly as we make releases and as we get feedback from the community.

See here for the most up-to-date information on where issues are bucketed and when they are slated for release.

1.0.0-rc.13

  • Experimental Rich Text Support: Basic rich text support for editors like Quill, Draft, CK Editor, etc.

1.0.0-rc.14

  • Model / Collection Permissions Refactor: Model and collection permissions do not use the standard permissions system, this will be migrated.
  • API Clean Up: The API will be thoroughly scrubbed for consistency. This may involve minor breaking changes, prior to 1.0.0.
  • Model Web Hooks: The ability for the server to initialize and save a model by making a REST call to an external system.
  • Presence System Scalability: Refactoring of the server side Presence subsystem to make it more scalable.

1.0.0

  • Documentation: The documentation will be overhauled and greatly improved.
  • Convergence CLI: An update to the Convergence CLI which can be used to automate many convergence actions.
  • REST API Documentation: Documentation for the REST API, likely using the Open API spec.
  • Helm Chart: An official Helm Chart for Convergence

Primary Focus Immediately After 1.0.0

  • Model and Concurrency Enhancements: Significant changes will be made to the model data structure and operation set to incorprate several years of learning in this area.
  • Local Undo Support: The ability to undo local actions, in the face of remote changes.
  • JSON Move Operation: A non-destructive move operation.
  • Stable Rich Text Support: Improvements to the Rich Text Subsystem based on feedback.
  • Stable Offline Support: (bug fixes, multi-tab support, ect.).
  • Performance and Scalability: Making Convergence more efficient and ensuring predictably horizontal scalability.

Backlog

  • Database Abstraction Layer: the ability to use other databases to back Convergence. Current thoughts include dgraph, PostgreSQL and MongoDB.
  • Passthrough Mode: The ability to handle models that do not exist on the server.
  • Non-In-Memory Mode: Currently all open models are held in memory, we will implement that ability to operate on models that are not in memory.
  • Model and Concurrency: We have learned a lot in the last few years and think there are some changes to the models and the OT subsystem that would greatly improve performance.
  • Model Schema: The ability to define the structure of the models in a particular collection.
  • Granular Model Permissions: Granular definition of read / write access to data within a model. (See #192)
  • Model Links: The ability have a property in one model that points to another model.
  • Model Triggers: The ability define custom actions when certain data is modified.
  • Workspaces: Typed structures that define a set of well known models, activities, and chat rooms.
  • Bot / Integration API: An API to add bots and integration agents that can participate in chats, models, etc.