nl-kat-coordination icon indicating copy to clipboard operation
nl-kat-coordination copied to clipboard

Design "object detail page" timeline navigation component

Open TwistMeister opened this issue 1 year ago • 1 comments

Disclaimer: An object can be created because it is manually declared or because it is observed by KAT. When an object is observed it's possible the scan was finished on another point in time than the normalizers and bits finished their job. So "observed" could possibly be rendered as two different points "when we gathered the facts" and "when we processed the facts".

Disclaimer 2: A more extensive overview about an objects history can also be shown as a timeline, but this ticket is meant for a compact timeline that serves the purpose of being able to navigate to different points in time for an object. For a more extensive overview about an objects history a dedicated page or tab should be created. Which we will refine when we get there.

A user should know:

  • When the object was manually declared or observed for the first time (which is its creation in KAT)
  • When the object was still observed (by one or more scans, if more > show number of occurrences)
  • When the object itself changed but didn't result in a new object (And how many of these changes occurred)
  • When related objects pointing to the object changed (And how many of these changes occurred)
  • When the object was not observed anymore or changed in a way that led to the creation of a new object
  • When the object was observed again after being absent for some time
  • Contextual information on the various points and what they represent

A user should be able to:

  • Navigate to the object (detail page) on different points in time, using the time line
  • Choose different steps of "zoom level" to see a bigger or smaller time period
  • Navigate on the timeline to earlier or future points in time or
  • Filter the type of nodes they are seeing on the time line (types can be i.e. "created", "updated", "deleted")

More context: Declaration/observation An object can be manually declared and/or can be seen through one or more scans (boefje + normalizer), which result in raw files, which are stored in Bytes DB and are proof for its existence. Every time the object is observed is a valuable piece of information to show in some form on the timeline.

Each "observed" can possibly be split into two moments if the scan and the processing are different points in time, because know two different timelines: when did it a scan gather information about a fact and when dit KAT processed this piece of information and we can state we "knew" about it. Both are interesting to show on the timeline.

Object changes Objects can change; some changes result in a newly created object and the original object being stopped from existing in KAT. Other changes lead to the object itself being altered. Which we want to see on the time line.

Related objects changes Related objects to the object can also change, which we want to see on the time line (like more or less DNS records objects pointing to a hostname object).

The timeline doesn't have to show all changes on the timeline itself but a number about the amount of changes on a point in time would be beneficial.

========

Initial question:

For an object we'd like to have a timeline on which we can plot the points when we observed the object. It would be nice if these points can vary in appearance based on various conditions i.e. when its related objects changed, compared to the previous observation.

It is possible the object gets observed several times, then isn't observed anymore and gets observed again on a later point in time. The design should account for and display such gaps, but doesn't necessarily have to represent this scaled to the time line (so it doesn't have to be a representation of how long it was absent).

Attached is a version @HeleenSG and I drafted after some discussion and consideration. It's nowhere near final but gives the general idea as a starting point.

Screenshot 2023-08-02 at 12 59 42

TwistMeister avatar Aug 02 '23 11:08 TwistMeister

Nice! From https://github.com/minvws/nl-kat-coordination/issues/1652: in addition adding a simple first seen property to an object would be nice

zcrt avatar Aug 23 '23 15:08 zcrt