From 0fcf7de5464ca45afcce2bf9f40d8caed3a272a7 Mon Sep 17 00:00:00 2001 From: brandonlenz Date: Thu, 22 Jun 2023 10:21:47 -0400 Subject: [PATCH 1/5] First Draft ADR --- .../decisions/0021-django-admin.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/architecture/decisions/0021-django-admin.md diff --git a/docs/architecture/decisions/0021-django-admin.md b/docs/architecture/decisions/0021-django-admin.md new file mode 100644 index 000000000..20dc747cb --- /dev/null +++ b/docs/architecture/decisions/0021-django-admin.md @@ -0,0 +1,40 @@ +# 21. Use Django Admin for Application Management + +Date: 2023-06-22 + +## Status + +Accepted + +## Context + +CISA needs a way to perform administrative actions to manage the new get.gov application as well as the .gov domain +application requests submitted. Analysts need to be able to view, review, and approve domain applications. Other +dashboard views, reports, searches (with filters and sorting) are also highly desired. + +## Decision + +Use Django's [Admin](https://docs.djangoproject.com/en/4.2/ref/contrib/admin/) site for administrative actions. Django +Admin gives administrators all the powers we anticipate needing (and more), with relatively little overhead on the +development team. + +## Consequences + +Django admin provides the team with a _huge_ head start on the creation of an administrator portal. + +While Django Admin is highly customizable, development will be constrained by what is possible within Django Admin. + +We anticipate that this will, overall, speed up the time to MVP compared to building a completely custom solution. + +Django Admin offers omnipotence for administrators out of the box, with direct access to database objects. This includes +the ability to put the application and its data in an erroneous state, based on otherwise normal business rules/logic. + +In contrast to building an admin interface from scratch where development activities would predominantly +involve _building up_, leveraging Django Admin will require carefully _pairing back_ the functionalities available to +users such as analysts. + +While we anticipate that Django Admin will meet (or even exceed) the user needs that we are aware of today, it is still +an open question whether Django Admin will be the long-term administrator tool of choice. A pivot away from Django Admin +in the future would of course mean starting from scratch at a later date, and potentially juggling two separate admin +portals for a period of time while a custom solution is incrementally developed. This would result in an overall +_increase_ to the total amount of development time invested in the administrator portal. From bba9f1b3762cb0b38b26b75043dc26fc55856a87 Mon Sep 17 00:00:00 2001 From: brandonlenz Date: Thu, 22 Jun 2023 10:26:27 -0400 Subject: [PATCH 2/5] Small language tweaks --- docs/architecture/decisions/0021-django-admin.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/architecture/decisions/0021-django-admin.md b/docs/architecture/decisions/0021-django-admin.md index 20dc747cb..6e9580932 100644 --- a/docs/architecture/decisions/0021-django-admin.md +++ b/docs/architecture/decisions/0021-django-admin.md @@ -22,7 +22,8 @@ development team. Django admin provides the team with a _huge_ head start on the creation of an administrator portal. -While Django Admin is highly customizable, development will be constrained by what is possible within Django Admin. +While Django Admin is highly customizable, design and development will be constrained by what is possible within Django +Admin. We anticipate that this will, overall, speed up the time to MVP compared to building a completely custom solution. @@ -37,4 +38,4 @@ While we anticipate that Django Admin will meet (or even exceed) the user needs an open question whether Django Admin will be the long-term administrator tool of choice. A pivot away from Django Admin in the future would of course mean starting from scratch at a later date, and potentially juggling two separate admin portals for a period of time while a custom solution is incrementally developed. This would result in an overall -_increase_ to the total amount of development time invested in the administrator portal. +_increase_ to the total amount of time invested in building an administrator portal. From c567296eae318f6721c3f1f80579f8f4cd221c0e Mon Sep 17 00:00:00 2001 From: Alysia Broddrick Date: Thu, 22 Jun 2023 13:22:06 -0700 Subject: [PATCH 3/5] added ryan to fixtures --- src/registrar/fixtures.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/registrar/fixtures.py b/src/registrar/fixtures.py index 3aefbe68b..cc505ec16 100644 --- a/src/registrar/fixtures.py +++ b/src/registrar/fixtures.py @@ -49,6 +49,11 @@ class UserFixture: "first_name": "Cameron", "last_name": "Dixon", }, + { + "username": "0353607a-cbba-47d2-98d7-e83dcd5b90ea", + "first_name": "Ryan", + "last_name": "Brooks", + }, ] @classmethod From 33461f054f80df1f223d970e687cd3042bf43a1d Mon Sep 17 00:00:00 2001 From: Alysia Broddrick Date: Thu, 22 Jun 2023 15:25:16 -0700 Subject: [PATCH 4/5] fixed linting issue --- src/registrar/fixtures.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/registrar/fixtures.py b/src/registrar/fixtures.py index cc505ec16..41295df38 100644 --- a/src/registrar/fixtures.py +++ b/src/registrar/fixtures.py @@ -49,7 +49,7 @@ class UserFixture: "first_name": "Cameron", "last_name": "Dixon", }, - { + { "username": "0353607a-cbba-47d2-98d7-e83dcd5b90ea", "first_name": "Ryan", "last_name": "Brooks", From 7445eff91aca48bd17bfc4e3f2585af254e6278c Mon Sep 17 00:00:00 2001 From: brandonlenz Date: Fri, 23 Jun 2023 15:33:22 -0400 Subject: [PATCH 5/5] Remove '(optional)' from question text, since it looks weird in rendered issue --- .github/ISSUE_TEMPLATE/bug.yml | 6 +++--- .github/ISSUE_TEMPLATE/story.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 53533a951..7cd332156 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -43,7 +43,7 @@ body: - type: textarea id: environment attributes: - label: Environment (optional) + label: Environment description: | Where is this issue occurring? If related to development environment, list the relevant tool versions. @@ -54,12 +54,12 @@ body: - type: textarea id: additional-context attributes: - label: Additional Context (optional) + label: Additional Context description: "Please include additional references (screenshots, design links, documentation, etc.) that are relevant" - type: textarea id: issue-links attributes: - label: Issue Links (optional) + label: Issue Links description: | What other issues does this story relate to and how? diff --git a/.github/ISSUE_TEMPLATE/story.yml b/.github/ISSUE_TEMPLATE/story.yml index 6173dd9e1..41516cc29 100644 --- a/.github/ISSUE_TEMPLATE/story.yml +++ b/.github/ISSUE_TEMPLATE/story.yml @@ -47,12 +47,12 @@ body: - type: textarea id: additional-context attributes: - label: Additional Context (optional) + label: Additional Context description: "Please include additional references (screenshots, design links, documentation, etc.) that are relevant" - type: textarea id: issue-links attributes: - label: Issue Links (optional) + label: Issue Links description: | What other issues does this story relate to and how?