Skip to content

Commit c81cd00

Browse files
committed
Improve single source of truth pattern
1 parent fededa8 commit c81cd00

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

docs/development/translation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ It is important to distinguish a number of concepts:
3636

3737
See also [W3C Localization vs. Internationalization](https://www.w3.org/International/questions/qa-i18n)
3838

39-
In general, internationalisation is a task during the development of the Single Source of Truth (SSOT) for a standard. Translation can take place as part of the core development process, or by supporting community translations, and localisation is a part of implementation support in particular countries and contexts.
39+
In general, internationalisation is a task during the development of the [Single Source of Truth (SSOT)](pattern-ssot) for a standard. Translation can take place as part of the core development process, or by supporting community translations, and localisation is a part of implementation support in particular countries and contexts.
4040

4141
```eval_rst
4242
.. todo::

docs/patterns/documentation.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,33 @@ Consider a piece of documentation about how a field within the data standard wor
3535
* This field will probably have a name and a description about how it is used.
3636
* Someone will write that down somewhere.
3737
* Someone else will share that with other people, via email, on a web page, in a pdf, in a presentation, as guidance in a data collection tool, etc
38-
* Unless those people work directly from the same source (of truth) they may introduce small changes, errors, or even improvements as they reproduce the information.
38+
* Those people may introduce small changes, errors, or even improvements as they reproduce the information.
3939
* Further, the ‘master’ description may change over time. How do people know whether the new description, or the old one is the correct one to use? Which (trusted) source should they use? An email someone sent, or the PDF they have in their hand, or…?
4040

41+
In a worst case, people might incorrectly copy the structural information about the standard, e.g. a field name, or where it is nested; or, they might miss a field from a list that's intended to be complete.
42+
43+
### Solution
44+
45+
Establish a Single Source of Truth (SSOT) for documentation about how the standard works. Other copies should copy verbatim from this - any improvements should be made in the SSOT.
46+
47+
### Method
48+
49+
We use a [GitHub repository](pattern-version-control-changelog) to store our SSOT, as this provides very explicit and fine-grained versioning
50+
51+
In order to ensure documentation is pulled from the SSOT, copies should preferentially be made programmatically.
52+
53+
### Example
54+
55+
For 360Giving, the following are all generated programmatically from the [JSON Schema SSOT](https://github.com/ThreeSixtyGiving/standard/blob/master/schema/360-giving-schema.json):
56+
* [Reference documentation](http://standard.threesixtygiving.org/en/latest/reference/#grants-sheet)
57+
* [Spreadsheet templates](http://standard.threesixtygiving.org/en/latest/#templates)
58+
* [GrantNav](http://grantnav.threesixtygiving.org/) and the [Data Quality Tool](https://dataquality.threesixtygiving.org/) look up human readable titles in the schema.
59+
4160
```eval_rst
4261
.. todo::
4362
4463
.. markdown::
4564
46-
### Solution
47-
48-
### Method
49-
50-
### Example
5165
5266
### Related patterns
5367

0 commit comments

Comments
 (0)