[
https://issues.apache.org/jira/browse/ATLAS-1521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15857392#comment-15857392
]
Keval Bhatt edited comment on ATLAS-1521 at 2/8/17 4:55 AM:
------------------------------------------------------------
Thanks [[email protected]] for review and Thanks [~madhan.neethiraj] for
patch commit (
http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/dd744765)
was (Author: kevalbhatt18):
Thanks [[email protected]] for review and Thanks [~madhan.neethiraj] for
committing patch (
http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/dd744765)
> Update UI to eliminate REST calls to obtain schema data
> -------------------------------------------------------
>
> Key: ATLAS-1521
> URL: https://issues.apache.org/jira/browse/ATLAS-1521
> Project: Atlas
> Issue Type: Improvement
> Components: atlas-webui
> Affects Versions: 0.8-incubating
> Reporter: Madhan Neethiraj
> Assignee: Keval Bhatt
> Attachments: ATLAS-1521.1.patch, ATLAS-1521.patch
>
>
> When rendering entity details page, UI makes a REST API call to
> /schema/{guid} to obtain the schema data. For entity types that don't support
> the notion of schema, this REST API call returns an error. When such error is
> returned, UI does not add 'Schema' tab to the details page. When the call
> returns data, UI renders the data in 'Schema' tab.
> Given that only few entity-types (like hive_table) support schema, most calls
> to retrieve schema return an error. Having additional schema related
> information in the type can eliminate the need for unnecessary REST calls.
> ATLAS-1517 introduces additional data in 'typeDefOptions' attribute of
> entity-type definition. UI can use the following logic to render the schema
> tab contents:
> # Does an entity-type support schema?
> Is {{entityDef.typeDefOptions\[schemaElementsAttribute]}} set and its value
> non empty? If yes, schema is supported else not-supported. For hive_table
> type, this will be set to 'columns' - as shown below:
> {code}
> "typeDefOptions": {
> "schemaElementsAttribute": "columns"
> }
> {code}
> # How does UI get the data to display in schema tab?
> Value of {{entityDef.typeDefOptions\[schemaElementsAttribute]}} will be the
> name of the attribute in the entity being rendered. This attribute should be
> of type array. The value of this attribute will have the data needed to
> render the schema tab
> # What are the columns to display in schema tab?
> Each element of the array attribute value will hold an entity/struct
> instance.For example, In case of hive_table, columns attribute will have an
> array of hive_column objects. From each such element, UI should get value of
> attributes listed in {{elementDef.typeDefOptions\[schemaAttributes]}} to
> render the schema table. For example, hive_column will have the following:
> {code}
> "typeDefOptions": {
> "schemaAttributes": "[\"name\", \"description\", \"owner\", \"type\",
> \"comment\", \"position\"]"
> }
> {code}
> The value will be a json-ified string array.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)