cisagov / manage.get.gov

A Django-based domain name registrar that interfaces with an EPP registry
https://get.gov
Other
60 stars 18 forks source link

Show activity history in the Domains table #2611

Open h-m-f-t opened 3 months ago

h-m-f-t commented 3 months ago

Issue description

As a analyst I want to see all actions that have been taken on a domain, who took them, and when So I can quickly get up to speed on a given domain and offer better support to registrants

Acceptance criteria

Additional context

Here's an example of how this might look:

Date Action Change from Change to Action by
2024-08-19T23:25:58Z Name server update NS2: old2.corpdns.org --- cameron@provider.net
2024-08-19T23:22:32Z Name server update NS3: --- NS3: ns.provider.net cameron@provider.net
2024-08-19T10:00:02Z Update org name City fo Lights City of Lights help@get.gov [analyst@team.gov]
2024-08-18T13:05:55Z Domain manager invitation retrieved invited retrieved cameron@provider.net
2024-08-18T13:03:00Z Domain manager invited --- cameron@provider.net kaitlin@city.gov
2024-08-18T13:01:00Z Domain manager invitation cancelled kameron@provider.net --- kaitlin@city.gov
2024-08-18T12:55:12Z Name server update NS1: old.corpdns.org NS1: new.corpdns.org kaitlin@city.gov
2024-08-18T12:30:56Z Domain manager invited --- kameron@provider.net kaitlin@city.gov

Links to other issues

abroddrick commented 3 months ago

@h-m-f-t what's the reasoning for the blocked by tickets?

h-m-f-t commented 3 months ago

@abroddrick I wasn't sure if those were pre-req's or not, particularly given my examples. What say you?

abroddrick commented 14 hours ago

@h-m-f-t Sorry I missed this!

To reply to your question in TLDR: No, we wouldn't need the states to change we just need to use audit log for what is shown in the example

My original explanation: What is shown in the example is easier done with just using the audit logs completely to figure out what has been changed and removed. For instance, a domain invitation being"canceled" would then require us to look domain invitations that were deleted. For "deleted domain managers", we would just look for UserDomain roles deleted for this domain. We don't actually need the state changes to show this, in fact that makes the suggested design a bit harder to do if we are using three tables and not just one.

However, I think no matter what this may slow down the domain's page loading, especially for domains that have had a lot of minor updates. What if we had this just be a link and the link redirect you to a new page that shows what you described (with button to go back). That way we don't add lag when this feature is not always needed.