Adding Solid as a backend

Apart from remoteStorage servers, Dropbox and GoogleDrive can be used as backends (see Adding Dropbox and GoogleDrive support to remotestorage.js)

We would like to also add Solid as a backend!

Yashar PourMohammad is working on this in https://github.com/solid-contrib/data-modules/blob/main/days-worked.md#solid-backend-for-remotestoragejs

I’m thinking that if we add more and more backends maybe the library should be named independently from the remoteStorage protocol, but we can also make that change later - for instance if we see that most people use the other backends, and remoteStorage stops being the “main” backend which people use.

2 Likes

IMO the library has always been one of the best things about this project, enables the experience that I find most appealing both as someone who uses web apps (offline-capable + sync) and develops them (just read + write data, multiple backend support, stable API); it’s a gem and could actually be a way to synthesize various approaches to owning data, might flourish in a new way by being more independent.

2 Likes

Yes, and maybe also bringing together efforts from people who are working on the https://0data.app vision in various projects, like Unhosted / Fission / MAIDSafe / Solid / DXOS / …

Adding a SOLID back-end is a great idea! (And hat tip to @melvincarvalho who had asked about this at a conference about 5 years ago.)

In my opinion, the area that has the most potential when it comes to personal data stores is also the one most neglected at the moment: common data formats, so you can switch between apps without exporting and importing data. It was one of the core principles of RS in the beginning. But we still don’t have many interoperable apps, which means that something about the technology or process isn’t good enough to meet enough authors’ needs yet. (Not mentioning the chicken-and-egg problem for anything that isn’t covered by an existing module, of course.)

Using RS data modules for SOLID apps, and improving the architecture to e.g. separate schemas from specific module files, as well as building more utility modules around this (e.g. common code to define and use lists, tags, search indexes, etc.), would be a big step in the right direction I believe.

@michielbdejong Looking at the README of the repo you linked above, it looks like this is exactly the plan?

1 Like

Yes! :slight_smile: And @rosano is also joining this project now. \o/

1 Like

@michielbdejong Are there any updates on this yet? I was following the SOLID data modules repo on Github, and there is activity, but I haven’t really seen anything in regards to interop with RS data modules. Also, nobody has asked to collaborate on general architecture or any modules or formats so far.

It seems to me like the work mode over there is rather top-down and doesn’t involve the communities at large. For example, there are more or less undocumented PRs, which seem to only or mostly be discussed in private communication.

Maybe I just don’t know where to look or what to follow?

I was looking at the email account of this Discourse for unrelated reasons and noticed that after moving providers recently, the email replies on the forums here actually stopped working. I found out what the issue was and I think I fixed it. But Discourse wouldn’t pick up the missed emails anymore.

So here’s @michielbdejong’s reply to my post:

Adding Solid as a backend to rs.js is a separate (sub)goal from the main Solid Data Modules endeavour.

Regarding Solid Data Modules in general, we have the matrix channel and the weekly video call.

Specifically regarding the Solid backend for rs.js, Yashar PourMohammad is working on that but he’s also working on several other projects.

So far he has done the widget part and I think he is now switching to working on the backend part.

Cheers,
Michiel

I’ll see if I can migrate the tests in the PR from Jaribu to Mocha, add missing documentation/clarification, and other outstanding issues get this work completed.

1 Like