Details
-
Enabler
-
Must have
-
Obs Mgt & Controls
-
-
-
3
-
3
-
0
-
Team_NAKSHATRA
-
Sprint 4
-
-
-
-
22.6
-
Stories Completed, Integrated, Solution Intent Updated, BDD Testing Passes (no errors), Outcomes Reviewed, NFRS met, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
-
-
Team_BUTTONS Team_NAKSHATRA
Description
As a member of Science Operations, I want ODA entities to have an associated status so that I can calculate properties such as the completion state of an SBI and the overall project status.
OSO entities have an associated state; for example, SBIs could be CREATED, IN PROGRESS, OBSERVED, FAILED, etc. Some entity states may 'bubble up' or be an aggregate of child entity states; for example, a Project containing many SBDs could be CREATED, PARTIALLY OBSERVED, FULLY OBSERVED, BROKEN, etc. Some entity states may 'trickle down'; for example, deleting an Observing Block may mark unobserved SBDs it contains as DELETED. ADR-41 formalises the relationship between entities and status entities, showing several data entities (projects, SBDs, SBIs, etc.) to have a 1:1 relationship with an associated status entity.
Note: the OSO SAD foresaw "status entities" as a set of "updates" to each entity, each of which may, or may. not, trigger a change in state. Is this how we want to implement this?
Consider how state updates are to be integrated into the general ODA updates. For example, should data entity state be analysed server-side and the status entities updated accordingly? Also note that database entries cannot be deleted, although their state may be updated to DELETED.
Implementation of state aggregation or propagation is not essential at this stage, but the design should allow for its addition in a future PI.
As additional functionality the PTT should be updated to both reflect the state of each entity (using the status entities) and also to allow updates to the state. This last function will be necessary in operations, to allow suitably authorised staff to make changes that could not be applied automatically, and in the nearer term can be used to test the status entities.