Data Browser
Overview
The Data Browser window shows a sample of the actual data values on the database and can also show a preview of what masked values could be generated by a masking Project, as well as reviewing the actual 'before' and 'after' masked values after a masking Run has completed.
You can think of the Data Browser as supporting two View modes:
The Normal View displays the data values that are on the database for the currently selected table .
The example below shows a data sample for the currently selected table kona.sales.Customer.
You can temporarily rearrange the order of columns by clicking on a heading and dragging it to a new position. When the table or column focus is changed then the column order shall revert to its configured setting.
You can permanently define the column appearance order and even which columns should appear or be omitted as described in the Data Browser Settings section below.
You can click on a column heading to sort the rows in the Data Browser.
The Masking View shows the before and after masking values for tables that have at least one mask defined (i.e. a "masked table.")
If a masked table is currently selected then only the masked columns are shown if the display setting is Automatic in the Masking View settings tab (see Data Browser Settings section below). You can override this by choosing the Manual setting and selecting which before and/or after columns you would like displayed and their order.
If an unmasked table is currently selected then the display for that table shall be the same as Normal View.
The Masking View mode is entered automatically upon completion of a Preview Run, or a Run that specified the option to review masked values, and the Masking View mode's toolbar becomes active in the Data Browser:
You can visit each displayed masked column's 'before' and 'after' value pair by clicking on the Next or Previous
icons. You can also just select the masked table or column from the Project Explorer tree or Project Diagram as usual.
The original 'before' values appear in columns with a white background whereas the masked 'after' values appear in columns with a yellow background. The masked value's column name shall also have the word "(Preview)" appended if the masked values are the result of a Preview Run and therefore the original values have not been overwritten; or "(Masked)" if the masked values are the result of a masking Run and therefore the original values have been overwritten.
To exit Masking View mode simply click on the "Exit Masking View" button. This will discard all 'before' and 'after' value pairs and Normal View mode shall be resumed for all tables.
Note: The 'before' and 'after' value pairs are retrieved from the DBMS upon Preview Run or Run (with review option selected) completion and are stored within the DataVeil memory space (Java heap) for the duration of Masking View mode only. DataVeil does not store these values anywhere else.
The maximum number of rows that can be displayed for a Masking View is 100 (whereas for a Normal View it is 1,000.) This Masking View range is set in the Preview Run and Run confirmation dialogs only.
You can temporarily rearrange the order of columns by clicking on a heading and dragging it to a new position. When the table or column focus is changed then the column order shall revert to its configured setting.
You can permanently define the column appearance order and even which columns should appear or be omitted as described in the Data Browser Settings section below.
You can click on a column heading to sort the rows in the Data Browser.
"Inherit (NA)" Displayed Masking Value
If you perform a Preview Run using the Quick option then all child dependents of masked values shall be shown as "Inherit (NA)" which indicates that such masked values are not available. This is because since the Quick option only masks a small sample of the parent fields of dependencies then the masked child values may not be available. If you want to preview child dependents' masked values then you must select the 'Complete' option in the Preview Run confirmation dialog. For more information please refer to the Executing Projects section.
Empty Masking View or Missing Rows
If you are performing a Preview Run using the Quick option and are masking multiple fields with conditional masks (i.e. a masks that use the Where option) then it is possible that the Masking View shall show fewer rows than the sample size, or the Masking View display can even be empty. Please refer to the Troubleshooting section below for details.
Undisplayable Data
Data types whose values cannot be displayed, such as binary objects and others (e.g. BLOB), shall be shown as its type name italicized on a gray background, as shown in the PRODUCT_IMAGE field in the example below.
Null values for undisplayable data types shall also be shown this way (whereas for displayable types, such as VARCHAR, Nulls shall be shown as "NULL" on a gray background.)
You can configure how the Data Browser is displayed and its contents by clicking on the settings icon (the cog wheel) within the Data Browser window.
If a Project table or column has focus then the Data Browser panel shall appear as follows:
The Normal View and Masking View tabs, shown above, refer to the configuration of table columns to be displayed whenever a Project table or any of its child columns have focus.
If none have focus, or a non-Project table or column has focus, then only the General tab shall appear.
General
The General tab is shown above.
Maximum data sample size: This is the maximum number of rows that DataVeil shall retrieve from the database and display in the window during normal view. The valid range is from 1 to 1,000 inclusive. The default is 50.
Show maximum string length: For string (character) type data fields, this is the maximum length that DataVeil shall attempt to retrieve from the database and display. For example, if a field is 2,000 characters long on the database and this setting is 100, then DataVeil shall only show the first 100 characters and append "..." to indicate that the field is only partially displayed. NOTE: This is a byte count. Unicode data types occupy 2 bytes per character. The valid range is from 40 to 4,000. The default is 100.
Listen on Sources
The Data Browser shall display sample data whenever a table or field gains focus in the corresponding Source views (indicated by checkboxes.) The default is all Sources are selected.
Normal View
This tab lets you specify which Project columns are displayed and their order.
Automatic
All columns that are in the Project shall be displayed in their ordinal order.
This is the default setting.
Manual
This option lets you specify which of this Project table's columns should be displayed in the Data Browser and their order when browsing normally (prior to having performed a masking run).
You can drag and drop the relevant columns or you can use the left/right and up/down buttons.
If no columns are selected then DataVeil shall automatically switch to Automatic mode for this table.
If after a Refresh Schema or Migrate Schema a column is no longer found in the new schema then it shall be removed from the Selected Fields list. If this means that all of the manually selected columns no longer exist for the table in the new schema then DataVeil shall automatically switch to Automatic mode for this table.
Masking View
This tab lets you to specify which before & after Project columns are displayed after a masking run and their order.
If you make a change to the Masking View configuration settings then the changes shall take effect upon the next time you run a masking project. It will not change the view presentation if you are already browsing masked results.
The Available Fields list will show every Project column in this table with both an (O) and (M) version corresponding to Original value and Masked value of each column. This is true regardless of whether a column actually has any masks defined. At run time, DataVeil shall omit from display any manually configured (M) columns if it did not have any masks defined.
Automatic
All columns that had masks defined shall be displayed in before/after pairs in their ordinal order.
This is the default setting.
Manual
This option lets you specify which of this Project table's original and masked value columns should be displayed and their order when browsing after a masking or preview masking run has completed.
You can drag and drop the relevant columns or you can use the left/right and up/down buttons.
If no columns are selected then DataVeil shall automatically switch to Automatic mode for this table.
If after a Refresh Schema or Migrate Schema a column is no longer found in the new schema then it shall be removed from the Selected Fields list. If this means that all of the manually selected columns no longer exist for the table in the new schema then DataVeil shall automatically switch to Automatic mode for this table.
Filter
Occasionally there are tables where there is a specific interest in viewing specific rows of a table or to simply see more than the default maximum of 1,000 rows that is permitted in the General tab described above.
Select the checkbox to activate the usage of the Where condition and/or Maximum row display limit.
Where condition
This filter provides the flexibility to display those rows that satisfy a Where condition.
For example, if a table is sparse and has very many rows with NULLs then when attempting to preview the masked values using the default browser settings, it may be that only those rows with NULLs will be displayed and would therefore therefore not be useful for the user by not being able to review any masked values in the browser. However, by simply applying a filter such as 'addressLine2 IS NOT NULL' as shown in the screen capture above, this will avoid such a problem and show only those rows that satisfy the Where condition.
Whenever a filter's Where condition is active the word FILTERED shall appear to the right of the table name in the Data Browser window:
Test
The Test button will validate that the Where condition has no errors.
Maximum number of rows to display
The filter also lets the user override the default maximum row limit for a specific table and increase it up to 10,000 rows.
It is suggested to avoid using this maximum limit on a great number of tables because it will slow down responsiveness of the browser because many more rows need to be transferred from the DBMS each time a table gains focus. Furthermore, at times when browser data is downloaded for all tables all-at-once, such as to retrieve before & after values following a masking run, there is a possibility of memory pressure with the worst case being an 'out of memory' Java error although this would be rare.
Troubleshooting
Why are some fields missing in the Data Browser?
The Data Browser shows only fields that are in the current scope. For example, if you have selected a table in the Project explorer tree then only those those table fields listed in the Project explorer tree shall be shown. Please check under the DBMS tab's explorer tree to see if the missing fields appear there. If so, you can either view them there by clicking on the table under the DBMS tab's explorer tree, or right-click on the table and use 'Add to Project' to move them from the DBMS explorer tree to the Project explorer tree.
Empty Masking View or Missing Rows
If you are performing a Preview Run using the Quick option and are using conditional masks (i.e. masks that use the Where option) then it is possible that the Masking View shall show fewer rows than the sample size, or the Masking View display may even be empty.
This can happen if conditional masks in each field select different row ranges for a Quick masking preview. In this case, DataVeil cannot construct complete result rows and therefore those partially masked rows are not displayed.
Note: This situation may occur only when using the Quick option of a Preview Run and one or more fields are using conditional masks in the same table. This situation does not occur when all masks in a table are unconditional, or if using the Complete option of a Preview Run.
Example:
Here we are masking two fields using simple unconditional Redact masks, where all rows in field COL_A are redacted with 'X' and all rows in field COL_B are redacted with 'Y'.
After performing a Quick Preview Run we get a full sample result of 20 rows:
Now, if we apply a Where condition so that only the first 10 rows of COL_A are masked, fewer sample rows are shown in the masking preview. This is because DataVeil was only able to construct complete result rows (across all fields) for only the first 10 rows due to the 'Where pk < 10' condition.
Now, if we apply another Where condition so that the first 10 rows of COL_A are masked and the first 10 rows of COL_B are NOT masked then no rows shall be displayed. This is because DataVeil is unable to construct any complete result rows (across all fields). As mentioned earlier, this situation can occur for tables only when Quick Preview Run is performed and conditional masks are present in the table.
Therefore, if you wish to see masking preview samples in such situations then please consider using the Preview Run Complete option because it will always construct complete result rows for display.