corda/docs/source/design
josecoll b505f770c1
Merge corda private design documents (#4572)
* CORDA-2119 Design doc for contract versioning

* CORDA-2119 formatting

* CORDA-2119 formatting

* CORDA-2119 add missing context

* CORDA-2120 migration to the signature constraint

* CORDA-2120 Address review comments

* CORDA-2120 Address review comments

* Better introduction

* small changes

* CORDA-2119 address code review comments

* CORDA-2119 address code review comments

* Address PR comments

* Address PR comments
2019-01-14 14:59:43 +00:00
..
certificate-hierarchies CORDA-2365 Update certificate hierarchy diagram (#4451) 2018-12-21 16:53:44 +00:00
data-model-upgrades Merge corda private design documents (#4572) 2019-01-14 14:59:43 +00:00
failure-detection-master-election [ENT-1955] Documentation fixes (#3417) 2018-06-21 16:57:30 +01:00
float [ENT-1955] Documentation fixes (#3417) 2018-06-21 16:57:30 +01:00
hadr [ENT-1955] Documentation fixes (#3417) 2018-06-21 16:57:30 +01:00
kafka-notary Update note at the top of the Kafka notary design doc 2018-12-11 11:16:06 +01:00
linear-pointer StatePointer (#4074) 2018-11-05 10:33:26 +00:00
maximus Early Discussion Of 'Maximus' Scope and Provisional High Level Design (#4055) 2018-10-22 17:17:41 +01:00
monitoring-management CORDA-1567 Remove all traces of the out-of-process verifier (#3424) 2018-06-25 13:01:33 +01:00
reference-states Make the reference states design doc render better and more consistently with the other design docs. 2018-10-04 18:33:32 +02:00
sgx-infrastructure Fixing md formatting sphinixification issues (#3510) 2018-07-05 09:40:36 +01:00
sgx-integration [ENT-1955] Documentation fixes (#3417) 2018-06-21 16:57:30 +01:00
targetversion CorDapp minimum and target version design doc. (#3798) 2018-09-05 11:12:35 +01:00
template [ENT-1955] Documentation fixes (#3417) 2018-06-21 16:57:30 +01:00
threat-model fixed order of repudiation and information disclos 2018-10-22 22:17:23 +02:00
versioning Merge corda private design documents (#4572) 2019-01-14 14:59:43 +00:00
design-review-process.md Docs: simplify design review process doc and link into toctree. 2018-05-15 16:59:35 +02:00
designReviewProcess.png Clone of equivalent design directory from Enterprise repo. (#2120) 2017-12-13 08:41:43 +00:00
README.md Docs: simplify design review process doc and link into toctree. 2018-05-15 16:59:35 +02:00

Corda

Design Documentation

This directory should be used to version control Corda design documents.

These should be written in Markdown (a design template is provided for general guidance) and follow the design review process outlined below. It is recommended you use a Markdown editor such as Typora, or an appropriate plugin for your favourite editor (eg. Sublime Markdown editing theme).

Design Review Process

Please see the design review process.

  • Feature request submission
  • High level design
  • Review / approve gate
  • Technical design
  • Review / approve gate
  • Plan, prototype, implement, QA

Design Template

Please copy this directory to a new location under /docs/source/design (use a meaningful short descriptive directory name) and use the Design Template contained within to guide writing your Design Proposal. Whilst the section headings may be treated as placeholders for guidance, you are expected to be able to answer any questions related to pertinent section headings (where relevant to your design) at the design review stage. Use the Design Decision Template (as many times as needed) to record the pros and cons, and justification of any design decision recommendations where multiple options are available. These should be directly referenced from the Design Decisions section of the main design document.

The design document may be completed in one or two iterations, by completing the following main two sections individually or singularly:

  • High level design
    Where a feature requirement is specified at a high level, and multiple design solutions are possible, this section should be completed and circulated for review prior to completing the detailed technical design. High level designs will often benefit from a formal meeting and discussion review amongst stakeholders to reach consensus on the preferred way to proceed. The design author will then incorporate all meeting outcome decisions back into a revision for final GitHub PR approval.
  • Technical design The technical design will consist of implementation specific details which require a deeper understanding of the Corda software stack, such as public API's and services, libraries, and associated middleware infrastructure (messaging,security, database persistence, serialization) used to realize these. Technical designs should lead directly to a GitHub PR review process.

Once a design is approved using the GitHub PR process, please commit the PR to the GitHub repository with a meaningful version identifier (eg. my super design document - V1.0)

Design Repository

All design documents will be version controlled under github under the directory /docs/source/design. For designs that relate to Enterprise-only features (and that may contain proprietary IP), these should be stored under the Enterprise Github repository. All other public designs should be stored under the Open Source Github repository.