Uploaded image for project: 'Specification'
  1. SPEC-182

Rationalise VERSION.lifecycle_state and ATTESTATION.status

    Details

    • Change Description:
      Hide
      The changes proposed are as follows
      - redefine the attribute VERSION.lifecycle_state to taking
        the values "unfinished", "finished", "deleted"
      - rename ATTESTATION.state to reason, and coded it with
        values such as "authorisation", "witness" etc.
      - redefine ATTESTATION as inheriting from AUDIT_DETAILS, which
        would standardise the definition of the attributes for timestamp
        committer, system_id. This would make ATTESTATION logically a kind
        of AUDIT_TRAIL, which it has to be if it is to be seen as a valid
        kind of change in a CONTRIBUTION.
      - remove ATTESTATION.participations, since there can only be
        one participation for an attestation, and it is now supplied by
        the committer attribute, inherited from AUDIT_DETAILS.
      Show
      The changes proposed are as follows - redefine the attribute VERSION.lifecycle_state to taking   the values "unfinished", "finished", "deleted" - rename ATTESTATION.state to reason, and coded it with   values such as "authorisation", "witness" etc. - redefine ATTESTATION as inheriting from AUDIT_DETAILS, which   would standardise the definition of the attributes for timestamp   committer, system_id. This would make ATTESTATION logically a kind   of AUDIT_TRAIL, which it has to be if it is to be seen as a valid   kind of change in a CONTRIBUTION. - remove ATTESTATION.participations, since there can only be   one participation for an attestation, and it is now supplied by   the committer attribute, inherited from AUDIT_DETAILS.
    • Approved By:
      ARB

      Description

      Currently, the lifecycle_state attribute in VERSION is not itself
      versioned in any way, meaning that there is no audit trail of
      historical changes to it, e.g. going from "draft" to "approved".
      It is currently documented as being able to change state without
      creating a new version. Clearly the current idea of what states
      would be represented by this attribute is incorrect. However,
      lifecycle states which are useful, and correspond to new versions
      are "unfinished", "finished" and "deleted".

      On the other hand, the status attribute in ATTESTATION, is currently
      specified to have values like required/signed/intended. However,
      logically "required" and "intended" corresponds to a lifecycle
      state of something like "awaiting_approval". In CEN, the
      equivalent attribute has been named "reason", and coded with
      values like "authorisation" and "witnessing".

      A further problem is that adding ATTESTATIONs is the one kind
      of change remaining in the model which does not fit cleanly into
      the CONTRIBUTION model, because a) it does not use a standard
      audit trail (instance of AUDIT_DETAILS) b) because there is no
      commit operation for it and c) because it does not create a new
      VERSION object.

        Attachments

          Activity

            People

            • Assignee:
              OLDthomasbeale JeffJ
              Reporter:
              chunlanma Chunlan Ma (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: