> ## Documentation Index
> Fetch the complete documentation index at: https://make.edicus.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 리소스 관리

> Resource 화면에서 편집기 자산을 찾고, 등록하고, 공개 상태를 바꾸는 방법

**Resource**는 편집기가 쓰는 파일을 관리하는 화면입니다. 템플릿, 레이아웃, 배경, 스티커처럼 편집기에 나오는 자산은 모두 여기에 리소스 한 건으로 저장됩니다. 상품 설정에서 탭을 켜도, 그 탭에 보일 리소스가 없으면 목록은 비어 있습니다.

## 배우는 것

* 리소스 종류와 각각이 편집기에서 쓰이는 곳
* 리소스를 찾고 화면에서 직접 등록하는 방법
* 공개 상태(visibility)가 편집기 목록에 미치는 영향
* 템플릿을 고르면 쓸 수 있는 **Utility**의 기능

## 메뉴가 보이는 계정

Edicus Manager 계정의 역할은 셋입니다. 계정 화면에는 각각 admin, designer, operator로 표시됩니다. 왼쪽 메뉴는 역할에 따라 아래처럼 달라집니다.

| 역할 | 왼쪽 메뉴 | 익스포터 업로드 |
| - | - | - |
| 파트너 관리자 계정(partner-admin) | **Partner Admin**, **Product**, **Resource**, **Customize**, **Division**, **Font**, **Sticker**, **Calendar**, **Palette**, **Order**, **Render**, **OEM**. **Pattern**과 **Design**은 파트너 권한에 따라 보이지 않을 수 있습니다 | 됩니다 |
| 디자이너 계정(partner-designer) | 현재 왼쪽 메뉴가 하나도 보이지 않습니다 | 됩니다 |
| 주문 담당 계정(partner-operator) | **Order**, **Render** | 안 됩니다 |

리소스와 폰트, 스티커, 팔레트를 관리하는 작업은 파트너 관리자 계정으로 합니다. 디자이너 계정으로는 익스포터로 템플릿과 자산을 올리는 일만 할 수 있습니다.

일부 툴바 버튼은 파트너 권한에 따라 보이지 않을 수 있습니다.

## 리소스 종류

`type`은 파일 형식이 아니라 편집기에서의 역할입니다. 같은 PNG라도 스티커로 올리면 스티커 탭에, 배경으로 올리면 배경 탭에 나옵니다. `type`을 바꿔도 파일 내용은 바뀌지 않습니다.

| `type` | 편집기에서 쓰는 곳 | 만드는 방법 |
| - | - | - |
| `template` | 프로젝트를 처음 만들 때 여는 문서. 템플릿 탭 | 익스포터의 template 모드 업로드. [템플릿 업로드와 수정](/docs/templates/upload)을 보세요 |
| `rsclist` | 리소스 목록(resource list)의 줄임말입니다. 익스포터가 한 번에 올린 레이아웃, 배경, 스티커 묶음을 하나로 가리킵니다 | 익스포터가 layout, background, sticker 모드로 올릴 때 함께 만듭니다. `page-type`에 묶음 종류가 들어갑니다 |
| `layout` | 레이아웃 탭 | 익스포터의 layout 모드 업로드. 페이지마다 한 건씩 생깁니다 |
| `background` | 배경 탭의 이미지 | 익스포터의 background 모드 업로드, 또는 이 화면에서 이미지 등록 |
| `design` | 디자인 그룹을 쓰는 상품의 레이아웃 탭 | 익스포터의 design 모드 업로드. [스티커·패턴·디자인 관리](/docs/products/stickers)를 보세요 |
| `sticker` | 스티커 탭 | **Sticker** 화면에서 PNG, SVG 등록. 익스포터의 sticker 모드 업로드. 템플릿에 놓은 그림도 템플릿의 하위 스티커로 생깁니다 |
| `pattern` | 배경 탭의 패턴 | **Pattern** 화면에서 PNG, SVG 등록 |
| `mask` | 마스크 탭과 사진 칸의 테두리 모양 | 이 화면에서 등록. 템플릿의 사진 칸 마스크는 익스포터가 만듭니다 |
| `textpath` | 텍스트 탭의 패스 텍스트 모양 | 이 화면에서 등록. `value`에 경로를 넣습니다 |
| `shapepath` | 스티커 탭의 **도형** 목록 | 이 화면에서 등록. `value`에 경로를 넣습니다 |
| `guide` | 템플릿에 고정된 안내 그림. 관리 탭의 가이드 목록 | 익스포터가 고정 그림을 이 종류로 올립니다. 이 화면에서도 등록할 수 있습니다 |
| `deco` | 템플릿 사진 칸의 위아래에 겹친 장식 그림 | 익스포터가 만듭니다. **Add**에서도 고를 수 있지만 고르는 탭은 없습니다 |
| `pic` | 템플릿 사진 칸에 미리 넣어 둔 이미지 | 대부분 익스포터가 템플릿과 함께 만듭니다. 이 화면의 **Add**에서도 종류로 고를 수 있지만, 이렇게 등록한 `pic`을 고르는 탭은 없습니다. 사용자가 올린 사진과는 별개입니다 |
| `preview` | 사이즈의 `preview` 부가 기능이 참조하는 파일(3D 장면 등) | 이 화면에서 등록하고 `resUri`를 미리보기 설정에 넣습니다 |
| `token` | 편집기에서 쓰지 않습니다 | 익스포터가 업로드를 시작할 때 받는 예약 번호입니다. 업로드가 끝나면 같은 ID가 올린 종류로 바뀝니다. 남은 `token`은 끝나지 못한 업로드입니다 |

익스포터가 템플릿과 함께 만든 하위 리소스(`pic`, `deco`, `mask`, `guide`, 하위 `sticker`)는 `parent`에 템플릿 ID를 가집니다. 템플릿을 다시 올리면 이전 하위 리소스는 `deleted`로 바뀌고 새로 만들어집니다.

## 리소스 찾기

위쪽 검색 상자에서 조건을 고르고 **Search**를 누릅니다. 한 쪽에 100개씩 보입니다.

| 조건 | 설명 |
| - | - |
| `type` | 리소스 종류입니다. 기본값은 `template`입니다 |
| `order` | `latest`는 최근 등록 순, `oldest`는 오래된 순, `name`은 제목 순입니다. `name`은 `template`이고 카테고리나 상품을 골랐을 때만 됩니다 |
| `access` | `valid`는 `public`, `protected`, `private`를 함께 찾습니다. 하나만 고르면 그 상태만 찾습니다 |
| `cate`, `prod`, `size` | 리소스에 연결된 `ps_code`로 좁힙니다. `template`, `rsclist`, `layout`, `background`에서만 보입니다 |
| `title` | 제목이 이 글자로 시작하는 리소스만 찾습니다 |
| `page` | 페이지 종류로 좁힙니다. `background`, `layout`에서만 보입니다 |

툴바의 **Search Key**는 리소스 ID 하나로 바로 찾습니다. **Show Index**를 켜면 목록에 순번이 붙습니다.

## 화면에서 직접 등록하기

템플릿, 레이아웃, 디자인은 익스포터로 올립니다. 스티커와 패턴은 그룹과 카테고리를 함께 정해야 하므로 [스티커·패턴·디자인 관리](/docs/products/stickers)에서 올립니다. 이 화면에서는 배경 이미지, 마스크, 패스, 가이드, 미리보기 파일을 등록합니다.

<Steps>
  <Step title="종류를 고르고 Add를 누릅니다">
    검색 상자의 `type`을 등록할 종류로 바꾸고 툴바의 **Add**를 누릅니다. 새 리소스는 `private`로 시작합니다.
  </Step>

  <Step title="파일을 고릅니다">
    **file**에 편집기가 쓸 파일을, **dp-file**에 목록에 보일 그림을 넣습니다. 받는 형식은 JPG, PNG, SVG, XML, JSON입니다. `title`을 비워 두면 파일 이름이 들어갑니다.
  </Step>

  <Step title="경로가 필요한 종류는 value를 채웁니다">
    `mask`, `textpath`, `shapepath`는 `value` 칸이 보입니다. 옆의 파일 버튼으로 SVG를 고르면 첫 번째 `path`가 `value://path/...` 형식으로 들어갑니다.
  </Step>

  <Step title="상품과 페이지 종류를 연결합니다">
    `template`, `rsclist`, `background`, `layout`은 **Add Code**로 `ps_code`를 붙입니다. 편집기는 같은 `ps_code`가 붙은 것만 보여 줍니다. `background`, `layout`, `design`은 `page-type`도 고릅니다.
  </Step>

  <Step title="공개로 바꾸고 저장합니다">
    `visibility`를 `public`으로 바꾸고 **Save**를 누릅니다. 이어서 같은 종류를 더 올리려면 **Save & Add**를 누릅니다. 이미 있는 리소스를 고친 뒤에는 **Update**를 누릅니다.
  </Step>
</Steps>

**dp-file**을 비우면 서버가 표시 그림을 만듭니다. JPG, PNG는 300px 안쪽 축소본을 만듭니다. SVG는 32KB 이하면 그대로 쓰고, 더 크면 PNG로 바꿉니다. JPG, PNG를 올리면 편집용 축소본도 함께 만들어집니다.

SVG 안에 `id`가 `color`로 시작하는 요소가 있으면 서버가 그 색을 `user-data-gen`에 `varColors=...`로 기록합니다. 이런 스티커는 사용자가 색을 바꿀 수 있습니다. 목록에서는 색 변경 표시가 붙습니다.

## 편집 항목

| 화면 이름 | 설명 |
| - | - |
| `key` | 서버가 매긴 리소스 ID입니다. 옆 버튼으로 복사합니다 |
| `type`, `visibility`, `title` | 종류, 공개 상태, 제목입니다. 제목은 255자까지입니다 |
| `upload-time`, `delete-time` | 올린 시각과 `deleted`로 바뀐 시각입니다. 읽기 전용입니다 |
| `ps-codes` | 연결된 `ps_code`입니다. 위 네 종류에서만 보입니다 |
| `resUri` | 편집기가 실제로 읽는 파일 주소입니다. 템플릿의 `resUri` 쓰임은 [템플릿 업로드와 수정](/docs/templates/upload)에 있습니다 |
| `dp-style` | 편집기 목록에서 표시 그림 뒤에 깔 바탕입니다. `light`, `dark`가 있습니다. 흰 그림이 안 보일 때 `dark`를 씁니다 |
| `page-type` | `content`, `cover`, `leftside`, `rightside`, `front`, `back` 중 고릅니다. `design`은 글자로 직접 씁니다 |
| `item-count` | 템플릿, 레이아웃, 디자인의 사진 칸 수입니다 |
| `parent` | 이 리소스를 만든 상위 리소스 ID입니다. 읽기 전용입니다 |
| `noPar` | 스티커를 켜면 사용자가 가로세로 비율을 바꿔 늘릴 수 있습니다 |
| `user-data` | 256자까지의 문자열입니다. 저장하면 `resUri` 뒤에 `?값`으로 붙습니다 |
| `user-data-gen` | 서버가 만든 값입니다. 읽기 전용입니다 |

## 공개 상태

| `visibility` | 편집기에서 |
| - | - |
| `public` | 각 탭의 목록에 나옵니다 |
| `protected` | 일반 목록에는 나오지 않습니다. 템플릿의 하위 스티커가 `protected`면 그 템플릿으로 연 프로젝트의 스티커 탭에 **템플릿 스티커** 카테고리로 나옵니다 |
| `private` | 목록에 나오지 않습니다. 새로 등록한 리소스와 템플릿 하위 리소스의 기본값입니다 |
| `deleted` | 목록에 나오지 않습니다. 템플릿을 다시 올리면 이전 하위 리소스가 이 상태가 됩니다 |

공개 상태는 목록에 보일지만 정합니다. 이미 만든 프로젝트는 리소스 주소를 직접 가지고 있으므로 `private`로 바꿔도 계속 열립니다.

<Warning>
  툴바의 **Delete**는 상태를 바꾸는 것이 아니라 파일과 리소스를 지웁니다. 하위 리소스는 `deleted`가 됩니다. 이 리소스를 쓴 프로젝트와 주문의 그림이 깨질 수 있으니, 목록에서만 빼려면 `visibility`를 바꾸세요.
</Warning>

### 익스포터로 올린 레이아웃과 배경 공개하기

익스포터의 layout, background 모드 업로드는 `rsclist` 한 건과 페이지별 리소스를 `protected`로 만듭니다. 그대로는 편집기에 나오지 않습니다.

<Steps>
  <Step title="상품 화면에서 묶음 목록을 엽니다">
    **Product**에서 상품과 사이즈를 고르고, 위쪽 요약줄의 **Layout** 또는 **Background**를 누릅니다. 툴바의 **에셋**으로도 열립니다.
  </Step>

  <Step title="공개할 묶음의 눈 아이콘을 누릅니다">
    묶음이 `public`이 되면 그 안의 리소스도 함께 `public`이 됩니다. 같은 제목의 다른 공개 묶음은 `protected`로 내려갑니다. 다시 누르면 `protected`로 돌아갑니다.
  </Step>
</Steps>

같은 제목의 공개 묶음이 둘 이상이면 제목 옆에 경고 표시가 뜹니다. 휴지통 아이콘은 묶음과 그 리소스를 `deleted`로 바꿉니다.

## 툴바

| 버튼 | 하는 일 |
| - | - |
| **Add** | 검색 상자에서 고른 종류로 새 리소스를 만듭니다. 목록에서 리소스를 고른 채로 누르면 그 리소스의 종류와 값을 복사하고 파일만 비운 채 시작합니다 |
| **Save**, **Update** | 새 리소스는 **Save**, 기존 리소스는 **Update**로 저장합니다 |
| **Save & Add** | 저장하고 같은 값으로 새 리소스를 엽니다 |
| **Delete** | 파일과 리소스를 지웁니다 |
| **Search Key** | 리소스 ID로 찾습니다 |
| **⋮** > **Dn Url** | 고른 리소스 파일의 다운로드 주소를 복사합니다 |
| **⋮** > **Report** | 고른 리소스의 ID, 제목, `resUri`를 CSV로 받습니다 |
| **⋮** > **Transfer Resource** | `mask`, `textpath`, `shapepath`를 OEM 서비스 파트너에게 복사합니다. OEM 서비스 파트너는 **Partner Admin** 화면에 OEM으로 연결된 파트너 가운데 역할이 `service`(편집기 서비스를 운영하는 파트너)인 곳입니다 |

오른쪽의 **Demo**, **Setting**, **Utility**와 \*\*⋮\*\*의 테스트 항목은 `template`을 골랐을 때만 켜집니다. **Demo**는 [템플릿 업로드와 수정](/docs/templates/upload)에, **Test Order** 같은 테스트 항목은 [테스트 주문과 렌더링](/docs/templates/test-render)에 있습니다.

## Utility

템플릿을 고르고 **Utility**를 누르면 **TEMPLATE UTILITY** 창이 열립니다. 왼쪽에 다섯 메뉴가 있습니다.

| 메뉴 | 하는 일 |
| - | - |
| **Sticker** | 템플릿의 하위 스티커를 **Private Sticker**와 **Protected Sticker**로 나눠 보여 줍니다. 고른 뒤 **Unlock**은 `protected`로, **Lock**은 `private`로 바꿉니다. **Light**, **Dark**는 `dp-style`을 바꿉니다 |
| **Analyze** | 페이지, 개체, 사진 칸, 스티커, 글상자 수를 보여 줍니다. **Remove Cell Images**는 사진 칸에 미리 넣은 이미지를 템플릿에서 빼고 그 `pic` 리소스를 지웁니다. **Remove Page Group**은 템플릿의 페이지 묶음 정보를 지웁니다. **Swap Calendar Month**는 달마다 두 페이지인 달력에서 페이지 이름은 그대로 두고 두 페이지의 내용을 맞바꿉니다 |
| **Font** | 템플릿 글상자에 쓰인 폰트(**Used**)와 폰트 그룹에서 찾지 못한 폰트(**Unresolved**)를 보여 줍니다. **Fix**는 [폰트](/docs/products/fonts#템플릿의-폰트-바로잡기)를 보세요 |
| **PSCode** | 이 템플릿의 `ps_code` 목록을 고칩니다. **Add New PSCode**로 추가하고 **Apply Changes**로 적용합니다. 남긴 첫 번째 `ps_code`가 붙은 모든 리소스의 `ps_code`가 함께 바뀝니다 |
| **Publish** | 같은 `ps_code`의 템플릿을 **Private Templates**와 **Public Templates**로 나눠 보여 줍니다. **Unlock**은 `public`, **Lock**은 `private`로 바꿉니다 |

**Analyze**의 세 버튼은 템플릿 파일을 바로 고쳐 저장합니다. 되돌리려면 템플릿을 다시 올려야 합니다.

**Publish**로 템플릿을 레이아웃 후보로 쓰는 절차는 [레이아웃과 배경](/docs/products/layout-background)에 있습니다.

## 됐는지 확인

<Check>
  **Search**로 등록한 리소스를 다시 찾았을 때 `visibility`가 `public`이고 `ps-codes`가 맞으면 됩니다. 같은 상품의 템플릿을 고르고 **Demo**를 눌러, 해당 탭에 그 리소스가 보이는지 확인하세요. Demo는 저장과 사진 업로드가 안 됩니다. 사진을 넣거나 저장해 봐야 하는 확인은 [테스트 주문과 렌더링](/docs/templates/test-render)의 **Test Order**로 합니다.
</Check>

## 다음 단계

<Columns cols={2}>
  <Card title="스티커·패턴·디자인 관리" icon="shapes" href="/docs/products/stickers">
    그룹과 카테고리를 만들고 파일을 올립니다.
  </Card>

  <Card title="템플릿 업로드와 수정" icon="upload" href="/docs/templates/upload">
    익스포터로 템플릿과 하위 리소스를 함께 올립니다.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.