콘텐츠를 모델링하는 방법 model-your-content

AEM Headless 개발자 여정의 부분에서는 콘텐츠 구조를 모델링하는 방법에 대해 알아봅니다. 그런 다음 여러 채널에서 재사용할 수 있도록 콘텐츠 조각 모델 및 콘텐츠 조각을 사용하여 Adobe Experience Manager(AEM) 구조를 실현합니다.

지금까지의 스토리 story-so-far

CMS Headless 개발에 대해 알아보기의 시작 부분에서는 Headless 콘텐츠 게재와 이를 사용하는 이유를 다룹니다. 그런 다음 AEM Headless as a Cloud Service 시작하기에서 자체 프로젝트 컨텍스트의 AEM Headless에 대해 알아보았습니다.

AEM Headless 번역 여정의 이전 문서인 AEM Headless를 사용한 첫 번째 경험으로의 경로에서 첫 번째 프로젝트 구현에 필요한 단계에 대해 알아보았습니다. 문서를 읽고 나면

  • 콘텐츠 디자인을 대한 중요한 계획 고려 사항을 이해하고 설명할 수 있습니다.
  • 통합 수준 요구 사항에 따라 Headless를 구현하는 단계를 이해하고 설명할 수 있습니다.
  • 필요한 도구 및 AEM 구성을 설정할 수 있습니다.
  • 모범 사례를 파악하면 원활하게 Headless 여정을 수행하고, 효율적으로 콘텐츠를 생성하고, 빠르게 콘텐츠를 게재할 수 있습니다.

이 문서는 해당 기본 사항을 기본으로 하며, 이를 통해 자체 AEM Headless 프로젝트를 준비하는 방법을 이해할 수 있습니다.

목표 objective

  • 대상자: 초급

  • 목표: 콘텐츠 구조를 모델링하는 방법을 알아본 다음 AEM 콘텐츠 조각 모델 및 콘텐츠 조각을 사용하여 해당 구조를 구현합니다.

    • 데이터/콘텐츠 모델링 관련 개념과 용어를 소개합니다.
    • Headless 콘텐츠 게재에 콘텐츠 모델링이 필요한 이유에 대해 알아봅니다.
    • AEM 콘텐츠 조각 모델을 사용(및 콘텐츠 조각으로 콘텐츠 작성)하여 이 구조를 실현하는 방법에 대해 알아봅니다.
    • 기본 샘플을 사용하여 콘텐츠와 원칙을 모델링하는 방법에 대해 알아봅니다.
NOTE
데이터 모델링은 큰 필드로 관계형 데이터베이스를 개발할 때 사용됩니다. 다양한 책과 온라인 정보 소스를 사용할 수 있습니다.
이 여정에서는 AEM Headless에 사용할 데이터를 모델링하는 경우 관심 있는 측면만 고려합니다.

콘텐츠 모델링 content-modeling

저 밖의 세상은 넓고 불편합니다..

사실이 아닐 수도 있지만 저 밖의 세상은 복잡 ​합니다. 데이터 모델링을 통해 특정 목적에 맞는 구체적인 정보를 사용하여 매우 (아주) 작은 하위 섹션의 단순화된 표현을 정의합니다.

NOTE
AEM이 콘텐츠를 처리하는 경우 이 여정에서는 데이터 모델링을 콘텐츠 모델링이라고 합니다.

예:

학교는 많지만 서로 공통되는 사항들은 다양합니다.

  • 위치
  • 교장
  • 교사 수
  • 교직원 수
  • 학생 수
  • 전직 교사 수
  • 학교 밖 학생 수
  • 교실 수
  • 도서 수
  • 장비 수
  • 방과후 활동 수
  • 기타 등등

그러한 작은 사례는 끝도 없이 열거할 수 있습니다. 단, 애플리케이션에서 간단한 작업을 수행하는 경우에만 해당 정보를 핵심 사항으로 제한합니다.

예: 지역의 전체 학교에 맞는 특별 이벤트 광고

  • 학교명
  • 학교 위치
  • 교장
  • 이벤트 유형
  • 이벤트 날짜
  • 이벤트 주관 교사

개념 concepts

설명할 내용을 엔티티 ​라고 합니다. 기본적으로 “항목”에 대한 정보를 저장합니다.

항목에 대해 저장할 정보는 교사 이름과 자격 요건과 같은 특성(속성)입니다.

엔티티 사이에는 다양한 관계 ​가 있습니다. 예를 들어 학교에는 일반적으로 교장 한 명과 여러 명의 교사들이 있습니다(교장 또한 교사임).

이 정보와 정보 간의 관계를 분석 및 정의하는 프로세스를 콘텐츠 모델링 ​이라고 합니다.

기본 사항 basics

엔티티와 엔티티 관계를 설명하는 개념 스키마 ​를 작성하여 시작해야 하는 경우가 있습니다. 일반적으로 수준이 높습니다(개념적).

상태가 안정되면 모델을 속성 및 관계와 함께 엔티티를 설명하는 논리 스키마 ​로 변환할 수 있습니다. 이 수준에서 정의를 면밀히 검토하여 중복을 제거하고 설계를 최적화합니다.

NOTE
시나리오의 복잡성에 따라 이 두 단계를 병합하는 경우가 있습니다.

예를 들어 Head TeacherTeacher에 대한 별도의 엔티티 또는 간단히 Teacher 모델에 추가 속성이 필요합니까?

데이터 무결성 보장 data-integrity

전체 라이프사이클에서 콘텐츠의 정확성과 일관성을 유지하려면 데이터 무결성이 필요합니다. 여기에는 콘텐츠 작성자가 쉽게 이해할 수 있도록 저장 내용과 위치가 포함되므로 다음 사항이 중요합니다.

  • 명확한 구조
  • 가능하면 간결한 구조 (정확성을 떨어뜨리지 않고)
  • 개별 필드의 유효성 확인
  • 해당하는 경우 특정 필드의 콘텐츠를 의미 있는 내용으로 제한합니다.

데이터 중복 제거 data-redundancy

데이터 중복은 콘텐츠 구조 내의 동일한 정보가 두 번 저장되는 경우 발생합니다. 이 작업은 콘텐츠를 만드는 경우 혼동을 주고 쿼리하는 경우 오류와 저장소 공간 오용이 발생할 수 있으므로 피해야 합니다.

최적화 및 성능 optimization-and-performance

구조를 최적화하여 콘텐츠 생성과 쿼리 모두에 있어 성능을 개선할 수 있습니다.

모든 항목에는 밸런싱 작업이 필요하지만 너무 복잡하거나 수준이 너무 많은 구조를 생성하는 경우 콘텐츠 생성 작성자에게 혼란을 야기할 수 있습니다. 그리고 쿼리가 여러 중첩된(참조된) 콘텐츠 조각에 액세스하여 필요한 콘텐츠를 검색해야 하는 경우 성능에 심각한 영향을 줄 수 있습니다.

AEM Headless용 콘텐츠 모델링 content-modeling-for-aem-headless

데이터 모델링은 관계 데이터베이스 개발 시 자주 사용되는 설정된 기술 세트이므로 콘텐츠 모델링은 AEM Headless에 어떤 의미입니까?

왜일까요? why

애플리케이션이 AEM에서 필요한 콘텐츠를 일관되고 효율적으로 요청 및 수신하도록 하려면 이 콘텐츠를 구조화해야 합니다.

즉, 애플리케이션이 응답 형식을 미리 알고 있으므로 처리 방법을 알고 있습니다. 포함된 내용과 사용 방법을 결정하는 데 구문 분석할 수 있는 자유 형식 콘텐츠를 수신하는 것보다 더 쉽습니다.

방법 소개 how

AEM은 콘텐츠 조각을 사용하여 콘텐츠를 Headless 방식으로 애플리케이션에 게재하는 데 필요한 구조를 제공합니다.

콘텐츠 모델 구조는

  • 콘텐츠 조각 모델 정의로 실현되고,
  • 콘텐츠 생성에 사용되는 콘텐츠 조각의 기반으로 사용됩니다.
NOTE
콘텐츠 조각 모델은 콘텐츠 검색에 사용되는 AEM GraphQL 스키마의 기반으로도 사용됩니다. 자세한 내용은 후반부 섹션을 참조하십시오.

콘텐츠에 대한 요청은 표준 GraphQL API 구현을 사용자 정의하는 AEM GraphQL API를 사용하여 처리합니다. AEM GraphQL API를 사용하면 콘텐츠 조각에서 (복잡한) 쿼리를 수행할 수 있습니다(각 쿼리는 특정 모델 유형에 따라 다름).

그런 다음 반환된 콘텐츠를 애플리케이션에서 사용할 수 있습니다.

콘텐츠 조각 모델을 사용하여 구조 만들기 create-structure-content-fragment-models

콘텐츠 조각 모델은 콘텐츠 구조를 정의할 수 있는 다양한 메커니즘을 제공합니다.

콘텐츠 조각 모델은 엔티티에 대해 설명합니다.

NOTE
모델을 만들 수 있도록 구성 브라우저의 콘텐츠 조각 기능을 활성화해야 합니다.
TIP
콘텐츠 작성자가 콘텐츠 조각을 만들 때 선택할 모델을 파악할 수 있도록 모델의 이름을 지정해야 합니다.

모델 내부:

  1. 데이터 유형 ​을 통해 개별 속성을 정의할 수 있습니다.
    예를 들어 교사 이름이 포함된 필드를 텍스트 ​로 정의하고 교사의 근무 기간을 숫자 ​로 정의합니다.
  2. 데이터 유형 콘텐츠 참조조각 참조 ​를 사용하여 AEM 내에서 다른 콘텐츠에 대한 관계를 만들 수 있습니다.
  3. 조각 참조 데이터 유형을 사용하여 (모델 유형에 따라) 콘텐츠 조각을 중첩하여 여러 수준의 구조를 실현할 수 있습니다. 이는 콘텐츠 모델링에 필수적입니다.

예:
콘텐츠 조각을 통한 콘텐츠 모델링

데이터 유형 data-types

AEM은 콘텐츠를 모델링할 수 있도록 다음 데이터 유형을 제공합니다.

  • 한 줄 텍스트
  • 여러 줄 텍스트
  • 숫자
  • 부울
  • 날짜 및 시간
  • 열거
  • 태그
  • 콘텐츠 참조
  • 조각 참조
  • JSON 오브젝트

참조 및 중첩된 콘텐츠 references-nested-content

두 가지 데이터 유형은 특정 조각 외부 콘텐츠에 대한 참조를 제공합니다.

  • 콘텐츠 참조
    이는 모든 유형의 다른 콘텐츠에 대한 간단한 참조를 제공합니다.
    예를 들어 지정된 위치에서 이미지를 참조할 수 있습니다.

  • 조각 참조
    이는 다른 콘텐츠 조각에 대한 참조를 제공합니다.
    이러한 유형의 참조는 콘텐츠 모델링에 필요한 관계를 도입하여 중첩된 콘텐츠를 만드는 데 사용됩니다.
    조각 작성자가 다음과 같은 작업을 수행할 수 있도록 데이터 유형을 구성할 수 있습니다.

    • 참조된 조각 직접 편집
    • 적절한 모델을 기반으로 콘텐츠 조각 만들기

콘텐츠 조각 모델 만들기 creating-content-fragment-models

처음에는 사이트의 콘텐츠 조각 모델을 활성화해야 합니다. 이 작업은 도구 -> 일반 -> 구성 브라우저 ​의 구성 브라우저에서 수행됩니다. 전역 항목을 구성하도록 선택하거나 구성을 만들 수 있습니다. 예:

구성 정의

NOTE
추가 리소스 - 구성 브라우저의 콘텐츠 조각을 참조하십시오.

그런 다음 콘텐츠 조각 모델을 만들고 구조를 정의할 수 있습니다. 이 작업은 아래에서 수행할 수 있습니다. 도구 > 일반 > 컨텐츠 조각 모델. 예:

콘텐츠 조각 모델

NOTE
추가 리소스 - 콘텐츠 조각 모델을 참조하십시오.

모델을 사용하여 콘텐츠 조각으로 콘텐츠 작성 use-content-to-author-content

콘텐츠 조각은 항상 콘텐츠 조각 모델을 기반으로 합니다. 모델은 구조를 제공하고, 조각은 콘텐츠를 저장합니다.

적절한 모델 선택 select-model

콘텐츠 조각을 만드는 것이 실제로 콘텐츠를 만드는 첫 번째 단계입니다. 이 작업은 자산 > 파일 아래의 필수 폴더에서 만들기 > 콘텐츠 조각 을 사용하여 수행됩니다. 마법사가 단계를 안내합니다.

콘텐츠 조각은 생성 프로세스의 첫 번째 단계로 선택한 특정 콘텐츠 조각 모델을 기반으로 합니다.

구조화된 콘텐츠 만들기 및 편집 create-edit-structured-content

조각이 생성되면 콘텐츠 조각 편집기에서 열 수 있습니다. 여기서 다음과 같은 작업을 수행할 수 있습니다.

  • 일반 또는 전체 화면 모드에서 콘텐츠 편집.
  • 전체 텍스트, 일반 텍스트 또는 Markdown으로 콘텐츠 형식 지정.
  • 콘텐츠의 변형 생성 및 관리.
  • 콘텐츠 연결.
  • 메타데이터 편집.
  • 트리 구조 표시.
  • JSON 표현식 미리보기.

콘텐츠 조각 만들기 creating-content-fragments

적절한 모델을 선택하면 편집할 콘텐츠 조각이 콘텐츠 조각 편집기에서 열립니다.

콘텐츠 조각 편집기

NOTE
추가 리소스 - 콘텐츠 조각을 사용하여 작업을 참조하십시오.

몇 가지 사례 시작하기 getting-started-examples

샘플의 기본 구조는 샘플 콘텐츠 조각 구조를 참조하십시오.

다음 단계 whats-next

이제 구조를 모델링하고 이에 종속된 콘텐츠를 만드는 방법을 배웠으므로 다음 단계는 GraphQL 쿼리를 통해 콘텐츠 조각 콘텐츠에 액세스하고 검색하는 방법에 대해 알아보기입니다. GraphQL을 소개하고 자세히 설명한 다음, 몇 가지 샘플 쿼리를 통해 실제로 작동하는 방식을 살펴봅니다.

추가 리소스 additional-resources

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab