-
Notifications
You must be signed in to change notification settings - Fork 141
RCS is a fast storage of common metadata in a RCloud deployment instance. For lack of better name RCS stands for RCloud Storage but suggestions for a better name are welcome. Conceptually, the back-end can be an arbitrary key/value store, RCloud provides out-of-the-box bindings to file-based back-end and Redis back-end.
RCS is used internally to store notebook lists and metadata, and user preferences. RCloud applications are also welcome to use RCS through the functions in rcs.R; however, they are only allowed to write to keys under <user>/
. This may be enforced in the future.
Valid key formats:
<user>/<notebook-id>/<key>...
<user>/system/<key>...
.<domain>/<notebook-id>/<key>...
.<domain>/system/<key>...
Usernames may not start with a dot (.
) to not cause ambiguity between domains and usernames. At R level keys should be constructed using usr.key()
function or application-specific sub-function such as stash.key()
-
.notebook
- information about notebooks -
.stash
- stashed notebooks -
.allusers
- options for all users
-
.stash.<stash-name>/<notebook-id>/<version>.gist
stashed gist -
.stash.<stash-name>/<notebook-id>/<tag>.tag
tag - payload is the version hash associated with that tag. TypicallyHEAD
tag is used to store the most recent version.
-
.notebook/<notebook-id>/public
- set to1
, if present the notebook is published -
.notebook/<notebook-id>/starcount
- star counter -
.notebook/<notebook-id>/stars/<user>
- user starred a notebook -
.notebook/<notebook-id>/username
- owner -
.notebook/<notebook-id>/description
- name of notebook -
.notebook/<notebook-id>/last_commit
- last modified timestamp -
.notebook/<notebook-id>/visible
- boolean, whether other users can see the notebook inAll Notebooks
-
<user>/system/config/current/
- current open notebook-
<user>/system/config/current/notebook
- notebook id -
<user>/system/config/current/version
- notebook version (commit hash)
-
-
<user>/system/config/*
- per-user options-
<user>/system/config/notebooks/*
- all non-deleted notebooks of a user -
<user>/system/config/recent/*
- recently opened notebooks,<notebook-id> = <timestamp>
-
<user>/system/config/ui/collapse-*
- collapse state of side panels
-
-
.allusers/system/config/*
- options for all users