본문 바로가기

테크니컬 라이팅

Storyblok 체험해보기 (4) Structures of Content

반응형

https://www.storyblok.com/docs/guide/essentials/content-structures 의 내용을 요약한 겁니다.

 

Getting Started에서 용어에 대한 설명이 바로 나오면서 자세한 내용은 이 문서를 참고하라고 하죠. 하지만 이미 용어가 나오는 순간 이게 무슨 이야기지 싶어서 Getting Started를 보기 전에 이 문서를 먼저 보거나 같이 보는 것이 좋을 듯합니다.
제목은 Structures of Content이지만 그냥 각 용어에 대한 개념 설명입니다. 콘텐츠 구조와 연결되어 있긴 하지만 전체 구조가 딱 쉽게 이해되지는 않네요.


다루는 용어는 아래와 같습니다. Account 같은 건 다른 서비스와 딱히 별 다른 것이 없어서 여기서 설명을 했어야 했나 싶기도 합니다.

  • Account
  • Space
  • Story
  • Folder
  • Component
    • Content Type
    • Blok (nestable Component)
  • Schema
  • Field
  • Asset

계정(Account)

이메일 기준입니다. 다른 이메일을 쓰면 여러 계정을 만들어 테스트해볼 수 있습니다.

스페이스(Space)

의도에 맞는 번역은 지면(紙面)이 아닐까 싶었습니다(상세한 내용을 보니 지면보다는 그냥 공간이라는 번역이 더 적절했겠네요). 뭔가 콘텐츠를 채울 공간을 의미하는 거니깐요. 하지만 지면이라는 용어 자체가 낯설 수 있고 일반적으로 많이 사용하는 워크스페이스와 비슷한 형식의 번역이 적절할 듯합니다.

A space is one content repository.

저장소(repository)라는 표현이 독특하네요. 콘텐츠를 작성하는 것이 아니라 콘텐츠를 보관하는 장소(place)라고 합니다. 스페이스 내에 Story, Component, Asset 등이 포함됩니다.
하나의 스페이스에서 여러 개의 API 키를 사용할 수 있어서 대상에 맞게 콘텐츠를 전달할 수있습니다.

스토리(Story)

하나의 Content Type으로 정의된 콘텐츠입니다. uuid를 가지고 있는 것을 보면 사용할 수 있는 독립적인 콘텐츠 덩어리라고 이해할 수 있을 듯합니다.

폴더(Folder)

storyblok은 사용자가 특정 물리적인 저장공간에 파일을 생성하는 방식이 아니라서 물리적인 폴더와는 조금 다른 듯합니다. 다만 논리적으로 n개의 스토리를 하나의 그룹으로 묶는 느낌이 더 강합니다. 스토리에서 full_slug 필드값을 설정해 사용할 수 있습니다. 조금 애매한 건 slug 필드값을 full_slug 필드에서 또 지정해주어야 한다는 것이 이상하긴 하네요.

컴포넌트(Component)

2가지 타입으로 만들 수 있습니다.

콘텐츠 타입(Content Type)

일종의 템플릿입니다. 뭔가 정해져 있는 건 아니고 자유롭게 추가할 수 있다고 합니다. 기본값으로 "Page"라는 콘텐츠 타입을 제공하는데 이것도 필요없으면 삭제할 수 있습니다. 콘텐츠 타입을 만들고 이를 기반으로 스토리를 만들 수 있다고 합니다.

블록(Blok-nestable Component)

중첩(nestable)이라는 의미가 중첩할 수 있다가 아니라 중첩만 할 수 있다가 아닌가 싶습니다. 스토리의 일부라는 점을 강조하며 콘텐츠 타입과 다르게 블록 기반으로 스토리를 만들 수는 없습니다.
예시 코드를 봐도 잘 이해가 되질 않습니다. 일단은 ㅠㅠ
(컴포넌트에 대해서는 나중에 실습을 해보면서 좀 더 들어가보는 걸로 ㅠㅠ)

스키마(Schema)

컴포넌트는 Schema라고 하는 필드 집합을 가집니다. 필드 타입이 다른 1개 이상의 필드로 구성되며 각 필드를 탭으로 구분할 수 있습니다.

 



필드(Field)

필드 타입을 선택하고 해당 필드 타입에 맞는 데이터를 편집할 수 있습니다.
일반적인 타입을 제외하고 독특한 타입만 나열해봅니다.

 

v1
v2


- Multi-Asset: 1개 이상 파일 업로드. Asset manager에서 파일을 가져올 수 있음. 2개 이상을 가져올 수 있는 걸 제외하면 그냥 Asset과 다를 것이 없는데 왜 구분을 했는지는 모르겠네요.
- Single-Option: 드롭다운 목록에서 원하는 항목을 선택하는 것입니다. 스키마 설정 시 항목을 직접(Self) 입력할 수도 있고 다른 리소스(스토리 목록, 언어 목록 등)에서 가져올 수도 있습니다.
- Multi-Option: 1개 이상의 항목을 드롭다운 목록에서 선택하는 것입니다.
- Blocks: Blok를 추가할 수 있습니다(근데 왜 이건 이름이 Blocks인지...)
- Markdown: 간단한 마크다운 에디터를 지원합니다. 미리보기도 지원합니다.
- Richtext: 좀 더 복잡한 리치 텍스트 에디터를 지원합니다. 마크다운 가져오기도 지원하네요.
- Group: 필드가 많은 경우 그룹으로 묶는 기능입니다. 접거나 펼칠 수 있습니다.
- Plugin: 컬러 피커 같은 커스텀 타입 플러그인을 지원합니다.

애셋(Asset)

어떤 식으로든 Storyblok에 업로드된 파일을 의미합니다. 이미지의 경우 자체적으로 최적화를 지원해준다고 합니다. 이미지, 동영상, 오디오, 텍스트 파일을 지원합니다.
무료 계정인 경우에도 딱히 저장 용량 제한은 없는데 트래픽 제한이 있긴 합니다. 월 250GB 제한이 있습니다.

728x90