💻Global search and comparison UI

1. Step By Step Process

1. Configuration

Global policy search and comparison relies on Indexer for some of its functionality. Such Indexer can be deployed locally, or run elsewhere so long as there is an HTTP access path which must be specified in the ANALYTICS_SERVICE parameter in the .env configuration file: Example:

"ANALYTICS_SERVICE": "http://localhost:3021",

1.1 Compare

There are a several way to select policies for comparison, all of which do not require/result in the importing of the policies into Guardian.

Policies can be selected from different sources

  • Already imported (i.e. now ‘local’) policies

  • by message ID

  • from local file

Not using content similarity criteria for searching.

Searching based on the content similarity to the existing policy.

1.2.1 Filters

  • Type – data source

    • Search only imported – search only ‘local’ policies which have been imported (as ‘drafts’)

    • Local Guardian search – search in all published ‘local’ policies

    • Global search – global search through all policies (using Indexer)

  • Search – search using keywords

  • Minted Tokens – include only those policies which already produced issued/minted tokens, with the minimal quantity as specified

  • VC Documents – include only those policies which already produced VC documents, with the minimal quantity as specified

  • VP Documents – include only those policies which already produced VP documents, with the minimal quantity as specified

  • Policy Owner – include only those owned by specific DID[s]

1.2.2 Import

Users can import found policies into local Guardian instance.

2. Comparison Result

We have several different sections in our comparison screen including filter parameters:

Selected Policies are compared to the first Policy (displayed in the section on the left-hand side), the rest of the sections show the results of the ‘diffs’.

2.1 Comparison Parameters

  1. Events: configures if differences in events are reflected in the results of the comparison of blocks

Parameter
Definition

Don't compare

event differences are not reflected in the results of comparing blocks

All events

event differences are reflected in the block comparison results

2. Properties : configures how differences in Properties are reflected in the results of comparing blocks

Parameter
Definition

Don't compare

differences in properties do not have effect on the comparison of blocks, except the ‘tag’ and ‘block type’ which do.

Only simple properties

only simple Properties influence block comparison

All properties

all Properties are taken into consideration for block comparison

3. Children : configures how differences in child blocks influence the results of comparing parent blocks

Parameter
Definition

Don't compare

when parents blocks are compared their child blocks are not taken into consideration

Only child blocks of the first level

only immediate children of parent blocks are compared when comparing parent blocks

All children

all children of parent blocks are compared when comparing parent blocks

4. UUID : configures if UUID and Hedera ID are taken into consideration when comparing blocks

Parameter
Definition

Don't compare

UUIDs of schemas, tokens, topics, etc and their Properties are not compared when blocks are compared

All UUID

all IDs are taken into consideration when comparing blocks (for example when this option is chosen if all Properties of tokens in two Policies being compared are the same these tokens would still be considered different since they would by definition have different UUIDs)

2. Sections:

There are different sections in the comparison such as

  1. Main – shows results of comparison of the main fields of the Policies

  2. Policy Roles – shows results of comparison of the roles of Policies

  3. Policy Groups – shows results of comparison of the groups

  4. Policy Topics – shows results of comparison of dynamic topics

  5. Policy Tokens – shows results of comparisons of dynamic tokens

  6. Policy Blocks – shows results of comparisons of Policy block structures

We have several Display settings in Policy Blocks section:

Display Settings: description and show/hide settings for each color/type of difference:

Color
Purpose

Green

blocks are equal, including their child blocks

Green - Amber

blocks are equal, but their child blocks are different

Amber

blocks are of the same type and are partially equal, there are some notable differences

Red

blocks are absent in the other Policy

Block comparison displays can be unfolded to display a detailed view of the block Properties.

Demo Video

Youtube

Last updated