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

Data exploration based on popularity, updated-date, catalog, tags using metadata #2131

Closed
ufoscw opened this issue May 27, 2019 · 20 comments
Closed
Assignees
Labels
@metadata Component Name : Metadata new feature New Feature
Milestone

Comments

@ufoscw
Copy link
Contributor

ufoscw commented May 27, 2019

Is your feature request related to a problem? Please describe.
Data exploration based on popularity, updated-date, catalog, tags using metadata
(Metadata Explore Data > Main Page)

Describe the solution you'd like

  1. LNB (Catalog, Tag List)
  2. Popular Data List
  3. New or Update List

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

@ufoscw ufoscw added the @metadata Component Name : Metadata label May 27, 2019
@ufoscw ufoscw added this to the 3.3.0 milestone May 27, 2019
@deidera08
Copy link

기획화면 공유드립니다.

1_ 메인화면
스크린샷 2019-05-28 오후 6 13 47
.

2_ 메인화면 > 카탈로그 검색
스크린샷 2019-05-28 오후 6 14 31
.

3_ 카탈로그 목록
스크린샷 2019-05-28 오후 6 14 06

@ufoscw ufoscw changed the title Metadata Explore Data > Main Page Data exploration based on popularity, updated-date, catalog, tags using metadata May 29, 2019
eltriny pushed a commit that referenced this issue Jun 3, 2019
paigechoi added a commit that referenced this issue Jun 4, 2019
@brandon-wonjune
Copy link
Contributor

@AnnieHwang
메인화면에서 질문이 있습니다.
태그나 설명이 없는경우 아래와 같이 표현이 되는데 괜찮은가요?
스크린샷 2019-06-18 오전 10 22 37

paigechoi added a commit that referenced this issue Jun 18, 2019
@brandon-wonjune brandon-wonjune added the awaiting feedback need to feedback label Jun 18, 2019
@brandon-wonjune
Copy link
Contributor

brandon-wonjune commented Jun 18, 2019

@ufoscw 해당 화면별 api 문의입니다.
Q1.
스크린샷 2019-06-18 오후 2 00 17
초기 explore data 화면 진입시 title 하단의 database, stagingDB, datasource 메타데이터 수는 어떤 api로 조회할 수 있나요?

Q2. 메타데이터 조회시 아래의 api를 사용해서 아래의 화면을 표시하고있습니다.

api/metadatas?page=0&size=20&projection=forListView

스크린샷 2019-06-18 오후 2 00 22
이 화면에서는 인기도순으로 보여줘야 될 것 같은데 저 api를 그대로 사용해야 된다면 어떤 값을 querystring으로 넘겨야 되나요?
@AnnieHwang 그리고 popular data 란에서 얼만큼의 수의 데이터를 보여줘야되나요?

Q3. 아래에 해당하는 화면들에 대해 api는 어떤 것을 사용해야되나요?
스크린샷 2019-06-18 오후 2 04 46
스크린샷 2019-06-18 오후 2 00 28
스크린샷 2019-06-18 오후 2 00 24

Q4. 아래해당하는 카탈로그 목록은 아래의 api를 사용하면 되나요?
스크린샷 2019-06-18 오후 2 09 33

api/catalogs/ROOT/tree
api/catalogs/{catalogId}/tree

ufoscw referenced this issue in ufoscw/metatron-discovery Jun 19, 2019
ufoscw referenced this issue in ufoscw/metatron-discovery Jun 19, 2019
ufoscw referenced this issue in ufoscw/metatron-discovery Jun 19, 2019
ufoscw referenced this issue in ufoscw/metatron-discovery Jun 19, 2019
ufoscw referenced this issue in ufoscw/metatron-discovery Jun 19, 2019
ufoscw referenced this issue in ufoscw/metatron-discovery Jun 19, 2019
ufoscw referenced this issue in ufoscw/metatron-discovery Jun 19, 2019
ufoscw referenced this issue in ufoscw/metatron-discovery Jun 19, 2019
ufoscw added a commit that referenced this issue Jun 19, 2019
@ufoscw
Copy link
Contributor Author

ufoscw commented Jun 19, 2019

@brandon-wonjune
Q1.
아래 API 추가되었습니다.

(GET) /api/metadatas/statistics/count/sourcetype
  • Response Sample
{
    "ENGINE": 2,
    "JDBC": 5,
    "STAGEDB": 2
}

Q2, Q3
API 수정후 다시 알려드릴게요.

Q4
네. 위 API 사용하시면 됩니다.

@brandon-wonjune
Copy link
Contributor

@ufoscw
카탈로그 아이디를 이용하여 메타데이터 목록 조회 api문의드립니다.

api/catalogs/{catalogId}/metadatas?page=0&size=20&projection=default&allSubCatalogs=true

이 api를 활용하여 목록을 보여주려고 하는데 아래와 같이 표기해야됩니다.
스크린샷 2019-06-20 오후 1 13 55
여기서 datatype, tags, creator, popularity, createdTime이 오고있지 않습니다

@brandon-wonjune
Copy link
Contributor

@AnnieHwang 여기서 하단의 페이징의 경우 변경된 페이징이 들어가야되나요 아니면 아래와 같이 더보기가 들어가야되나요?
스크린샷 2019-06-20 오후 1 17 29

@ufoscw
Copy link
Contributor Author

ufoscw commented Jun 25, 2019

@brandon-wonjune
tree view를 위한 카탈로그 검색 API sample입니다.

(GET) api/catalogs?nameContains={textForSearch}&projection=forSimpleTreeView

response sample

[
    {
        "name": "depth1_bbb",
        "id": "1aa1c10b-88f5-4104-8207-1c895b43d707",
        "countOfChild": 3
    },
    {
        "name": "depth2_bbb_111",
        "id": "30898d6a-36b2-4720-9ae5-180d6f898728",
        "countOfChild": 0
    },
    {
        "name": "depth2_bbb_333",
        "id": "364329ca-c2ac-4f7d-bbca-07accb1f3d18",
        "countOfChild": 0
    },
    {
        "name": "depth2_ccc",
        "id": "57d98afc-1295-44a3-ad90-bc106142959e",
        "countOfChild": 0
    },
    {
        "name": "depth3_ccc_111_222",
        "id": "857460ec-fa42-4bfa-936f-a1fd73f127fc",
        "countOfChild": 0
    },
    {
        "name": "catalog_depth1_aaaa",
        "id": "93071e18-c6e6-465d-b800-f1d1535d3422",
        "countOfChild": 3
    },
    {
        "name": "depth1_ccc",
        "id": "b9319954-6dce-4062-8b86-6d0df065c32a",
        "countOfChild": 1
    },
    {
        "name": "depth2_ccc_111",
        "id": "b998bb3d-3c88-4e72-9323-2a3f9d57d646",
        "countOfChild": 1
    },
    {
        "name": "depth2_aaa",
        "id": "c1bff0da-d0f8-44b9-ae4e-b55c9c8297e3",
        "countOfChild": 0
    },
    {
        "name": "depth2_bbb_222",
        "id": "ced585a8-6dde-4660-b0ec-5253cd97f073",
        "countOfChild": 0
    },
    {
        "name": "depth2_bbb",
        "id": "dbca04c5-60b2-4302-9187-eb84346f81f8",
        "countOfChild": 0
    }
]

@AnnieHwang
Copy link
Contributor

AnnieHwang commented Jun 25, 2019

@brandon-wonjune 답변 너무 늦게 달아서 죄송해요 ㅠㅠ

  1. 태그나 설명이 없는 경우 저렇게 되면 안될것 같아요. 퍼블리셔분께 높이는 맞춰달라고 부탁드려주세요.(고정높이로요)
    높이가 제각각 다르면 배열이 어긋나거든요.

  2. Popular data는 10개예요. 아래같은 느낌으로 들어간다고 보시면 되요.
    image

  3. 페이징은..변경된 페이징이 들어가야해요 Pagination Improving usability #2166 페이징 기획안으로 정해졌어요. 기존 페이징이 기획서와 다르게 개발되어서 다시 바꾸기로 했거든요

@AnnieHwang
Copy link
Contributor

@brandon-wonjune 위에 질문이 또 있어서.. 윗 댓글에 추가해두었습니다~

brandon-wonjune added a commit that referenced this issue Jun 26, 2019
ufoscw added a commit that referenced this issue Jun 27, 2019
@ufoscw
Copy link
Contributor Author

ufoscw commented Jun 27, 2019

@brandon-wonjune

  1. 인기도 순 api 추가되었습니다.
(GET) /api/metadatas/popularity(?size, page)
  • response sample
{
    "_embedded": {
        "metadatas": [
            {
                "name": "book",
                "id": "51066bd2-f143-46db-b592-8457c53d181d",
                "createdTime": "2019-06-27T00:18:21.000Z",
                "sourceType": "JDBC",
                "createdBy": {
                    "type": "user",
                    "username": "admin",
                    "fullName": "Administrator",
                    "email": "admin@metatron.com"
                },
                "popularity": 0.2,
                "modifiedBy": {
                    "type": "user",
                    "username": "admin",
                    "fullName": "Administrator",
                    "email": "admin@metatron.com"
                },
                "modifiedTime": "2019-06-27T00:18:21.000Z",
                "tags": [],
                "_links": {
                    "self": {
                        "href": "http://localhost:8180/api/metadatas/51066bd2-f143-46db-b592-8457c53d181d{?projection}",
                        "templated": true
                    },
                    "columns": {
                        "href": "http://localhost:8180/api/metadatas/51066bd2-f143-46db-b592-8457c53d181d/columns"
                    },
                    "catalogs": {
                        "href": "http://localhost:8180/api/metadatas/51066bd2-f143-46db-b592-8457c53d181d/catalogs"
                    }
                }
            },
            {
                "name": "sales",
                "id": "test_meta1",
                "createdTime": "2019-06-26T14:54:50.000Z",
                "sourceType": "ENGINE",
                "createdBy": {
                    "type": "user",
                    "username": "admin",
                    "fullName": "Administrator",
                    "email": "admin@metatron.com"
                },
                "popularity": 0.2,
                "modifiedBy": {
                    "type": "user",
                    "username": "admin",
                    "fullName": "Administrator",
                    "email": "admin@metatron.com"
                },
                "modifiedTime": "2019-06-26T14:54:50.000Z",
                "description": "meta description1",
                "tags": [],
                "_links": {
                    "self": {
                        "href": "http://localhost:8180/api/metadatas/test_meta1{?projection}",
                        "templated": true
                    },
                    "columns": {
                        "href": "http://localhost:8180/api/metadatas/test_meta1/columns"
                    },
                    "catalogs": {
                        "href": "http://localhost:8180/api/metadatas/test_meta1/catalogs"
                    }
                }
            }
        ]
    },
    "_links": {
        "first": {
            "href": "http://localhost:8180/api/metadatas/popularity?page=0&size=3"
        },
        "prev": {
            "href": "http://localhost:8180/api/metadatas/popularity?page=0&size=3"
        },
        "self": {
            "href": "http://localhost:8180/api/metadatas/popularity?page=1&size=3"
        },
        "last": {
            "href": "http://localhost:8180/api/metadatas/popularity?page=1&size=3"
        }
    },
    "page": {
        "size": 3,
        "totalElements": 5,
        "totalPages": 2,
        "number": 1
    }
}
  1. my favorite, favorite creator, recommend list api가 추가되었습니다.
(GET) /api/metadatas/favorite/my?(size, page, projection, sort)
(GET) /api/metadatas/favorite/creator?(size, page, projection, sort)
(GET) /api/metadatas/recommended?(size, page, projection, sort)

현재는 metadata list와 동일한 데이터로 내려갑니다.
front에서는 위 API로 연결만 해주세요.

@ufoscw
Copy link
Contributor Author

ufoscw commented Jun 27, 2019

@brandon-wonjune
LNB 노출 여부에 대한 로직 구현이 필요합니다.
lnb api 호출 시 아래와 같은 response가 내려갈 예정입니다.
이 경우에만 LNB에 메뉴를 표시해주세요.

[
   {
      "name":"Explore Data",
      "parent":"workspace"
   }
]

@brandon-wonjune
Copy link
Contributor

brandon-wonjune commented Jun 27, 2019

@AnnieHwang
Q1. recommended 데이터가 4개만 오는경우 아래와 같이 빈 공간이 생기는 경우가 있습니다.
스크린샷 2019-06-27 오전 10 56 35

빈 공간이 생겨도 상관없나요?
1개만 오는경우는 목록 자체가 사라지고 하나의 데이터만 표기되기 때문에 빈공간이 생기지 않습니다.

Q2. banner의 뒷 배경의 그림은 랜덤하게 표시되면 되는건가요?

Q3. 즐겨찾기 관련된 메타데이터는 몇개까지 표시해야되나요?
스크린샷 2019-06-27 오후 1 07 16

Q4. my favorite와 favorite creator는 한글로 뭐라고 표시하면 되나요?

brandon-wonjune added a commit that referenced this issue Jun 27, 2019
@brandon-wonjune
Copy link
Contributor

@ufoscw
업데이트된 메타데이터 목록의 api는 어느것을 써야되나요?
스크린샷 2019-06-27 오후 1 12 36

/api/metadatas?page=0&size=20

이 api를 써야된다면 explore data만 표시하는 param key는 어느것으로 날려야되나요?

@ufoscw
Copy link
Contributor Author

ufoscw commented Jun 27, 2019

@brandon-wonjune
explore data 여부는 추후 권한 처리할때 기능을 추가할 예정입니다.
현재는 그냥 modifiedTime 내림차순으로 사용하시면 됩니다.

(GET) /api/metadatas?projection=forListView&sort=modifiedTime%2Cdesc

@AnnieHwang
Copy link
Contributor

AnnieHwang commented Jun 28, 2019

@brandon-wonjune @ufoscw

  1. recommended 데이터가 4개만 오는경우 아래와 같이 빈 공간이 생기는 경우가 있습니다. 빈 공간이 생겨도 상관없나요?
    => 꼭 5개 오게 해주세요. 전체 데이터가 5개 미만인 경우는 1개만 보여주고 빈공간이 생기지 않게 해주시고요. 전체 데이터가 5개 이상되는 경우, 무조건 서버에서 5개를 채워서 오게 해주세요 (인기도 높은 순의 데이터를 추가하더라고요.)

  2. banner의 뒷 배경의 그림은 랜덤하게 표시되면 되는건가요?
    => 나중에 Admin기능에 뒷 배경을 바꾸는 기능이 기획되어 있습니다. 지금은 고정적으로 가셔도 됩니다.

  3. 즐겨찾기 관련된 메타데이터는 몇개까지 표시해야되나요?
    => 디자인 상으로는 3개 예요. 나머지는 more 버튼으로 보는거고요. (위에 개발된거 보니깐 퍼블이 잘못된거 같아요. 퍼블리셔분께 디자인대로 마진 맞춰서 3개가 균형있게 들어가게 해달라고 해주세요~)
    image

  4. my favorite와 favorite creator는 한글로 뭐라고 표시하면 되나요?
    => '즐겨찾기'
    => favorite creator가 아니라 data creator 말씀이신거 맞죠? '데이터 등록자' 로 해주세요~

@brandon-wonjune
Copy link
Contributor

@AnnieHwang

위 댓글남겨주신대로 적용하고, 즐겨찾기 관련 4개 이상 오는경우를 위한 more는 따로 팝업창이나 화면에 대한 디자인 또는 기획이 없는데 일단 버튼을 숨기는것으로 적용하겠습니다.

@ufoscw
Copy link
Contributor Author

ufoscw commented Jul 1, 2019

@brandon-wonjune
아래 내용까지 PR에 적용되어야 합니다.

@brandon-wonjune
LNB 노출 여부에 대한 로직 구현이 필요합니다.
lnb api 호출 시 아래와 같은 response가 내려갈 예정입니다.
이 경우에만 LNB에 메뉴를 표시해주세요.

[
   {
      "name":"Explore Data",
      "parent":"workspace"
   }

brandon-wonjune added a commit that referenced this issue Jul 1, 2019
@brandon-wonjune
Copy link
Contributor

@ufoscw explore 관련이 있는경우에만 표시되도록 수정하였습니다.

ufoscw pushed a commit that referenced this issue Jul 1, 2019
* #2131 add metadata user view menu in lnb

* #2131 Explore > metadata detail popup

* #2131 Explore > metadata detail popup > columns > add code table detail popup

* #2131 init banner, card component

* #2131 Fix lnb css

* #2131 init explore data main component

* #2131 remove card wrap component

* #2131 init catalog main component

* #2131 add api (count by sourceType)

* #2131 add catalog tree in explore data

* #2131 change metadata list in explore catalog data

* #2131 add Catalog Projection(forSimpleTreeView)

* #2131 add catalog search in catalog tree

* #2131 fix metadata card height

* #2131 add api (order by popularity)

* #2131 add updated metadata list in explore data

* #2131 fix favorite metadata list length

* #2131 change explore data title ko lang

* #2131 fix lnb explore permission
@ufoscw ufoscw closed this as completed Jul 1, 2019
@kyungtaak kyungtaak added @metadata Component Name : Metadata enhancement Request Change and Feature Enhancement new feature New Feature and removed @metadata Component Name : Metadata awaiting feedback need to feedback enhancement Request Change and Feature Enhancement labels Jul 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@metadata Component Name : Metadata new feature New Feature
Projects
None yet
Development

No branches or pull requests

6 participants