At Better we have requests from multiple customers to implement the following change of behaviour for
VERSIONs that have
lifecycle_state set to
- When committing incomplete data, the validation should be somewhat relaxed. At the moment we think it is sufficient to skip validation of cardinality lower bounds, in other words, to allow missing data. All other validation (cardinality upper bounds and constraints on values) would be performed normally.
- When querying, data from incomplete versions would be completely ignored, unless the query acknowledged existence of
VERSIONand explicitly mentioned its
lifecycle_stateanywhere, in other words, there would have to be a
CONTAINS VERSION vand anywhere in SELECT or WHERE part of the query there would have to be a reference to
v/lifecycle_state; in this case the filter that only allowed seeing
completedata would not be applied.
Given the multiple requests we’re getting for this we’ll implement it ASAP, but we’d like to see it standardised in the near future, and it would be nice to hear opinions if we got the details of this wrong. It seems to apply nicely to the use cases we foresee, but we might have tunnel vision. I’d appreciate input from @ian.mcnicoll as well.