Is your feature request related to a problem? Please describe.
Explore Data ํ๋ฉด์ ๊ธฐ๋ฅ ์ถ๊ฐ ๋ฐ UI ๊ฐ์ ์ฌํญ์
๋๋ค.
- ๊ธฐ๋ฅ ์ถ๊ฐ

- ๋๋ฝ๋ ๊ธฐ๋ฅ

- UI ๊ฐ์ ์ฌํญ

@AnnieHwang @ufoscw ํด๋น ์ด์ ์งํํ๋๋ฐ ๋ฌธ์์ฌํญ์ด ์์ต๋๋ค.
Q1.

ํด๋น ๊ฒ์ ์ด์ฉ์ ์๋์ ์ถ๋ ฅ๋๋ ํํ๋ ์ด๋ค ํํ๋ก ํ์๋์ด์ผ ํ๋์?
๊ฐ๊ฐ์ ํด๋นํ๋ ๊ฐ์ ํ๊ธฐํ๋ ๋ฐฉ์์ผ๋ก ํ๊ธฐํด์ผ๋๋์?
(์๋ฅผ๋ค์ด, test๋ฅผ ๊ฒ์์ test๊ฐ ๋ค์ด๊ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ฐ recommend, popular, updated, favorite, creator์์ ๊ฐ๊ฐ test๊ฐ ์๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํ๊ธฐ)
Q2. Q1์ ๊ตฌํ์ ์ฌ์ฉ๋๋ api๋ ๋ณ๋ ์กฐํ api์์ด ๊ธฐ์กด recommend, popular, updated, favorite, creator์ nameContains๋ฅผ param์ผ๋ก ๋๊ฒจ์ ์กฐํํ๋ฉด ๋๋์?
Q3.

tags๋ฅผ ์กฐํํ๋ api๋ ์ด๋๊ฒ์ ์ฌ์ฉํด์ผ๋๋์?
Q4. Q3์์ tag๋ฅผ ํด๋ฆญ์ ๋ฐ์ํ๋ ๋์์ ์๋์?
A1. ๊ฒ์ ํ์๋ ์๋ ๋ชฉ๋ก ํ๋ฉด์ผ๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค.
์ด๋ฒ ์คํ๋ฆฐํธ์์๋ ํํฐ์์ญ์ ์ ์ธํ๊ณ ์๋จ ๊ฒ์๋ฐ์ ํ๋จ ๋ชฉ๋ก์ผ๋ก ๊ตฌ์ฑํด์ฃผ์๋ฉด ๋ฉ๋๋ค.

A2. API๋ ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ฉฐ ๊ฒ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ํ๋ผ๋ฏธํฐ๋ฅผ ์๋์ฒ๋ผ ๊ตฌ์ฑํด์ฃผ์ธ์.
๊ธฐํ์์ ๊ฒ์ ๋ฒ์์ค Tags๋ LNB์ tag ์ ํ๊ธฐ๋ฅ๊ณผ ์ค๋ณต์ด๋ผ ์ ์ธํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ฒ์ ๋ฒ์ : All, Data Name, Description, Creator
(GET) /api/metadatas
(GET) /api/metadatas?catalogId={catalogId}
1-1. LNB Catalog ์ ํ ํ ๊ฒ์ ๋ฒ์(All)
(GET) /api/metadatas?catalogId={catalogId}&keyword={searchKeyword}
1-2. LNB Catalog ์ ํ ํ ๊ฒ์ ๋ฒ์(Data name)
(GET) /api/metadatas?catalogId={catalogId}&nameContains={searchKeyword}
1-3. LNB Catalog ์ ํ ํ ๊ฒ์ ๋ฒ์(Description)
(GET) /api/metadatas?catalogId={catalogId}&descContains={searchKeyword}
1-4. LNB Catalog ์ ํ ํ ๊ฒ์ ๋ฒ์(Creator)
(GET) /api/metadatas?catalogId={catalogId}&creatorContains={searchKeyword}
(GET) /api/metadatas?tag={tagName}
2-1. LNB Tags ์ ํ ํ ๊ฒ์ ๋ฒ์(All)
(GET) /api/metadatas?tag={tagName}&keyword={searchKeyword}
2-2. LNB Tags ์ ํ ํ ๊ฒ์ ๋ฒ์(Data name)
(GET) /api/metadatas?tag={tagName}&nameContains={searchKeyword}
2-3. LNB Tags ์ ํ ํ ๊ฒ์ ๋ฒ์(Description)
(GET) /api/metadatas?tag={tagName}&descContains={searchKeyword}
2-4. LNB Tags ์ ํ ํ ๊ฒ์ ๋ฒ์(Creator)
(GET) /api/metadatas?tag={tagName}&creatorContains={searchKeyword}
A3. ๊ธฐ์กด tag ๋ชฉ๋ก ์กฐํ์์ forTreeView Proejction์ ์ฌ์ฉํด์ฃผ์ธ์. (Projection์ ์ถ๊ฐ์์ ํ ๋ค์ ์๋ ค๋๋ฆด๊ฒ์.)
(GET) /api/metadatas/tags?projection=forTreeView
A4. Catalog ์ ํ ํ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ชฉ๋ก ํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค.
@brandon-wonjune ํผ๋ธ๋ฆฌ์
์๊ฒ ๋๊ธด ๋์์ธ ๊ฒ์ ๊ฐ์ด๋์ฌ๋ ค์. ์ฐธ๊ณ ๋ก ๋ฉ์ธ ๋ฆฌ์คํธ๋ 6๊ฐ๋ก, ์ฐ์ธก (favorite data ๋ฑ)์ 5๊ฐ๋ก ๊ฐฏ์ ๋ณ๊ฒฝ์ด ์์ต๋๋ค.

์ง๋ฌธํ์ จ๋ ๊ฒ ์ค์ 4๋ฒ์ ์ ๊ฐ ๋๋ตํ ์ ์์๊ฒ ๊ฐ์๋ฐ. ํ๊ทธ๋ฆฌ์คํธ๊ฐ ๋์ค๊ณ ํ๊ทธ๋ฅผ ์ ํํ๋ฉด ํด๋น ํ๊ทธ๊ฐ ์๋ ๋ชฉ๋ก์ด ๋ฉ์ธ ๋ฆฌ์คํธ์ ๋ณด์ฌ์ ธ์ผ ํฉ๋๋ค. (์์ด์ ๊ธฐํ์ ์ถ๊ฐ๊ฐํ์ด์)

@brandon-wonjune
Tag Tree ์ฉ Projection์ด ์ถ๊ฐ๋์์ต๋๋ค.
(GET) /api/metadatas/tags?projection=forTreeView
[
{
"name": "aa",
"id": "381fc537-eb5f-4c25-b951-c15507fea41f",
"count": 2
},
{
"name": "bb",
"id": "65e21718-bc4b-472d-8734-acc584f3565f",
"count": 1
},
{
"name": "cc",
"id": "7415fa5c-0d01-4cab-ae86-07afc9e8a94c",
"count": 1
},
{
"name": "dd",
"id": "aacde2a7-72a8-45c9-9c1c-ad5e52603b7e",
"count": 0
}
]
@brandon-wonjune @ufoscw ํน์ ์๋์ ๊ฐ์ด ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊น์(์ด๋ก์๋ถ๋ถ ์ฐธ์กฐ)? ์ข ์ฌ์ฉํด ๋ณด๋๊น.. Catalogs๋ Tags ์ ํ์ ์ ๋ ๊ฒ ๊ฒ์ ๊ฒฐ๊ณผ ๋ ์ด๋ธ์ด ๋์์ผ ํ ๊ฒ ๊ฐ์์์. ๋ง์ฝ ๋น์ฅ ๊ฐ๋ฅํ๋ฉด.. ์ ํฌ ๋์์ธ ํ๊ณ ๋ค์ ๋ง์๋๋ฆด์ ์์๊ฒ ๊ฐ์์.

@AnnieHwang ํ ์ํ๋ก๋ ์ด๋ก์ ๋ถ๋ถ์ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ๊ฒ์๊ฒฐ๊ณผ ๋ ์ด๋ธ์ ํ์ํ๋๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค.
// ์นดํ
๊ณ ๋ฆฌ๊ฐ ์ ํ๋ ๊ฒฝ์ฐ
ํ
์คํธ ์ 'word'์ ๋ํ 20๊ฑด์ ๊ฒ์๊ฒฐ๊ณผ๊ฐ ์กด์ฌํฉ๋๋ค.
// ํ๊ทธ๊ฐ ์ ํ๋ ๊ฒฝ์ฐ
tag ์ 'word'์ ๋ํ 20๊ฑด์ ๊ฒ์๊ฒฐ๊ณผ๊ฐ ์กด์ฌํฉ๋๋ค.
// ์ ํ๋์ง ์์ ๊ฒฝ์ฐ
catalog(or Tag)์ 'word'์ ๋ํ 0๊ฑด์ ๊ฒ์๊ฒฐ๊ณผ๊ฐ ์กด์ฌํฉ๋๋ค.
๊ฐ๋ฅ์ํ์ง๋ง ์นดํ๋ก๊ทธ์ ๊ฒฝ์ฐ ํด๋น ์นดํ๋ก๊ทธ์ ์์ ๋์ค์ ๋ํ ์ ๋ณด๋ฅผ ํ์ํ ์๋ ์์ต๋๋ค.
๋์ค๋ฅผ ์ ์ธํ๊ณ ํ์ํ๋๊ฒ์ผ๋ก ์์ ํ ๊น์?
@brandon-wonjune @ufoscw ๋ค ๊ทธ๋ผ ๋์์ธ ๋นจ๋ฆฌ ์งํํ ๊ป์. ์ ๊ฒ์ ๊ฒฐ๊ณผ ์์ฝ ๋ถ๋ถ์ด ๋์์ธ์ด ๊ธฐ์กด ๊ฒ๋ ์ข ์ด์ํด์์. Catalog์ Tag ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ํ hierachy ๋ถ๋ถ ๋ฐ ๊ฒ์ ๊ฒฐ๊ณผ ๊ฑด์.. ์ด ๋ถ๋ถ ์ฌ ๋์์ธ ์งํํ๊ณ ๋ง์๋๋ฆด๊ป์~
https://github.com/metatron-app/metatron-discovery/pull/2348#issuecomment-511248820
์ถ๊ฐ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ์๋์ ๊ฐ์ด ์์ ํ์์ต๋๋ค.
๋๋จธ์ง ์ถ๊ฐ์ฌํญ์ ๋ํด์๋ ๋์์ธ๊ณผ ๊ธฐํ์ด ์ ํด์ง๋๋ฐ๋ก ์์ ํ๊ฒ ์ต๋๋ค.
@brandon-wonjune
์ฐ์ ํ์ฌ PR์ Closeํ๊ณ ์ฌ ๋
ผ์๋ ๋ด์ฉ ํฌํจํด์ ๋ค์ PR์ ์คํํด์ฃผ์ธ์.
@brandon-wonjune @ufoscw ๋์์ธ์ด ์๋์ ๊ฐ์ด ์๋ฃ๋์์ต๋๋ค. ํ์ฌ ์์ฑ์ค์ธ ๊ธฐํ์๋ ๊ฐ์ด ๊ณต์ ๋๋ฆฝ๋๋ค. @brandon-wonjune ํ์์ผ ์คํ ๋ฒ์ ผ๊ณผ ๋ฌ๋ผ์ง๊ฑด, ์นดํ๋ก๊ทธ/ํ๊ทธ ์ ํ ์์๋ ์ปจํ ์ธ ์์ญ ์๋จ์ ํํฐ ๋ฐ UI์์ญ์ด ์กด์ฌํฉ๋๋ค. ํ๋ฉด์ ํต์ผ์์ผฐ์ด์!

@koeun222 ์ด์ ๋ชจ๋ MDM์ ์ฌ์ฉ์ํ๋ฉด(Explorer Data) ๋์์ธ์ด ๋ค ๋์๋๋ฐ.. ๋ฑ ํ์ฅ์ ๋์์ธ์ด ์๋์์ด์. ๋ถํ๋๋ ค์. ํด๋น ํ๋ฉด์ Favorite Data > Data Creator > ์์ธ ํ๋ฉด์ด์์!

@AnnieHwang ์์ฒญํ์ ๋์์ธ ๋ณ๊ฒฝ์ ๋ํด ์ ์ฉํ์์ต๋๋ค.
api ์์
์ด ์๋ฃ๋๋๋ฐ๋ก ์ ์ฉํ ์ฌํญ๋ค ์
๋๋ค.


@brandon-wonjune @ufoscw ํน์ ํํฐ๋ง ํญ๋ชฉ์ Publisher๋ ์ฌ ์ ์์๊น์?
@brandon-wonjune @koeun222 @ufoscw ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ์ #2386 ์์ ์งํํ๋๋ก ํ๊ฒ ์ต๋๋ค~
@brandon-wonjune
(GET) /catalogs/{catalogId}/tree(?includeAllHierarchies)
/api/catalogs/04221adf-ac9f-46a7-aa1f-87c33517adb0/tree?includeAllHierarchies=true
[
{
"id": "1e7d0003-6375-447a-a51a-e041db5116a5",
"name": "bbb"
},
{
"id": "f41257e2-88f6-48c8-b217-9a8e35284658",
"name": "ccc"
},
{
"id": "04221adf-ac9f-46a7-aa1f-87c33517adb0",
"name": "ddd"
}
]
@brandon-wonjune


@ufoscw
Tree ์ํ ์ ์ง๋๋๋ก ๋ณ๊ฒฝํ์์ต๋๋ค.
๋ฐ์ดํฐ ํ์ ์์ ๋์ผํ ํ์ ์์ ํ์์ต๋๋ค.
@thinkcsww @AnnieHwang
๊ฒ์ ๊ฒฐ๊ณผ ๊ทธ๋ฆฌ๋์ ์๋จ Filter ๊ธฐ๋ฅ์ ์ถํ ์ด์๋ฅผ ๊ฐ๋ณ ๋ฑ๋กํ์ฌ ์งํํ๋๋ก ํ๊ฒ ์ต๋๋ค.
ํ์ฌ ์ํ์์ "Data type"์ผ๋ก ํํฐ๋ง ํ๋ ๋ถ๋ถ์ ๊ธฐ๋ฅ์ ๋นผ์ ๋ค์ PR ์คํ ํด์ฃผ์ธ์.
@eltriny ์ ์ฝ๋ฉํธ ํ์ธ ๋ถํ๋๋ ค์.
@thinkcsww ๋ชฉ๋ก UI์ ๋ค์ ๊ฐ์ ์ฌํญ์ด ์์ด ์ฌ๋ ค๋๋ ค์~ ์ง๋ฌธ ์์ผ์๋ฉด ๋ง์์ฃผ์ธ์!!


@AnnieHwang
favorite์ด ์๋ ๊ฒฝ์ฐ๊ฐ ์ฐ์ธก์ Myfavorite์ด ์๋ ๊ฒฝ์ฐ ์ธ๊ฐ์?
@thinkcsww ์๋์. ์ข์ธก Catalogs ์๋จ์ ์๋ favorite๋งํ๋๊ฑฐ์์. (์๋ ๊ธฐํ์ ์บก์ณ๋ถ์์ ๋
ธ๋๋ฐ์ค ๋งํ๋๊ฑฐ์์~Catalog์ favorite์ด์)

@AnnieHwang
๊ธฐํ์์ ๋ณด๋ฉด ์ฆ๊ฒจ์ฐพ๊ธฐ ํ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒฝ์ฐ 'No favorite data' ๋
ธ์ถ์ด๋ผ๊ณ ๋์ด์๋๋ฐ
์ด ๊ฒฝ์ฐ์ ์ด๋ป๊ฒ ํ๋ฉด์ด ํ์๊ฐ ๋ผ์ผํ ๊น์?
@thinkcsww ํน์ ๊ทธ ๋ถ๋ถ์ด ํผ๋ธ์ ์๋์๋์? ์ ๊ฐ ๋์์ด๋๋ถ๊ป ํ์ธ๋ถํ๋๋ ธ์ด์. ๋ต๋ณ์ค๋ฉด ๋ง์๋๋ฆด๊ป์!
๋์์ธ ์ถ๊ฐํด์ ํผ๋ธ์ ์ค๋ ๋๊ฒผ์ต๋๋ค-

popular data์ ์ ๋ณด๊ฐ ์ต์์ผ๊ฒฝ์ฐ(ํ์ผ๋ช
+์ธ๊ธฐ๋&๋ง๋ ์ฌ๋) Myfavorite list๊ฐ 5๊ฐ๋ฉด ์๋์ด๋ฏธ์ง์ฒ๋ผ ์ ๋ ฌ์ด ๋ง์ง์์์ My favorite ์ favorite creator๋ 4๊ฐ ๋ฃ๋๊ฑธ๋ก @AnnieHwang ์ ์๊ธฐํ์ต๋๋ค-

@AnnieHwang
์์ ํ์ต๋๋ค.