Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved constraints for changing the column type #1540

Closed
deidera08 opened this issue Feb 27, 2019 · 42 comments
Closed

Improved constraints for changing the column type #1540

deidera08 opened this issue Feb 27, 2019 · 42 comments
Assignees
Labels
@datasource Component Name : Datasource/Connection Management enhancement Request Change and Feature Enhancement @metadata Component Name : Metadata
Milestone

Comments

@deidera08
Copy link

deidera08 commented Feb 27, 2019

Is your feature request related to a problem? Please describe.
타입 변경에 따른 제약이 발생하기 시작했습니다.
(유저 생성한 Geo 타입 변경 불가, Date/Time 타입에 대한 유효성)
그러나 현재 Datasource > Column Detail에서 타입을 아무 제약없이 손쉽게 바꿀 수 있습니다.
.
.
Describe the solution you'd like
Datasource > Information에서 타입변경 기능을 삭제하고, Configure Schema에서 Date/Time 타입으로 변경시 유효성 체크를 합니다.
이는 Metadata > Column Schema에서 타입 변경시에도 동일합니다.
.
.
Describe alternatives you've considered

  1. Datasource > Column Detail에서 Type변경 불가
    datasource_columndetail
    .
    .
  2. Datasource > Configure Schema에서 Date/Time 타입으로 변경시 유효성 체크
    datasource_configureschema01
    datasource_configureschema02
    .
    .
  3. Metadata > Configure Schema 또한 Date/Time 타입으로 변경시 유효성 체크
    metadata_columnschema01
    metadata_columnschema02
    .
    .
    .
    Additional context
    관련이슈 : If the timestamp column is more than a unit of day, the time zone is meaningless #1397 , Creating a metadata by database in data connection #1539 Enable to edit column's logical information of datasource and sync with column of metadata #1245
@deidera08 deidera08 added @datasource Component Name : Datasource/Connection Management @metadata Component Name : Metadata labels Feb 27, 2019
@kyungtaak
Copy link
Contributor

@deidera08 타입 변경에 대한 제약이 필요하다는 의견에 동의합니다. 내부적으로 확인이 필요하겠네요.
geo type 은 드루이드 엔진에 인덱싱이 되어 있는 부분이라, 변경이되면 안되는데요. 이런 부분은 적재시점에 필드속성으로 변경을 허용하지 않는다는 플래그를 넣어 화면내 편집불가를 표시하면 어떨런지요.

그리고 format 컬럼은 항상 걸리는것 같아요. 현재는 timestamp 만 있는데, 굳이 grid에 format 컬럼을 유지해야하는지 의문입니다. 타입을 변경시 위에 그려두었듯이 레이어를 두어서 처리하는 방안은 어떠실런지요?

@deidera08
Copy link
Author

deidera08 commented Mar 4, 2019

@kyungtaak @AnnieHwang
Geo type은 생성 당시(인제스쳔 단계) 삭제/변경 불가하다는 안내문구로 한번 더 보완하도록 하겠습니다.

format컬럼은 현재는 Date/Time밖에 쓰지는 않지만 추후 논리적 타입(우편번호, 전화번호 등)을 염두에 두고 유지시키고 있는데요. 논리타입이 구현이 현재는 우선순위에서 많이 밀리고 있어, 구현되는 시점까지 숨기는 방법도 있을듯 합니다.
@AnnieHwang 과 논의하여 보완해나가겠습니다.

@kyungtaak kyungtaak added this to the 3.2.0 milestone Mar 11, 2019
@kyungtaak kyungtaak changed the title Improved column type change Improved constraints for changing the column type Mar 11, 2019
ninezero90hy added a commit that referenced this issue Mar 11, 2019
@deidera08
Copy link
Author

@kyungtaak @ninezero90hy @AnnieHwang
현재 Metadata > Configure Schema화면에 검색이 필요합니다.
(작업량이 괜찮으시다면) 본 화면에서 같이 진행해주실수 있으실까요? 적절치 않다면 이슈를 따로 분리하도록 하겠습니다

@ninezero90hy
Copy link
Contributor

@kyungtaak @ninezero90hy @AnnieHwang
현재 Metadata > Configure Schema화면에 검색이 필요합니다.
(작업량이 괜찮으시다면) 본 화면에서 같이 진행해주실수 있으실까요? 적절치 않다면 이슈를 따로 분리하도록 하겠습니다

@deidera08 넵 해당 이슈에서 같이 진행하겠습니다

@ninezero90hy
Copy link
Contributor

@deidera08 #1245 이슈 댓글 > 4.메타데이터 > 컬럼 스키마 : 가이드문구 영역 추가. 2번화면과 통일성있게 맞춤.
해당 댓글에 있는 디자인으로 메타데이터 컬럼 스키마 필터링 부분 진행하겠습니다

스크린샷 2019-03-11 오후 2 54 08

@deidera08
Copy link
Author

@ninezero90hy
예전 기획서에 따른 디자인이라, 현재 Datasource>Grid나 Datasource>Configure Schema화면의 검색과 동일하게 부탁드리겠습니다.

ninezero90hy added a commit that referenced this issue Mar 11, 2019
@kyungtaak kyungtaak added the enhancement Request Change and Feature Enhancement label Mar 11, 2019
@ninezero90hy
Copy link
Contributor

ninezero90hy commented Mar 11, 2019

@kyungtaak 메타데이터 > 컬럼 스키마 필터링 기능을 추가하고 있는데 메타데이터 컬럼정보에 필터링 할 때 필요한 롤(역할) 정보가 없습니다
확인 부탁드립니다 :)

스크린샷 2019-03-11 오후 9 20 06

메타데이터 컬럼조회 API - [GET] /api/metadatas/{id}/columns?projection=forListView

[{
	"name": "fd_permission",
	"id": "22",
	"type": "STRING",
	"popularity": 0.0,
	"physicalType": "STRING",
	"physicalName": "fd_permission"
}, {
	"name": "id",
	"id": "23",
	"type": "STRING",
	"popularity": 0.0,
	"physicalType": "STRING",
	"physicalName": "id"
}, {
	"name": "current_datetime",
	"id": "24",
	"type": "TIMESTAMP",
	"popularity": 0.0,
	"physicalType": "TIMESTAMP",
	"physicalName": "current_datetime"
}]

@deidera08
Copy link
Author

@AnnieHwang @brandon-wonjune @ninezero90hy @koeun222

layer

포맷 작성 레이어에서 (입력한 값의 유효여부와 상관없이) Save/Cancel 버튼이 의미가 없어 삭제하고 Close 버튼으로 대체하도록 하겠습니다.

포맷에 값을 입력시 해당 값을 기억하고 부모팝업의 input에도 동일값이 노출됩니다. (레이어를 닫았다가 다시 호출시에도 해당값 노출됨)
다만 해당 값 유효성 여부를 체크하지 않았거나 유효하지 않은 경우 경고 아이콘을 노출시키고
부모 팝업의 내용을 저장할 수 없습니다.

@koeun222
Copy link

koeun222 commented Mar 12, 2019

@AnnieHwang 디자인 공유드립니다

  1. Datasource > Column Detail에서 Type변경 불가 : 퍼블에서 해당내용 제거 부탁드립니다-

  2. Datasource > Configure Schema에서 Date/Time 타입으로 변경시 유효성 체크
    image

  3. Metadata > Column Schema 또한 Date/Time 타입으로 변경시 유효성 체크
    image

@ninezero90hy
Copy link
Contributor

ninezero90hy commented Mar 12, 2019

@AnnieHwang 디자인 공유드립니다

  1. Datasource > Column Detail에서 Type변경 불가 : 퍼블에서 해당내용 제거 부탁드립니다-
  2. Datasource > Configure Schema에서 Date/Time 타입으로 변경시 유효성 체크
    image
  3. Metadata > Column Schema 또한 Date/Time 타입으로 변경시 유효성 체크
    image

@kyungtaak 메타데이터 > 컬럼 스키마의 포맷 부분이 변경되었는데 확인 부탁드립니다

@kyungtaak
Copy link
Contributor

@ninezero90hy @brandon-wonjune
metadata column 에 role 속성을 추가했습니다. 그리고, WKT 유효성 체크는 아래와 같습니다

  • Request Sample
    (POST) /api/datasources/validation/wkt
{
    "geoType": "GEO_LINE",
    "values": [
        "LINESTRING (127.007656 37.491764, 127.027648 37.497879)",
        "LINESTRING (127.027648 37.497879, 127.066436 37.509842)"
    ]
}
  • Respons Sample
- Valid 인경우
{
    "valid": true,
    "suggestType": "GEO_LINE",
    "message": "ERROR_NOT_MATCHED_WKT_TYPE"
}

- Invalid 인경우
(geoType 을 GEO_POINT 로 전달한 경우)
{
    "valid": false,
    "suggestType": "GEO_LINE",
    "message": "ERROR_NOT_MATCHED_WKT_TYPE"
}

(WKT value 가 아닌 경우)
{
    "valid": false,
    "suggestType": null,
    "message": "ERROR_PARSE_WKT"
}

(적재에 지원되지 않는 WKT 타입인 경우)
{
    "valid": false,
    "suggestType": null,
    "message": "ERROR_NOT_SUPPORT_WKT_TYPE"
}

kyungtaak added a commit that referenced this issue Mar 13, 2019
@deidera08
Copy link
Author

deidera08 commented Mar 14, 2019

@kyungtaak @AnnieHwang @brandon-wonjune @ninezero90hy

format 컬럼은 항상 걸리는것 같아요. 현재는 timestamp 만 있는데, 굳이 grid에 format 컬럼을 유지해야하는지 의문입니다.

UI가 개선되었습니다. Configure schema화면에서 Format영역이 삭제되고 정보 버튼으로 대체되었습니다.

  1. Datasource > Configure schema
    Datasource_Configure schema
    .
    .
  2. Metadata > Column schema
    Metadata_Configure schema
    .
    .
    기능

@ninezero90hy
Copy link
Contributor

@kyungtaak @ufoscw 확인 부탁드립니다

스크린샷 2019-04-15 오후 3 15 03

  • 메타데이터 상세 정보 조회시 source.source.connection 정보가 없습니다.
    (데이터소스를 프리셋을 사용해서 생성한 경우)

  • 메타데이터 상세정보 조회 결과

{
	"name": "linked",
	"id": "f89dbb56-c21e-4e26-a3c4-55d62b3d81a3",
	"sourceType": "ENGINE",
	"description": "",
	"catalogs": [],
	"modifiedBy": {
		"type": "user",
		"username": "admin",
		"fullName": "Administrator",
		"email": "admin@metatron.com"
	},
	"modifiedTime": "2019-04-15T06:00:33.000Z",
	"columns": [{
		"physicalType": "INTEGER",
		"physicalName": "userid",
		"name": "ratings.userid",
		"type": "INTEGER",
		"fieldRef": 10047087,
		"role": "MEASURE",
		"seq": 0
	}, {
		"physicalType": "INTEGER",
		"physicalName": "movieid",
		"name": "ratings.movieid",
		"type": "INTEGER",
		"fieldRef": 10047088,
		"role": "MEASURE",
		"seq": 1
	}, {
		"physicalType": "INTEGER",
		"physicalName": "rating",
		"name": "ratings.rating",
		"type": "INTEGER",
		"fieldRef": 10047089,
		"role": "MEASURE",
		"seq": 2
	}, {
		"physicalType": "STRING",
		"physicalName": "tstamp",
		"name": "ratings.tstamp",
		"type": "STRING",
		"fieldRef": 10047090,
		"role": "DIMENSION",
		"seq": 3
	}, {
		"physicalType": "TIMESTAMP",
		"physicalName": "current_datetime",
		"name": "current_datetime",
		"type": "TIMESTAMP",
		"fieldRef": 10047091,
		"role": "TIMESTAMP",
		"seq": 4,
		"format": {
			"type": "time_temporary",
			"format": "yyyy-MM-dd HH:mm:ss"
		}
	}],
	"createdTime": "2019-04-15T06:00:33.000Z",
	"createdBy": {
		"type": "user",
		"username": "admin",
		"fullName": "Administrator",
		"email": "admin@metatron.com"
	},
	"popularity": 0.0,
	"tags": [],
	"source": {
		"name": "linked",
		"id": "e8e34e59-cfee-45d9-99d4-125346150ca3",
		"type": "ENGINE",
		"modifiedBy": {
			"type": "user",
			"username": "admin",
			"fullName": "Administrator",
			"email": "admin@metatron.com"
		},
		"modifiedTime": "2019-04-15T06:00:33.000Z",
		"createdTime": "2019-04-15T06:00:33.000Z",
		"createdBy": {
			"type": "user",
			"username": "admin",
			"fullName": "Administrator",
			"email": "admin@metatron.com"
		},
		"source": {
			"createdBy": "admin",
			"createdTime": "2019-04-15T06:00:32.000Z",
			"modifiedBy": "admin",
			"modifiedTime": "2019-04-15T06:00:33.000Z",
			"id": "535ed1fa-9f2c-4638-9da9-6b0b90defa32",
			"name": "linked",
			"engineName": "linked",
			"ownerId": "admin",
			"description": "",
			"dsType": "MASTER",
			"connType": "ENGINE",
			"srcType": "JDBC",
			"granularity": "MONTH",
			"segGranularity": "MONTH",
			"status": "ENABLED",
			"includeGeo": false,
			"linkedWorkspaces": 1,
			"ingestion": {
				"dataType": "TABLE",
				"type": "single",
				"rollup": true,
				"query": "ratings",
				"database": "default",
				"scope": "ALL"
			},
			"fields": [{
				"id": 10047087,
				"name": "userid",
				"logicalName": "ratings.userid",
				"type": "INTEGER",
				"logicalType": "INTEGER",
				"role": "MEASURE",
				"aggrType": "NONE",
				"seq": 0
			}, {
				"id": 10047088,
				"name": "movieid",
				"logicalName": "ratings.movieid",
				"type": "INTEGER",
				"logicalType": "INTEGER",
				"role": "MEASURE",
				"aggrType": "NONE",
				"seq": 1
			}, {
				"id": 10047089,
				"name": "rating",
				"logicalName": "ratings.rating",
				"type": "INTEGER",
				"logicalType": "INTEGER",
				"role": "MEASURE",
				"aggrType": "NONE",
				"seq": 2
			}, {
				"id": 10047090,
				"name": "tstamp",
				"logicalName": "ratings.tstamp",
				"type": "STRING",
				"logicalType": "STRING",
				"role": "DIMENSION",
				"aggrType": "NONE",
				"seq": 3
			}, {
				"id": 10047091,
				"name": "current_datetime",
				"logicalName": "current_datetime",
				"type": "TIMESTAMP",
				"logicalType": "TIMESTAMP",
				"role": "TIMESTAMP",
				"aggrType": "NONE",
				"seq": 4,
				"derived": true,
				"format": {
					"type": "time_temporary",
					"format": "yyyy-MM-dd HH:mm:ss"
				}
			}],
			"summary": {
				"ingestionMinTime": "2014-04-15T06:01:28.000Z",
				"ingestionMaxTime": "2019-04-15T06:01:28.000Z",
				"size": 24282747,
				"count": 458455,
				"ingestedCount": 1000209,
				"columns": {
					"__time": {
						"type": "long",
						"cardinality": -1
					},
					"count": {
						"type": "long",
						"cardinality": -1
					},
					"movieid": {
						"type": "double",
						"cardinality": -1
					},
					"rating": {
						"type": "double",
						"cardinality": -1
					},
					"tstamp": {
						"type": "dimension.string",
						"cardinality": 458455
					},
					"userid": {
						"type": "double",
						"cardinality": -1
					}
				}
			},
			"alias": "linked",
			"dataSourceType": "MASTER"
		}
	},
	"_links": {
		"self": {
			"href": "http://local.com:4200/api/metadatas/f89dbb56-c21e-4e26-a3c4-55d62b3d81a3"
		},
		"metadata": {
			"href": "http://local.com:4200/api/metadatas/f89dbb56-c21e-4e26-a3c4-55d62b3d81a3{?projection}",
			"templated": true
		},
		"columns": {
			"href": "http://local.com:4200/api/metadatas/f89dbb56-c21e-4e26-a3c4-55d62b3d81a3/columns"
		},
		"catalogs": {
			"href": "http://local.com:4200/api/metadatas/f89dbb56-c21e-4e26-a3c4-55d62b3d81a3/catalogs"
		}
	}
}
  • 해당 메타데이터의 데이터소스 상세 정보 조회 결과
{
	"name": "linked",
	"fields": [{
		"id": 10047087,
		"name": "userid",
		"logicalName": "ratings.userid",
		"type": "INTEGER",
		"logicalType": "INTEGER",
		"role": "MEASURE",
		"aggrType": "NONE",
		"seq": 0
	}, {
		"id": 10047088,
		"name": "movieid",
		"logicalName": "ratings.movieid",
		"type": "INTEGER",
		"logicalType": "INTEGER",
		"role": "MEASURE",
		"aggrType": "NONE",
		"seq": 1
	}, {
		"id": 10047089,
		"name": "rating",
		"logicalName": "ratings.rating",
		"type": "INTEGER",
		"logicalType": "INTEGER",
		"role": "MEASURE",
		"aggrType": "NONE",
		"seq": 2
	}, {
		"id": 10047090,
		"name": "tstamp",
		"logicalName": "ratings.tstamp",
		"type": "STRING",
		"logicalType": "STRING",
		"role": "DIMENSION",
		"aggrType": "NONE",
		"seq": 3
	}, {
		"id": 10047091,
		"name": "current_datetime",
		"logicalName": "current_datetime",
		"type": "TIMESTAMP",
		"logicalType": "TIMESTAMP",
		"role": "TIMESTAMP",
		"aggrType": "NONE",
		"seq": 4,
		"derived": true,
		"format": {
			"type": "time_temporary",
			"format": "yyyy-MM-dd HH:mm:ss"
		}
	}],
	"id": "535ed1fa-9f2c-4638-9da9-6b0b90defa32",
	"srcType": "JDBC",
	"description": "",
	"status": "ENABLED",
	"modifiedBy": {
		"type": "user",
		"username": "admin",
		"fullName": "Administrator",
		"email": "admin@metatron.com"
	},
	"modifiedTime": "2019-04-15T06:00:33.000Z",
	"dsType": "MASTER",
	"createdTime": "2019-04-15T06:00:32.000Z",
	"linkedWorkspaces": 1,
	"contexts": {},
	"createdBy": {
		"type": "user",
		"username": "admin",
		"fullName": "Administrator",
		"email": "admin@metatron.com"
	},
	"connType": "ENGINE",
	"ingestion": {
		"type": "single",
		"database": "default",
		"dataType": "TABLE",
		"query": "ratings",
		"rollup": true,
		"fetchSize": 200,
		"maxLimit": 10000000,
		"scope": "ALL"
	},
	"summary": {
		"ingestionMinTime": "2014-04-15T06:01:28.000Z",
		"ingestionMaxTime": "2019-04-15T06:01:28.000Z",
		"size": 24282747,
		"count": 458455,
		"ingestedCount": 1000209,
		"columns": {
			"__time": {
				"type": "long",
				"cardinality": -1
			},
			"count": {
				"type": "long",
				"cardinality": -1
			},
			"movieid": {
				"type": "double",
				"cardinality": -1
			},
			"rating": {
				"type": "double",
				"cardinality": -1
			},
			"tstamp": {
				"type": "dimension.string",
				"cardinality": 458455
			},
			"userid": {
				"type": "double",
				"cardinality": -1
			}
		}
	},
	"engineName": "linked",
	"connection": {
		"createdBy": "admin",
		"createdTime": "2019-04-12T06:55:40.000Z",
		"modifiedBy": "admin",
		"modifiedTime": "2019-04-12T06:55:40.000Z",
		"id": "6d7c6b6d-ad3c-4966-96a0-1c477d6db8bd",
		"implementor": "HIVE",
		"name": "Hive-localhost-10000",
		"type": "JDBC",
		"hostname": "localhost",
		"port": 10000,
		"username": "hive",
		"password": "hive",
		"authenticationType": "MANUAL",
		"linkedWorkspaces": 1
	},
	"granularity": "MONTH",
	"segGranularity": "MONTH",
	"_links": {
		"self": {
			"href": "http://local.com:4200/api/datasources/535ed1fa-9f2c-4638-9da9-6b0b90defa32"
		},
		"datasource": {
			"href": "http://local.com:4200/api/datasources/535ed1fa-9f2c-4638-9da9-6b0b90defa32{?projection}",
			"templated": true
		},
		"workspaces": {
			"href": "http://local.com:4200/api/datasources/535ed1fa-9f2c-4638-9da9-6b0b90defa32/workspaces"
		},
		"connection": {
			"href": "http://local.com:4200/api/datasources/535ed1fa-9f2c-4638-9da9-6b0b90defa32/connection"
		},
		"dashBoards": {
			"href": "http://local.com:4200/api/datasources/535ed1fa-9f2c-4638-9da9-6b0b90defa32/dashboards"
		},
		"snapshot": {
			"href": "http://local.com:4200/api/datasources/535ed1fa-9f2c-4638-9da9-6b0b90defa32/snapshot"
		}
	}
}

@ninezero90hy
Copy link
Contributor

ninezero90hy commented Apr 16, 2019

@kyungtaak @ufoscw 확인 부탁드립니다

스크린샷 2019-04-16 오전 11 30 21

스크린샷 2019-04-16 오전 11 30 36

  • 컬럼 타입을 타임스템프로 수정후에 컬럼 목록을 조회해보면 포맷 > 타입 필드가 없습니다

  • [PATCH] /api/metadatas/{metadataId}/columns

스크린샷 2019-04-16 오전 11 31 16

  • [GET] /api/metadatas/{metadataId}/columns?projection=forListView

스크린샷 2019-04-16 오전 11 32 33

@ufoscw
Copy link
Contributor

ufoscw commented Apr 16, 2019

@ninezero90hy

  1. 메타데이터 상세 정보 조회시 datasource의 connection 정보가 필요한 경우가 어떤 케이스인가요?
    메타데이터 API에 DataSource의 모든 정보를 보내줄 수는 없습니다.
    추가적인 datasource 정보가 필요할 경우 datasource 상세보기 API를 사용하시기 바랍니다.

  2. 컬럼의 타입 필드는 확인 후 다시 알려드릴게요.

@ufoscw
Copy link
Contributor

ufoscw commented Apr 16, 2019

@ninezero90hy
column의 필드 타입 파라미터 누락 수정되었습니다.

@ninezero90hy
Copy link
Contributor

@ninezero90hy

  1. 메타데이터 상세 정보 조회시 datasource의 connection 정보가 필요한 경우가 어떤 케이스인가요?
    메타데이터 API에 DataSource의 모든 정보를 보내줄 수는 없습니다.
    추가적인 datasource 정보가 필요할 경우 datasource 상세보기 API를 사용하시기 바랍니다.

메타데이터 상세 정보 조회시 데이터소스의 연결정보가 필요한 경우는 프리셋을 사용해서 데이터소스를 생성한
경우입니다.
프리셋을 사용하지 않고 직접 연결정보를 입력한 경우 메타데이터 상세> 데이터소스에 연결정보가 들어있습니다.
2가지(연결정보 직접입력 / 프리셋 이용) 경우 모두 메타데이터 상세> 데이터소스 연결정보가 없다면 데이터소스의 상세정보 API를 이용하면 될거 같은데요. 지금은 프리셋 이용 했을때 연결정보가 누락된거 같은 느낌입니다.
@ufoscw 확인 부탁드립니다

--

1. 연결정보를 직접 입력해서 데이터소스를 생성한 경우

스크린샷 2019-04-16 오후 4 42 26

데이터소스 상세 > 연결정보(ingestion.connection) (전체)

"ingestion": {
	"type": "link",
	"connection": {
	"implementor": "HIVE",
		"type": "JDBC",
		"hostname": "localhost",
		"port": 10000,
		"username": "hive",
		"password": "hive",
		"authenticationType": "MANUAL",
		"linkedWorkspaces": 0
	},
	"database": "default",
	"dataType": "TABLE",
	"query": "ratings",
	"rollup": true,
	"fetchSize": 200,
	"maxLimit": 10000000,
	"expired": 1800
},

메타데이터 상세 > 데이터 소스 > 연결정보(source.source.ingestion.connection) (전체)

"ingestion": {
	"dataType": "TABLE",
	"type": "link",
	"rollup": true,
	"query": "ratings",
	"database": "default",
	"expired": 1800,
	"scope": "ALL",
	"connection": {
		"implementor": "HIVE",
		"hostname": "localhost",
		"port": "10000",
		"authenticationType": "MANUAL",
		"username": "hive",
		"password": "hive",
		"type": "JDBC"
	}
},

2. 연결정보(프리셋)을 선택해서 데이터소스를 생성한 경우

스크린샷 2019-04-16 오후 4 47 14

데이터소스 상세 > 연결정보(connection) (전체)

"connection": {
	"createdBy": "admin",
	"createdTime": "2019-04-16T07:35:16.000Z",
	"modifiedBy": "admin",
	"modifiedTime": "2019-04-16T07:35:16.000Z",
	"id": "ce947509-fa68-4182-8c76-111795b850fb",
	"implementor": "HIVE",
	"name": "Hive-localhost-10000",
	"type": "JDBC",
	"hostname": "localhost",
	"port": 10000,
	"username": "hive",
	"password": "hive",
	"authenticationType": "MANUAL",
	"linkedWorkspaces": 1
},

메타데이터 상세 > 데이터 소스 > 연결정보(source.source.connection) (전체)

연결정보 없음

@deidera08
Copy link
Author

deidera08 commented Apr 16, 2019

@kyungtaak @AnnieHwang @ninezero90hy
메타데이터의 컬럼스키마 화면은 확장성을 염두에 두고 기능이 다단 추가될 예정입니다.
때문에 화면 상단에서 제공하는 기능이 정보 수정시와 충돌이 일어나 일부 단순화 할 필요가 있을듯 합니다.

  1. Save 버튼 상시 활성화
    현재 저장가능한 상태에만 활성화 되던 버튼을 상시 활성화 상태로 두고, (데이터소스와 마찬가지로) 클릭시 저장 가능 여부를 체크하도록 합니다.
    이미 '컬럼 타입' 등을 수정시 즉각 Validation check가 일어나게 됩니다. invalid일경우 '컬럼 타입' 또한 수정불가 상태로 되는데, '상단 Save 버튼'의 입장에서는 각각 요소요소마다 저장할 수 있는 여부를 체크하여 활성/비활성 상태로 노출되어야 합니다.
    유저가 저장할 수 없는 상태를 편하게 인지하기 위함인데, 편의성에 비해 공수가 많이 든다고 판단되어 데이터소스와 마찬가지 UI로 제공하면 좋을듯합니다.

  2. 되돌리기 기능 삭제
    부모 영역의 히스토리 기능은 Save단위로 일어나게 됩니다.(연관이슈: [MDM] History #1627 )
    현 화면에서 수정 및 Validation check 여부까지 판단해야 하는데, 되돌리기 기능은 저장되기 이전의 모든 task를 기억해야 합니다. 이는 현 화면에서 제공하는 목적기능에 비해 무거운 기능이라 판단됩니다.

  3. 데이터소스와의 싱크 안내 문구 상시 노출
    현재 이름, 설명, 타입 수정발생시에만 노출되는 문구를 상시 노출하는 것으로 변경시켜주세요
    가이드문구는 유저가 닫을 수 있도록 개선예정입니다.(연관이슈: Improve guid in datasource and metadata #1656 )

ufoscw added a commit that referenced this issue Apr 17, 2019
@ufoscw ufoscw closed this as completed Apr 19, 2019
@kyungtaak kyungtaak removed the awaiting feedback need to feedback label Apr 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@datasource Component Name : Datasource/Connection Management enhancement Request Change and Feature Enhancement @metadata Component Name : Metadata
Projects
None yet
Development

No branches or pull requests

7 participants