Temporal features

Liftwizard has built-in support for working with temporal data. In this section, we'll explore the various features of services that utilize this technology.Note: This section is language and framework agnostic. If you’re interested in the underlying technology, Liftwizard's temporal support is built on reladomo/reladomo-overview.md Reladomo.In an application with temporal data storage, data is stored along with timestamps. Here are some key features of temporal support: temporal-data/non-destructive-updates Non-destructive edits: Updates and deletes won't lose any information. Old data is phased out with a timestamp, and new data is phased in at the same timestamp. temporal-data/as-of-queries As-of queries: Retrieve data as it existed at a specific point in time. temporal-data/versioning Versioning: Numbered versions of data can make working with timestamps easier. As-of queries can be performed by either timestamp or version number. temporal-data/auditing Auditing: Keep track of who made each change, along with the data. With auditing enabled, each version has a user ID in addition to its timestamps. temporal-data/optimistic-locking Optimistic locking: Prevent multiple users from accidentally discarding each other's work with this feature. APIs that perform edits require a version number as input, and will fail if the input version number and current version number don't match. temporal-data/diffs Diff: See the differences between data at two version numbers. temporal-data/maker-checker-workflows Maker/Checker workflows: Make and review changes before exposing them to all users. Most users view the latest approved version of the data, while makers/checkers see the latest version.In the next section, we'll walk through a temporal-data/running-example running example that showcases these features.