Importing and extending needs in MyST

The MyST forms of the specimens on Importing and extending needs, each rendered live by this page’s own Markdown parser. Their needs have ids of their own, because a need id is unique in the project.

Importing needs

Importing needs from a file

```{needimport} /../specimens/needs/imported.json
:ids: EX_IMP_MYST_REQ_1, EX_IMP_MYST_SPEC_1
:tags: ex-import
```
Requirement: Restore a backup EX_IMP_MYST_REQ_1
status: open
tags: ex-import
links incoming: EX_IMP_MYST_SPEC_1

Any of the kept backups can be restored.

Specification: Pick the backup by date EX_IMP_MYST_SPEC_1
status: done
tags: ex-import
links outgoing: EX_IMP_MYST_REQ_1

A restore asks for the date of the backup to read.

Extending needs

Extending a need

```{req} Sign the release
:id: EX_REQ_EXTEND_MYST_1
:status: open
:tags: ex-extend-myst

Every release is signed before it is published.
```

```{needextend} EX_REQ_EXTEND_MYST_1
:status: done
```

```{needextend} "'ex-extend-myst' in tags and status == 'open'"
:+tags: reviewed
```
Requirement: Sign the release EX_REQ_EXTEND_MYST_1
status: done
tags: ex-extend-myst, reviewed

Every release is signed before it is published.

Needs from a list

Needs from a list

```{list2need}
:types: req, spec
:tags: ex-list

* (EX_REQ_MYST_LIST_1) Load a profile. The profile is read at log-in.
  * (EX_SPEC_MYST_LIST_1) Read the profile as JSON. Any other format is reported.
```
Requirement: Load a profile EX_REQ_MYST_LIST_1
tags: ex-list
child needs: EX_SPEC_MYST_LIST_1

The profile is read at log-in.

Specification: Read the profile as JSON EX_SPEC_MYST_LIST_1
tags: ex-list
parent needs: EX_REQ_MYST_LIST_1

Any other format is reported.

Note

ubc build pdf cannot place a list2need directive yet (it reports one as build.pdf_block_unsupported), so the PDF shows this specimen’s source only.