Tiddlywiki for Solid
I am not a coder but I think coders could be inspired by the seemingly easy Remotestorage implementation of the Tiddlywiki SyncAdaptorModules https://community.remotestorage.io/t/remotestorage-plugin-for-tiddlywiki/447
Solid versus Remotestorage
- Remote Storage Basics https://remotestorage.io/)
- Authorization: OAuth 2.0
- User data is scoped by so-called categories, which are essentially base directories, for which you can give apps read-only or read/write permission. Apps will use OAuth scopes to ask for access to one or more categories.
In the example screenshot, Litewrite is asking for read/write access to the “documents” category, using the OAuth scope documents:rw. If you allow access, the app will retrieve a bearer token, with which it can read and write to your storage, until you revoke that access on your server.
Data Storage & Sync: HTTP REST
- remoteStorage defines a simple key/value store for apps to save and retrieve data. The basic operations are GET/PUT/DELETE requests for specific files/documents.
- In addition to that – and the only special feature aside from plain HTTP – there are directory listings, formatted as JSON-LD. They contain both the content type and size, as well as ETags, which can be used to implement sync mechanisms. The files and listings themselves also carry ETag headers for sync/caching and conditional requests.
- Very near with Solid for our needs except directory listings (do not exist in Solid)
Remote Storage choices made for data storage
The orignal implementation of Tiddlywiki stores the wiki as a simgle .html document.
some implementation have chosen to store each tiddler individually.
This is the choice made by the RemoteStorage plugin. This choice could help reuse pieces of data and should improve performance
Tiddlywiki SyncAdaptorModules (https://tiddlywiki.com/dev/static/SyncAdaptorModules.html)
SyncAdaptorModules encapsulate storage mechanisms that can be used by the SyncMechanism. Two examples are:
. The TiddlyWebAdaptor interfaces with servers compatible with TiddlyWeb’s HTTP API, such as TiddlyWeb itself and TiddlyWiki5’s built-in ServerMechanism.
. The LocalFileAdaptor interfaces with file systems with an API compatible with Node.js’s fs module
Tiddlywikki-remote storage plugin https://github.com/fiatjaf/tiddlywiki-remotestorage
Handle all Adaptor Module Methods https://tiddlywiki.com/dev/static/SyncAdaptorModules.html
https://tiddlywiki.com/dev/ gives all information for the creation and installation of a plugin