-
Notifications
You must be signed in to change notification settings - Fork 31
Advice, Conventions, and Constraints
-
Don't include commas (
,
) inBackend
names -
If your app needs to track the previous version of something (e.g., a document), and doing so by client-stated chronological order is insufficient (perhaps because multiple people are updating a document in real-time), tag the new version of the Row with
prevversionrow:${id_of_the_previous_version}
-
(TODO: Possible add similar comment here about
lastseenrow:...
that is useful for, say, chat rooms) -
It is never useful to strip off the
id:
from an ID-tag to get just the UUID; always handle the ID-tag as a whole, never the UUID by itself -
It is not safe for a Row to have multiple
id:...
tags -
It is safe for a Row to have multiple
parentrow:...
tags (useful for constructing graphs) -
It is safe for a row to have multiple
prevversionrow:...
tags, useful for merging multiple versions of a Row together (e.g., merging 2 documents created at about the same time on separate clients) -
Every Row should have a unique
id:...
tag (normal CrypTag usage ensures this)- (One probable exception: when data needs to be chunked into multiple Rows, I'll almost certainly tag each Row with the same
id:...
tag but also add achunk:...
tag that specifies which chunk number this is, beginning at 0 or 1)
- (One probable exception: when data needs to be chunked into multiple Rows, I'll almost certainly tag each Row with the same