design

OME Design Proposal

This template is a general structure for a design proposal.  Feel free to add additional sections as required, or remove sections which are not needed for a specific proposal.

Title of proposal

Abstract

Summary of the following text.

Rationale

The motivation behind the change, i.e. why it is needed, and by whom.  Please provide references below, where available, including bug tickets, trello cards, forum or mailing list posts.

Description of the nature of the changes and how this affects the semantics of the affected API.  No code; this is a higher-level description of the underlying concepts.  Use diagrams or other illustrations where appropriate.

Implementation

Specific details of the changes required to implement the proposal

Description of the changes in each affected package; could include milestones for complex changes (check progress, or even suspend further effort while already having something useful). For each step, who does it, and to what?

Please include sample code or pseudocode when applicable.

Compatibility and performance

API additions

API changes

API deprecation

API removal

DB changes if any

Portability changes and impact

Performance changes and impact

Implications for other components; see also followup work, below

Versioning strategy of API and if necessary serialization. Include thoughts on when the component is intended to be considered stable and how it will be maintained.

User interface changes

Changes visible to the user (interface, tools, interactions etc.)

Continuous integration changes

Possible changes to infrastructure, jobs, creation of new ansible roles, etc.

Testing

Test additions/changes/removals.

Actions required to test the code and any user interface or tools.

Additional work

Follow-up actions, for example changes to documentation, updating downstream packages, integration with third-party code.  Planned API removal following deprecation.

Status

Status of the proposal, e.g.:

Being written

Under review

Open questions

Design accepted

Implementation complete

References

References to additional material relevant to the proposal