Skip to content

Commit a6c0310

Browse files
authored
Merge pull request #43 from edx/robrap/ARCHBOM-1387-ADR-config-and-tools
ARCHBOM-1387: ADR for config-and-tools
2 parents a1bad02 + f146075 commit a6c0310

File tree

5 files changed

+46
-2
lines changed

5 files changed

+46
-2
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Change Log
1414
Unreleased
1515
~~~~~~~~~~
1616

17-
*
17+
* Add ADR 0001-config-and-tools.rst for adding a placing in this repository for shared annotation configs and supporting tools.
1818

1919
[0.4.0] - 2020-07-22
2020
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

README.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ annotating code which stores personally identifiable information (PII), these
1515
tools are optimized for that use case but can be generalized for other types of
1616
annotations.
1717

18+
Additionally, a logically separate part of this repository will contain specific annotation configurations and supporting tools, such as Sphinx extensions for documenting specific annotation types. See ``config_and_tools``.
19+
1820
Documentation
1921
-------------
2022

config_and_tools/README.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
config and tools
2+
================
3+
4+
This directory will contain annotation configurations that can be shared across repositories, as well as shared tools based on these configurations, such as Sphinx extensions that can be used to document certain types of annotations.
5+
6+
These custom configurations should be kept separate from the general annotations tool in /code_annotations.
7+
8+
For more details, see the ADR in docs/decisions/0001-config-and-tools.rst.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Annotations Config and Tools
2+
****************************
3+
4+
Status
5+
======
6+
7+
Accepted
8+
9+
Context
10+
=======
11+
12+
While working on a particular usage of this general code annotations tool, we found we did not have a good home for some shared configs and tools.
13+
14+
The original usage of this generic tool was for annotating PII in the Open edX platform. The config for `PII annotations`_ is currently duplicated in each repository.
15+
16+
The new instances of annotation configs arose to support documenting Open edX feature toggles and non-toggle settings. Each of these will also have Sphinx extensions to support documentation. To start, the `feature toggles annotation config`_ was added to the ``edx-toggles`` repository, but there was no good home for the non-toggle settings annotation config, nor the documentation tools.
17+
18+
.. _PII annotations: https://github.com/edx/edx-cookiecutters/blob/7cf718093e7cca5c701a29fcbaa84660326b09ed/cookiecutter-django-app/%7B%7Bcookiecutter.repo_name%7D%7D/.pii_annotations.yml
19+
.. _feature toggles annotation config: https://github.com/edx/edx-toggles/blob/0986b10a806944fd4d00847501ff4f7e3904a2cb/feature_toggle_annotations.yaml
20+
21+
Decision
22+
========
23+
24+
The code annotation tool is generic and specific annotation configs are logically separate. At the same time, it was decided that having a single place for annotation configs and there supporting tools would be efficient for our engineers, as well as potentially beneficial for sharing outside of Open edX. Additionally, we decided not to add the overhead of managing a separate repository at this time. Instead, we will add a ``config_and_tools`` directory in this repository to contain any shared annotation config files and supporting tools.
25+
26+
It is acknowledged that this need not be a permanent solution, but is a useful place to begin.
27+
28+
Any affect on how the PII annotations are implemented, or where they are stored, is outside the scope of this decision.
29+
30+
Consequences
31+
============
32+
33+
We will move the new toggles annotations and its supporting tools to the new ``config_and_tools`` directory.

tox.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
envlist = py35-django22, py38-django{22,30}
33

44
[doc8]
5-
max-line-length = 120
5+
; D001 = Line too long
6+
ignore=D001
67

78
[pycodestyle]
89
exclude = .git,.tox

0 commit comments

Comments
 (0)