Closed simongray closed 1 year ago
(I think I will start with the bookmarks feature as this is simpler implementation-wise compared with #52)
A bookmark is an entity where the following information is deemed relevant:
{:db/ident ident
:bookmark/path path
:entity/visibility visibility ; e.g. :public
:bookmark/added date}
Bookmarks need to be persisted, i.e. we will probably need to combine a persisted graph with the in-memory one using asami wrapgraph. The persisted graph should exist in a Docker volume, probably somewhere on disk that gets backed up by KU-IT.
In time, it may be beneficial to view the bookmarks of other users or dynamically compile a list of popular bookmarks. The :entity/visibility
attribute is intended to reflect this desire while pre-empting any possible GDPR issues, e.g. bookmarks will default to being publicly visible.
For this purpose, it will be optimal to query/transact to the separate persisted graph directly, since it only interfaces with paths rather than actual document data.
Nice-to-have stuff that is (as of now) still TODO:
Optimistic frontend changes implemented in 242172e440a5d0ce38993051a05cde10d10e260f
Another nice-to-have documented in https://github.com/kuhumcst/glossematics/issues/83
It would be a valuable addition to allow storing searches and specific documents as bookmarks, easily accessible by the user. Obviously, this feature requires persistence, so it needs to use the same datastore as the user comments #52.