Minor doc formatting and typo fixes

Signed-off-by: Carlo Costino <carlo.costino@gsa.gov>
This commit is contained in:
Carlo Costino
2023-07-05 15:29:59 -04:00
parent 22670b6ee6
commit f93972e9c4

View File

@@ -10,11 +10,18 @@
**OPEN ISSUE(S):** https://github.com/GSA/notifications-api/issues/141, https://github.com/GSA/notifications-admin/issues/53, https://github.com/GSA/notifications-admin/issues/51
We will be entering into memoranda of understanding (MOU) and Interagency Agreements (IAA) with partner agencies. Data from those agreements will be important for application function.
We will be entering into Memoranda of Understanding (MOU) and Interagency
Agreements (IAA) with partner agencies. Data from those agreements will be
important for application function.
Unlike the UK version of the application, users will not be able to complete a self-service in-app agreement process. Our agreement process requires that documents be “signed” outside of the application and (especially in the case of an IAA) needs to happen with specific forms that have historically proven difficult to automate.
Unlike the UK version of the application, users will not be able to complete a
self-service in-app agreement process. Our agreement process requires that
documents be “signed” outside of the application and (especially in the case of
an IAA) needs to happen with specific forms that have historically proven
difficult to automate.
Inside the application, well want to know information about the partner as well as information necessary to avoid overspending the account.
Inside the application, well want to know information about the partner as well
as information necessary to avoid overspending the account.
This information includes:
- Agreement identifier
@@ -36,7 +43,7 @@ An implementation should address these needs:
- The ability to connect data to organization and service models
This is a minimal implementation of agreement data. It's quite possible that
it will change and expand over time, but those needs are note yet clear.
it will change and expand over time, but those needs are not yet clear.
Because we will continue to have the actual agreement docs safely in Google
Drive, this implementation does not need to be a source of truth and does not
@@ -60,9 +67,9 @@ As a team, we've gone through the following options:
- Separates agreements from the orgs, since they may change separately
- Multiple agreement-like models might be confusing, this avoids that
- Cons:
- Groups IAA and MOU together, which makes validation at the model level harder
and, in turn, makes it easier to break validation logic elsewhere in the
application
- Groups IAA and MOU together, which makes validation at the model level
harder and, in turn, makes it easier to break validation logic elsewhere
in the application
- Add MOU and IAA models: two new classes in `models.py` with the same fields
but different configurations.
@@ -82,22 +89,27 @@ As a team, we've gone through the following options:
## CHOSEN OPTION: Add an Agreement model
By adding an Agreement model, well allow flexibility in the interaction between agreements and organizations but stop short of attempting to recreate the full complexity of agreements in our data model.
By adding an Agreement model, well allow flexibility in the interaction between
agreements and organizations but stop short of attempting to recreate the full
complexity of agreements in our data model.
If we later find that its necessary to separate MOU and IAA agreements, we should be able to perform a migration.
If we later find that its necessary to separate MOU and IAA agreements, we
should be able to perform a migration.
### Consequences
- Positive
- Well gain more granular control over message limits for paid (IAA) agreements
- Well gain more granular control over message limits for paid (IAA)
agreements
- We can offer more agreement transparency to users. For example, identifying
agreements that will need renewal
agreements that will need renewal
- Negative
- Were adding some complexity to the data model
- We know that this implementation is an MVP and thus might have rough edges
- Manual work is necessary to keep agreements in sync with the real-world process
- Manual work is necessary to keep agreements in sync with the real-world
process
## VALIDATION AND NEXT STEPS
@@ -106,15 +118,15 @@ This process includes adding the new model and updating the existing models to
use them.
1. Add the new model:
- Add Agreement to models.py with the fields identified above
- Create migration to add/update table
- Add Agreement to models.py with the fields identified above
- Create migration to add/update table
2. Update the Organisation model:
- Add one-to-many field linking one Organisation to multiple Agreements
- Add model property to convert budget amount into message limit
- Add model property to provide remaining budget based on sent messages
- Add model property about whether free tier or not
- Add model property for free tier usage (retrieve messages sent in a year)
- Add one-to-many field linking one Organisation to multiple Agreements
- Add model property to convert budget amount into message limit
- Add model property to provide remaining budget based on sent messages
- Add model property about whether free tier or not
- Add model property for free tier usage (retrieve messages sent in a year)
This will set up a new system, but stops short of connecting agreements to the
services actually sending the messages. This approach will be laid out in a