share / share/sharedb

Brainstorm to have two or more rich-texts in the same document (and other "basics" types).

Open
#232 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
6.5k
Forks
456
Avg merge
1d 5h
Merged PRs (30d)
5

Description

Hello,

First of all, I must say that this library is really amazing because it is so powerful and it can be integrated easily with MongoDB or Quill.

Our question is about "hybrid document type". We are developing a website angular-6 application that allows filling in the information about the events. Each event has several rich-texts and other kinds of data such as dates, numbers, arrays of keywords... I did some tests using the counter example and it is easy to put several fields in the same document and carry out the changes. The json-OT documentation is enough to adapt this example.

However, I would like to include several rich-texts in the same documents. The "rich-text" is a kind of sharedb document and the changes are included in "ops" field. I do not mind if I need to include the "ops" field in another field.

{"_id":"richtext","ops":[{"insert":"Hi!"}],"_type":"http://sharejs.org/types/rich-text/v1","_v":1,"_m":{"ctime":1532731794839,"mtime":1532731794839},"_o":{"$oid":"5b5ba19298ddc636ccb906e8"}}

{"_id":"counter","numClicks":4,"description":{ <==== richtext ops and others fields====> },"array":[{"value":-4},{"value":2}],"_type":"http://sharejs.org/types/JSONv0","_v":10,"_m":{"ctime":1532728667948,"mtime":1532729189936},"_o":{"$oid":"5b5b9765d4c9a433aa14b8c8"}}

What part of the project (quill-delta, rich-text...) should I read/understand/modify to carry out my goal? Do you know a more correct way to get my goal? I would like to avoid to have a document per "rich-text area" of the event...

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the counter example and JSON-OT documentation first, then compare how rich-text and quill-delta represent ops with Sharedb's JSON document fields. The issue does not define a concrete implementation or acceptance test; done would require agreeing on and documenting a supported model for multiple rich-text fields, or deciding that separate documents are required.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, javascript, mongodb
Domain
backend, databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.