mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-29 17:00:02 +02:00
First Draft ADR
This commit is contained in:
parent
9e0c11129a
commit
0fcf7de546
1 changed files with 40 additions and 0 deletions
40
docs/architecture/decisions/0021-django-admin.md
Normal file
40
docs/architecture/decisions/0021-django-admin.md
Normal file
|
@ -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.
|
Loading…
Add table
Add a link
Reference in a new issue