Skip to content

Advice, Conventions, and Constraints

Steve Phillips edited this page Jan 7, 2017 · 7 revisions
  • Don't include commas (,) in Backend 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 a chunk:... tag that specifies which chunk number this is, beginning at 0 or 1)
Clone this wiki locally