mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-06 01:35:22 +02:00
linted and fixed
Signed-off-by: CocoByte <nicolle.leclair@gmail.com>
This commit is contained in:
parent
9ab908119d
commit
81cd4e900e
2 changed files with 66 additions and 65 deletions
|
@ -1,11 +1,12 @@
|
|||
# Registrar Data Migration
|
||||
|
||||
There is an existing registrar/registry at Verisign. They will provide us with an
|
||||
export of the data from that system. The goal of our data migration is to take
|
||||
the provided data and use it to create as much as possible a _matching_ state
|
||||
The original system has an existing registrar/registry that we will import.
|
||||
The company of that system will provide us with an export of the data.
|
||||
The goal of our data migration is to take the provided data and use
|
||||
it to create as much as possible a _matching_ state
|
||||
in our registrar.
|
||||
|
||||
There is no way to make our registrar _identical_ to the Verisign system
|
||||
There is no way to make our registrar _identical_ to the original system
|
||||
because we have a different data model and workflow model. Instead, we should
|
||||
focus our migration efforts on creating a state in our new registrar that will
|
||||
primarily allow users of the system to perform the tasks that they want to do.
|
||||
|
@ -18,7 +19,7 @@ Login.gov account can make an account on the new registrar, and the first time
|
|||
that person logs in through Login.gov, we make a corresponding account in our
|
||||
user table. Because we cannot know the Universal Unique ID (UUID) for a
|
||||
person's Login.gov account, we cannot pre-create user accounts for individuals
|
||||
in our new registrar based on the data from Verisign.
|
||||
in our new registrar based on the original data.
|
||||
|
||||
## Domains
|
||||
|
||||
|
@ -27,7 +28,7 @@ information is the registry, but the registrar needs a copy of that
|
|||
information to make connections between registry users and the domains that
|
||||
they manage. The registrar stores very few fields about a domain except for
|
||||
its name, so it could be straightforward to import the exported list of domains
|
||||
from Verisign's `escrow_domains.daily.dotgov.GOV.txt`. It doesn't appear that
|
||||
from `escrow_domains.daily.dotgov.GOV.txt`. It doesn't appear that
|
||||
that table stores a flag for active or inactive.
|
||||
|
||||
An example Django management command that can load the delimited text file
|
||||
|
@ -43,7 +44,7 @@ docker compose run -T app ./manage.py load_domains_data < /tmp/escrow_domains.da
|
|||
|
||||
## User access to domains
|
||||
|
||||
The Verisign data contains a `escrow_domain_contacts.daily.dotgov.txt` file
|
||||
The data export contains a `escrow_domain_contacts.daily.dotgov.txt` file
|
||||
that links each domain to three different types of contacts: `billing`,
|
||||
`tech`, and `admin`. The ID of the contact in this linking table corresponds
|
||||
to the ID of a contact in the `escrow_contacts.daily.dotgov.txt` file. In the
|
||||
|
@ -59,9 +60,9 @@ invitation's domain.
|
|||
For the purposes of migration, we can prime the invitation system by creating
|
||||
an invitation in the system for each email address listed in the
|
||||
`domain_contacts` file. This means that if a person is currently a user in the
|
||||
Verisign system, and they use the same email address with Login.gov, then they
|
||||
original system, and they use the same email address with Login.gov, then they
|
||||
will end up with access to the same domains in the new registrar that they
|
||||
were associated with in the Verisign system.
|
||||
were associated with in the original system.
|
||||
|
||||
A management command that does this needs to process two data files, one for
|
||||
the contact information and one for the domain/contact association, so we
|
||||
|
@ -78,17 +79,18 @@ docker compose run app ./manage.py load_domain_invitations /app/escrow_domain_co
|
|||
```
|
||||
|
||||
## Transition Domains
|
||||
Verisign provides information about Transition Domains in 3 files;
|
||||
FILE 1: escrow_domain_contacts.daily.gov.GOV.txt
|
||||
FILE 2: escrow_contacts.daily.gov.GOV.txt
|
||||
FILE 3: escrow_domain_statuses.daily.gov.GOV.txt
|
||||
We are provided with information about Transition Domains in 3 files:
|
||||
FILE 1: **escrow_domain_contacts.daily.gov.GOV.txt** -> has the map of domain names to contact ID. Domains in this file will usually have 3 contacts each
|
||||
FILE 2: **escrow_contacts.daily.gov.GOV.txt** -> has the mapping of contact id to contact email address (which is what we care about for sending domain invitations)
|
||||
FILE 3: **escrow_domain_statuses.daily.gov.GOV.txt** -> has the map of domains and their statuses
|
||||
|
||||
Transferring this data from these files into our domain tables happens in two steps;
|
||||
|
||||
***IMPORTANT: only run the following locally, to avoid publicizing PII in our public repo.***
|
||||
|
||||
### STEP 1: Load Transition Domain data into TransitionDomain table
|
||||
|
||||
**SETUP**
|
||||
|
||||
In order to use the management command, we need to add the files to a folder under `src/`.
|
||||
This will allow Docker to mount the files to a container (under `/app`) for our use.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue