m-ld / m-ld-spec

Platform-independent m-ld specification
https://spec.m-ld.org/
MIT License
24 stars 1 forks source link

Integration with the Solid Project #62

Closed gsvarovsky closed 1 year ago

gsvarovsky commented 3 years ago

Solid Forum topic

m-ld discussions topic

Research, prototype, and test a technology for real-time group collaborative editing of structured web resources, securely, and respecting privacy.

Achieve this by combining Solid, a specification that lets people store their data securely in decentralised data stores, and m-ld, a technology for real-time information sharing.

These technologies share a common data representation, making the combination natural and harmonious. Solid will provide for Identity, Authentication, Authorisation and server storage of resources, while m-ld will provide real-time synchronisation of resource replicas, including locally on devices.

Benefits to users of apps built with this innovation would include the ability to collaborate on documents in real-time, the ability to work offline, and greater performance and resilience of the app, so that they are always able to continue acting on information.

NGI Pointer - attachment.pdf

franzzua commented 3 years ago

WOW, i'm just in searching for a CRDT library for use with solid-community server) So, i would implement PubSub remote and publish it as a component for solid-community. Is there any guidelines for implementing RubsubRemote?

gsvarovsky commented 3 years ago

Very interesting @franzzua! can you describe more what you are trying to achieve? (Note this repo has a discussion board if you like).

Implementing a new PubsubRemotes is for using a new low-level messaging protocol, to publish messages between clones (for examples, see https://github.com/m-ld/m-ld-spec/issues/90). That might not be what you really want to do. What protocol are you thinking of using? There are no guidelines yet, but I'd be happy to help!

Since Solid is server-based, it might be best to start by using the socket.io remotes and have a socket.io service.

Or, are you thinking of using a Solid "inbox" for messaging? That might not be very fast/efficient, but, it all depends.

Also, the "architecture" section in the attached document might be helpful.

gsvarovsky commented 3 years ago

Discussion moved to #71