Skip to main content
Solved

Customize Business Glossary Term View

  • January 30, 2023
  • 4 replies
  • 134 views

Forum|alt.badge.img+1

Hi,

I’m trying to modify our view of our business terms - currently we have a lot of information showing in the default view that our end users may not care about.  What I really want to do is modify the view, so that it only shows Name, Abbreviation, Description and Synonym.  I have figured out how to add the columns, but I can’t figure out how to remove unwanted columns.  For reference here is the default screen layout in Ataccama One via the Debugging Tools.

 

{

"_type": "entity.page.listing",

"children": {

"_type": "relationships.hierarchyListing",

"enableSelection": true,

"columns": {

"type": {

"dataPath": [],

"name": "Type",

"after": "name",

"renderer": {

"_type": "glossary.termType.tableCell"

}

}

}

}

}

 

Best answer by Maxim Kim

You have 2 options here: layout changes and fetch rules.

 

Layout change


Take your example and add more information into columns:

{
  "_type": "entity.page.listing",
  "children": {
    "_type": "relationships.hierarchyListing",
    "enableSelection": true,
    "columns": {
      "type": {
        "dataPath": [],
        "name": "Type",
        "after": "name",
        "renderer": {
          "_type": "glossary.termType.tableCell"
        }
      },
      "attributeNameToHide": {
        "enabled": false
      },
      "anotherAttributeNameToHide": {
        "enabled": false
      }
    }
  }
}


with “enabled”: false for each column/attribute you would like to hide.

Here for example, I have hidden the abbreviation:

 

Fetch rules

 

With fetch rules you should be able to “remove” some or all attributes from being loaded into a page.

For some reason it doesn’t work for me with the recent versions I have access to, but it for the completeness, let me describe how it worked :).

You have to switch to Fetch rules tab and provide rules in the following format:

[
  { "pattern": "./*", "enabled": false },
  { "pattern": "./name", "enabled": true },
  { "pattern": "./someAttribute", "enabled": true },
  { "pattern": "./someAttribute2", "enabled": true },
]

 

Which with the first pattern disables all the attributes to be loaded, and then with the next patterns enables only some of the existing attributes (name, someAttribute, someAttribute2).

Also note, that badly written fetch rule could make your screen blank without an easy way to restore previous state. At the time of 13.3 the only way to fix this was the direct database update.

 

In short, try first method.

View original

Maxim Kim
Ataccamer
Forum|alt.badge.img+3
  • Ataccamer
  • January 30, 2023

You have 2 options here: layout changes and fetch rules.

 

Layout change


Take your example and add more information into columns:

{
  "_type": "entity.page.listing",
  "children": {
    "_type": "relationships.hierarchyListing",
    "enableSelection": true,
    "columns": {
      "type": {
        "dataPath": [],
        "name": "Type",
        "after": "name",
        "renderer": {
          "_type": "glossary.termType.tableCell"
        }
      },
      "attributeNameToHide": {
        "enabled": false
      },
      "anotherAttributeNameToHide": {
        "enabled": false
      }
    }
  }
}


with “enabled”: false for each column/attribute you would like to hide.

Here for example, I have hidden the abbreviation:

 

Fetch rules

 

With fetch rules you should be able to “remove” some or all attributes from being loaded into a page.

For some reason it doesn’t work for me with the recent versions I have access to, but it for the completeness, let me describe how it worked :).

You have to switch to Fetch rules tab and provide rules in the following format:

[
  { "pattern": "./*", "enabled": false },
  { "pattern": "./name", "enabled": true },
  { "pattern": "./someAttribute", "enabled": true },
  { "pattern": "./someAttribute2", "enabled": true },
]

 

Which with the first pattern disables all the attributes to be loaded, and then with the next patterns enables only some of the existing attributes (name, someAttribute, someAttribute2).

Also note, that badly written fetch rule could make your screen blank without an easy way to restore previous state. At the time of 13.3 the only way to fix this was the direct database update.

 

In short, try first method.


Forum|alt.badge.img+1

@Maxim Kim - Thank you!  This is fantastic.  Lastly, I’m trying to pull in the businessDefinition.  However, when I try to add it, I’m getting the following error:

 

 

Any ideas how to add this in?  Thanks again for all of your help!


Maxim Kim
Ataccamer
Forum|alt.badge.img+3
  • Ataccamer
  • January 31, 2023

I am not 100% sure here, but it looks there are default fetch rules defined that exclude businessDefinition from being loaded into the view. You can enable it in fetch rules, but it will not help to render it in a listview. Business definition has type of rich text and listviews can’t render this type of attributes… yet. I have been told that in 14.1 it is possible though.


Maxim Kim
Ataccamer
Forum|alt.badge.img+3
  • Ataccamer
  • February 3, 2023

Devs told me that richtext fields in a list view should be supported by 14.1 version. And in 14.2 there would be initial support for reference object arrays.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings