Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

CosmosDataTagging

Back to Data Reporting Design

Data Tagging

Data tagging is an important design notion in the COSMOS UI. Wikipedia provides a difinition of meta data tagging [1].

There are two types of data tags that the COSMOS UI distinguishes:

  1. Data Tags
  2. Render Tags

Let us look at both types of data tags separately.

Data Tags

Data tags provide meta data information about the data. For example, consider the following JSON structure.

[
  {type:'cpu', id:'23423511'},
  {type:'mouse' id:'23122'},
  {type:'os' id:'23122'}

]

The above information shows three resources that reprensent a 'cpu', 'mouse' and 'os'. There a multiple ways to tag the data. The following shows three options.

Option 1 - categorize data based on hardware/software

[
  {type:'cpu', id:'23423511', tag:'hardware'},
  {type:'mouse' id:'23122', tag:'hardware'},
  {type:'os' id:'23122', tag:'software'}
]

Option 2 - categorize data based on resource type

[
  {type:'cpu', id:'23423511', tag:'cpu'},
  {type:'mouse' id:'23122', tag:'mouse'},
  {type:'os' id:'23122', tag:'os'}
]

Option 3 - categorize data based on hadrware/software and resource type

[
  {type:'cpu', id:'23423511', tag:'hardware cpu'},
  {type:'mouse' id:'23122', tag:'hardware mouse'},
  {type:'os' id:'23122', tag:'software os'}
]

Notice that the third option uses nested tags to provide meta data information on the resource.

The COSMOS visualization will make use of this information to render the data. For example, different icons can be associated with a resource depending on the tag value. Furthermore if the above data structure is rendered in a tree, the tree widget may show different pop-up menus when the user selects the node depending on the tag value.

The COSMOS visualizations reads these tags to determine how to render the information.

Render Tags

Render tags provide meta data information describing how the data is rendered. Consider the case where I have a tree widget, table widget and another tree widget.

When the widgets are rendered in the COSMOS ui a tag is associated with each widget.

when data is rendered in each of these widgets the widget tags the data with their tag value. Consider the following data.

[
  {type:'cpu', id:'23423511', tag:'hardware'},
  {type:'mouse' id:'23122', tag:'hardware'},
  {type:'os' id:'23122', tag:'software'}
]

If this data is rendered in the tree widget with a tag value of 'tree1' the data will be tagged as follows:

[
  {type:'cpu', id:'23423511', tag:'tree1 hardware'},
  {type:'mouse' id:'23122', tag:'tree1 hardware'},
  {type:'os' id:'23122', tag:'tree1 software'}
]

Similarly if this data is rendered in the table widget with a tag value of 'table' the data will be tagged as follows:

[
  {type:'cpu', id:'23423511', tag:'table hardware'},
  {type:'mouse' id:'23122', tag:'table hardware'},
  {type:'os' id:'23122', tag:'table software'}
]


This type of rendering tags provides additional meta data information on the data. This is usefull in cases where data is sent from one widget to another. For example, if the table widget recieves data from two different widgets it may handle the data differently if the data comes from one widget as opposed to the other widget.

Back to the top