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

Enhanced search within Data Storage(Datasource, Data Connection) list screen #684

Closed
AnnieHwang opened this issue Nov 7, 2018 · 67 comments
Assignees
Labels
@datasource Component Name : Datasource/Connection Management enhancement Request Change and Feature Enhancement
Milestone

Comments

@AnnieHwang
Copy link
Contributor

Is your feature request related to a problem? Please describe.
데이터소스 목록 화면에서 검색 기능의 강화하는 개선이 필요합니다.

  • 데이터소스 이름이 검색 가능하여야 합니다.(기존)
  • 데이터소스 만든사람이 검색 가능하여야 합니다. (신규)
  • 데이터소스 만든사람이 속한 그룹으로 검색이 가능하여야 합니다. (신규)
  • 데이터소스 설명이 검색가능하여야 합니다. (신규)

Describe the solution you'd like
검색란의 필터링 기능을 추가하여 검색창의 기능을 개선하고자 합니다.
참고로 현재 깃허브에서는 이런방식을 이용하고 있습니다.
image

데이터소스를 시작으로 모든 관리자(MANAGEMENT, ADMINISTRATOR)에 해당 내용을 적용하려고 합니다.
각 부분은 별도의 이슈로 진행하고 해당 이슈는 데이터소스 목록 화면 변경부분 내용만 반영하도록 하겠습니다..

@AnnieHwang AnnieHwang added the @datasource Component Name : Datasource/Connection Management label Nov 7, 2018
@AnnieHwang
Copy link
Contributor Author

@kyungtaak 아래의 모습과 같이 초안을 정하였습니다. 기술적으로 문제가 없는지 확인부탁드립니다.
image

@minjung-cho
Copy link

@kyungtaak @AnnieHwang
데이터소스 화면향으로 작업한 기획서 입니다.
공통 UI라 다른 케이스들도 검토 중이니, 완료되면 추가 정의서 공유하겠습니다.
2018-11-09 8 58 32
2018-11-09 8 58 04
2018-11-09 8 58 13
2018-11-09 8 58 21

@koeun222
Copy link

koeun222 commented Nov 12, 2018

@AnnieHwang 검색필터링 관련 디자인 공유드려요
가로 1200px안에 다 들어오기 빡빡해서 시간필터링을 셀렉박스로 고르거나 range 입력할수있게 넣었습니다
image

@kyungtaak
Copy link
Contributor

@AnnieHwang @minjung-cho

  • Advanced 만 제외하고 3.0.7 건에 개발할 예정입니다. 혹시 이슈를 분리해주실수 있으신지요?
  • 추가로 필터링 정책에 대한 고려가 필요합니다. 확인 부탁드립니다.
    : 사용자 브라우저에 마지막에 필터링했던 내용을 계속 보관하고 있다가 다시 복귀했을때 필터링을 유지할 것인가?
    (아니면 체크박스로 해당조건 유지? 이런 옵션을 주는것도 고려해볼만 할것 같습니다.)
    : 글로벌 설정으로 어떤 특정조건이 처음 나타나게 하는것이 좋을것인가?
  • 사용자/그룹 필터링은
    : 나, 내가 속한 그룹, 데이터소스 등록한 사용자, 데이터 매니저 권한이 있는 그룹명 이렇게 구분하면 어떨런지요?

@kyungtaak kyungtaak assigned ufoscw, AnnieHwang and eltriny and unassigned kyungtaak Nov 12, 2018
@kyungtaak kyungtaak added the enhancement Request Change and Feature Enhancement label Nov 12, 2018
@minjung-cho
Copy link

@kyungtaak @AnnieHwang 먼저 답변드립니다

  1. 필터링 저장
    나갔다 들어왔을때 필터링을 리셋하는 것이 기본입니다만... 사용자의 페이지별로 필터설정을 저장하는 것이 있으면 편리할 것 같습니다. 하지만 advanced도 그렇고 다른 페이지에서는 필터 기준으로 뽑을 것이 많지 않아서 현재로선 잘 사용될것 같진 않고, 디자인도 고민되어야 해서... Advanced 진행할때 함께 고려해 보는건 어떠신가요?
  2. 초기 기준값
    '글로벌 설정'이라기 보다는, 사용 맥락에 따라 페이지마다 초기 기준값을 다 다르게 정의해야할 것 같습니다. 데이터소스는 상태, 할당, 생성자 정도 생각하는데, 인제스쳔 타입과 디비 타입도 넣어야 할까요? @AnnieHwang 의견 부탁드립니다.
  3. 사용자,그룹 필터 항목
    '데이터소스 등록한 사용자' 는, 사용자 중에서 '데이터소스를 등록한 사용자'를 필터링해서 필터 선택지로 보여주자는 말씀이신가요? 그렇다면 결국 데이터소스 권한이 있는 사용자 또는 그룹만 제공이 되므로 사용성이 더 좋을 것 같습니다.

@ufoscw
Copy link
Contributor

ufoscw commented Nov 16, 2018

@koeun222 @minjung-cho
올려주신 디자인과 기획서가 달라서 문의드립니다.
시간 필터는 created, modified 2가지 옵션이 아닌가요?

@deidera08
Copy link

@ufoscw
처음에는 created, modified 2가지 옵션으로 제공되는것으로 고려되었습니다만, 현재 modified(updated) 날짜 반영이 되는 조건이 큰 의미가 없다고 판단해서 제거되었습니다.
(현재 updated 날짜가 반영이 되는 액션은 이름/정보등의 정보가 수정되었을때고, 데이터 자체의 정보(논리정보 등)이 수정되었을 경우 updated 날짜가 반영되지 않습니다.)
때문에 updated 옵션은 more나 advenced등에서 제공하고 전면에 노출될 필요는 없을듯 합니다.

기획서에 해당 내용 업데이트 하도록 하겠습니다.

@ufoscw
Copy link
Contributor

ufoscw commented Nov 16, 2018

@deidera08
최근 업데이트된, 최근 등록된의 "최근" 은 몇일인가요?
그리고 "최근 본" 조건으로는 검색이 힘듭니다.

@deidera08
Copy link

@ufoscw
'최근 업데이트된', '최근 등록된', '최근 본' 의 옵션은 필터라기 보다는 정렬기능입니다.
때문에 최근의 조건에 날짜를 정의하지 않았습니다.

더불어 위 검색필터들은 본 데이터소스 화면뿐 아니라 글로벌 적용을 염두에 두고 있습니다.
"최근 본" 옵션은 논의하여 재고하도록 하겠습니다(실질적 의견주셔서 감사합니다 :)

@ufoscw
Copy link
Contributor

ufoscw commented Nov 19, 2018

@minjung-cho @AnnieHwang
CheckBox 타입일 경우는 모두 All 체크가 필요하지 않을까요?
그리고 CheckBox 타입의 목록형 검색 조건은 UI가 통일 되어도 되지 않을까요?
최상단은 텍스트 필터링, 바로 밑에는 All 버튼.

ufoscw added a commit that referenced this issue Nov 19, 2018
@ufoscw
Copy link
Contributor

ufoscw commented Nov 19, 2018

@brandon-wonjune
DataSource List Filter API 2개가 추가되었습니다.

  1. DataSource List Filter Criteria
(GET) /api/datasources/criteria

https://tde.sktelecom.com/wiki/display/METATRON/DataSource+v2#DataSourcev2-ListofDataSourceFilterCriterion

  1. DataSource List Filter
(GET) /api/datasources/criteria/{CriterionKey}

https://tde.sktelecom.com/wiki/display/METATRON/DataSource+v2#DataSourcev2-ListofDataSourceFilter

검색조건을 구성할때 1번 API를 사용하시면 되고, 실제 검색 조건 목록을 표시할때 2번 API를 사용하시면 됩니다.

변경된 파라미터로 호출가능한 목록 API는 작업 완료 후 다시 알려드릴게요.

ufoscw added a commit that referenced this issue Nov 20, 2018
ufoscw added a commit that referenced this issue Nov 20, 2018
@minjung-cho
Copy link

minjung-cho commented Nov 20, 2018

@minjung-cho @AnnieHwang
CheckBox 타입일 경우는 모두 All 체크가 필요하지 않을까요?
그리고 CheckBox 타입의 목록형 검색 조건은 UI가 통일 되어도 되지 않을까요?
최상단은 텍스트 필터링, 바로 밑에는 All 버튼.

텍스트 필터링이 불필요한 것(e.g.Ingestion 타입)이 있어서 있는 것, 없는 것 두벌로 가는 것이 좋을 것 같습니다.
All에 대해서는 공통적으로 적용하겠습니다~

2018-11-20 11 06 30

2018-11-20 11 06 35

2018-11-20 11 06 42

2018-11-20 11 06 50

ufoscw added a commit that referenced this issue Nov 21, 2018
ufoscw added a commit that referenced this issue Nov 21, 2018
ufoscw added a commit that referenced this issue Nov 21, 2018
ufoscw added a commit that referenced this issue Nov 21, 2018
@ufoscw
Copy link
Contributor

ufoscw commented Nov 21, 2018

@brandon-wonjune
filter된 datasouce 목록 호출 API 입니다.

(POST) /api/datasources/filter(?page,size,projection)

https://tde.sktelecom.com/wiki/display/METATRON/DataSource+v2#DataSourcev2-ListofDataSourcewithfilter

@ufoscw
Copy link
Contributor

ufoscw commented Dec 4, 2018

@brandon-wonjune
네 최초 화면 진입시 검색조건으로 사용되면 됩니다.

created time은 포함하는게 좋아보입니만 more는 현재 상태에서는 고려 안하셔도 될것 같습니다.

@brandon-wonjune
Copy link
Contributor

@ufoscw
네. 그러면 CREATED_TIME의 경우는 어떤 형태로 오는지 sample을 받을수 있을까요?
현재는 UI에서 강제로 ALL과 TODAY, LAST7DAYS라고 정의를 해서 사용하고 있는데요,
특히 BETWEEN의 경우 from과 to의 선택한 DATE value가 어떤 형태로 전달될 수 있나요?

@ufoscw
Copy link
Contributor

ufoscw commented Dec 5, 2018

@brandon-wonjune
CreatedTime은 좀더 고려할게 많아 보이네요.
이번 이슈에는 제외하고 추후 고도화하면서 보강하시죠..

@brandon-wonjune
Copy link
Contributor

@ufoscw 네 알겠습니다.
PR오픈하겠습니다.

@ufoscw
Copy link
Contributor

ufoscw commented Dec 5, 2018

@brandon-wonjune
More를 통해 추가한 검색조건이 삭제되어도 파라미터에 포함되어 있습니다.
검색조건 삭제시 파라미터에서 제거해주세요.

brandon-wonjune added a commit that referenced this issue Dec 5, 2018
ufoscw added a commit that referenced this issue Dec 5, 2018
brandon-wonjune added a commit that referenced this issue Dec 5, 2018
brandon-wonjune added a commit that referenced this issue Dec 5, 2018
brandon-wonjune added a commit that referenced this issue Dec 5, 2018
kyungtaak pushed a commit that referenced this issue Dec 6, 2018
* #684 add ds criteria api
* #684 add datasource list filter api
* #684 api method change to POST
* #684 add resourceAssembler parameter
* #684 add searchable to criterion
* #684 add criterion service, domain in front
* #684 add criterion checkbox component
* #684 add ds criteria api
* #684 add datasource list filter api
* #684 refactoring for dataconnection filter
* #684 add search datasource
* #684 remove not used method in datasource list
* #684 add search item in criterion checkbox component
* #684 change datasource filter critetia
* #684 add criterion radiobox component
* #684 fix datepicker click event
* #684 fix datepicker validation
* #684 change search keyup event, change message bundle
* #684 change css filters, change filter box component api logic
* #684 add message bundle, remove radio component
* #684 add filter (open-data, modified-time)
* #684 add more criterion, fix time select logic
* #684 if criterionKey is 'PUBLISH', except 'published' in search logic
* #684 add dataconnection filter api
* #684 add criterion filter in connection, change criterion domain in UI, add message bundle
* #684 fix projection in connection list
* #684 change criterion component folder, add remove filter logic in filter
* #684 add remove filter icon, fix remove filter logic in criterion
* #684 add remove filter icon in connection
* #684 if changed filter, search source and connection
* #684 change datepicker position
* #684 fix search logic in criterion check box
* #684 add search logic removed filter
* #684 add filter title show hide logic
* #684 add list length label in source, connection
* #684 add default filter in application.yaml
* #684 modify list filter constructor
* #684 fix criteria get logic in source, connection
* #684 add default criterion list logic
* #684 change click event check logic
* #684 remove not used code in criterion filter box
* #684 dataconnectino auth type legacy handle
* #684 add refresh list logic
* #684 change default sort asc to desc
* #684 fix workbench link
* #684 fix css in datepicker input
* #684 change width in datepicker input field
* #684 change keyup event to keypress event
@ufoscw ufoscw closed this as completed Dec 6, 2018
@ufoscw
Copy link
Contributor

ufoscw commented Dec 6, 2018

@brandon-wonjune
아래 API 호출시 FilterName이 목록의 Data와 동일한 코드로 전달될 예정입니다.
목록과 동일하게 메시지 처리해주시면 됩니다.

(GET) /datasources/criteria/{criterionKey}

STATUS : [ENABLED, PREPARING, FAILED, BAD, DISABLED]
DATASOURCE_TYPE : [MASTER, JOIN, VOLATILITY]
SOURCE_TYPE : [FILE, HDFS, HIVE, JDBC, REALTIME, IMPORT, SNAPSHOT, NONE]
CONNECTION_TYPE : [ENGINE, LINK]

ufoscw added a commit that referenced this issue Dec 6, 2018
@brandon-wonjune
Copy link
Contributor

brandon-wonjune commented Dec 6, 2018

@ufoscw
filterName이 msg.형태로 내려온다는건가요?
그러면 메시지 처리를 그에 해당하게 변경하면 되나요?

@ufoscw
Copy link
Contributor

ufoscw commented Dec 6, 2018

@brandon-wonjune
아니요.
msg 메시지가 아니라 위에 적힌 코드로 내려갑니다.
현재 그리드에서 해당 코드를 변환하는 로직이 있으니 그걸 그대로 사용하면 될것 같습니다.

ufoscw added a commit that referenced this issue Dec 6, 2018
ufoscw added a commit that referenced this issue Dec 7, 2018
ufoscw pushed a commit that referenced this issue Dec 7, 2018
* #684 fix criterion filter list position, change message bundle

* #684 response raw Enum value

* #684 add filter name translate logic

* #684 add filter name translate logic in criterion box component

* #684 handle current time

* #684 remove Status(BAD), SourceType(NONE)
alchan-lee pushed a commit that referenced this issue Dec 7, 2018
* #684 add ds criteria api
* #684 add datasource list filter api
* #684 api method change to POST
* #684 add resourceAssembler parameter
* #684 add searchable to criterion
* #684 add criterion service, domain in front
* #684 add criterion checkbox component
* #684 add ds criteria api
* #684 add datasource list filter api
* #684 refactoring for dataconnection filter
* #684 add search datasource
* #684 remove not used method in datasource list
* #684 add search item in criterion checkbox component
* #684 change datasource filter critetia
* #684 add criterion radiobox component
* #684 fix datepicker click event
* #684 fix datepicker validation
* #684 change search keyup event, change message bundle
* #684 change css filters, change filter box component api logic
* #684 add message bundle, remove radio component
* #684 add filter (open-data, modified-time)
* #684 add more criterion, fix time select logic
* #684 if criterionKey is 'PUBLISH', except 'published' in search logic
* #684 add dataconnection filter api
* #684 add criterion filter in connection, change criterion domain in UI, add message bundle
* #684 fix projection in connection list
* #684 change criterion component folder, add remove filter logic in filter
* #684 add remove filter icon, fix remove filter logic in criterion
* #684 add remove filter icon in connection
* #684 if changed filter, search source and connection
* #684 change datepicker position
* #684 fix search logic in criterion check box
* #684 add search logic removed filter
* #684 add filter title show hide logic
* #684 add list length label in source, connection
* #684 add default filter in application.yaml
* #684 modify list filter constructor
* #684 fix criteria get logic in source, connection
* #684 add default criterion list logic
* #684 change click event check logic
* #684 remove not used code in criterion filter box
* #684 dataconnectino auth type legacy handle
* #684 add refresh list logic
* #684 change default sort asc to desc
* #684 fix workbench link
* #684 fix css in datepicker input
* #684 change width in datepicker input field
* #684 change keyup event to keypress event
alchan-lee pushed a commit that referenced this issue Dec 7, 2018
* #684 fix criterion filter list position, change message bundle

* #684 response raw Enum value

* #684 add filter name translate logic

* #684 add filter name translate logic in criterion box component

* #684 handle current time

* #684 remove Status(BAD), SourceType(NONE)
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
Projects
None yet
Development

No branches or pull requests

8 participants