components.json 파일 및 형식 이해

테마에는 사용된 구성요소를 지정하는 /ThemeName/components.json에 위치한 components.json 파일이 있어야 합니다.

이 파일은 적합한 JSON을 포함해야 하며 최소한 파일에는 빈 JSON 배열 []이 포함되어야 합니다.

components.json 파일 구문은 모든 로컬 구성요소를 나열하며 구성요소 범주화를 완전히 지원합니다. (원격 구성요소는 구성요소 카탈로그에 등록됩니다.)

어떤 구성요소가 테마 레벨 components.json 파일에 추가되든지(없음 포함), Oracle Content Management는 사용자에게 제공되는 기본 구성요소 집합을 채웁니다. 이 기본 집합은 소스 코드에 정의됩니다. 다음 목록은 인라인 프레임으로 렌더링된 구성요소 및 시드된 구성요소를 보여줍니다. 또한 서비스 레벨에 등록되어 인스턴스의 사용자에게 제공되는 원격 구성요소는 사이트 작성기에서 사용할 수 있습니다.

다음 로컬 구성요소는 Oracle Content Management에 포함되어 있습니다.

이름 유형 ID

제목

scs-title

scs-title

단락

scs-paragragh

scs-paragragh

이미지

scs-image

scs-image

갤러리

scs-gallery

scs-gallery

갤러리 그리드

scs-gallerygrid

scs-gallerygrid

문서

scs-document

scs-document

단추

scs-button

scs-button

scs-map

scs-map

구분선

scs-divider

scs-divider

스페이서

scs-spacer

scs-spacer

YouTube

scs-youtube

scs-youtube

소셜 표시줄

scs-socialbar

scs-socialbar

비디오

scs-video

scs-video

기사(사용자정의 구성요소)

scs-component

scs-comp-article

헤드라인(사용자정의 구성요소)

scs-component

scs-comp-headline

이미지 및 텍스트(사용자정의 구성요소)

scs-component

scs-comp-image-text

이같이 인라인 프레임으로 렌더링된 구성요소는 Oracle Content Management에 포함되어 있습니다. 등록된 원격 구성요소는 포함되지 않습니다.

이름 유형 ID

대화

scs-app

대화

문서 관리자

scs-app

문서 관리자

폴더 목록

scs-app

폴더 목록

파일 목록

scs-app

파일 목록

Facebook 좋아요

scs-app

Facebook 좋아요

Facebook 추천

scs-app

Facebook 추천

Twitter 팔로우

scs-app

Twitter 팔로우

Twitter 공유

scs-app

Twitter 공유

일반 형식

components.json 파일의 일반 형식은 다음과 같습니다.

  • 구성요소의 속성은 각 구성요소 내에 지정됩니다. 최상위 레벨 "components" 또는 "apps" 속성은 사용되지 않습니다.

  • 각 구성요소에는 "type" 속성이 있습니다. 구성요소는 특정 값만 가질 수 있습니다(모든 가능한 값은 기본 구성요소의 테이블에 나열됨).

  • 각 구성요소에는 "id" 속성이 있으며 고유해야 합니다. 이 속성은 동일한 "type"의 구성요소를 구별하는 데 사용됩니다. 이전에는 앱에 "appName" 속성이 있었습니다. "appName""id" 속성을 사용할 수 없을 때 여전히 작동하지만 "appName" 속성은 사용되지 않습니다.

  • 각 구성요소에는 사용자 인터페이스의 표시 이름인 "name" 속성이 있습니다. 폴백 값이 지정되지 않은 경우, 구성요소의 경우 값은 해당하는 기본 구성요소의 이름이고 원격 구성요소의 경우 값은 ID입니다.

다음은 components.json 파일의 예입니다.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                ...
            },
            {
                ...
            },...
        ]
    },
    {
        "name": "My own category name",
        "list": [ ... ]
    }
]

일반 구조는 범주 객체의 JSON 배열입니다. 각 범주 객체에는 "name" 속성과 "list" 속성이 있습니다. "name" 속성은 지역화된 문자열에 매핑되는 키일 수 있습니다. 이 기본 범주가 충분하지 않으면 고유의 범주 이름(지역화되지 않음)을 제공할 수 있습니다. 다음 표는 사용 가능한 기본 범주와 해당 키를 나열합니다.

범주 이름(영어)

COMP_CONFIG_CONTENT_CATEGORY_NAME

콘텐츠

COMP_CONFIG_CUSTOM_CATEGORY_NAME

사용자정의

COMP_CONFIG_MEDIA_CATEGORY_NAME

매체

COMP_CONFIG_SOCIAL_CATEGORY_NAME

소셜

COMP_CONFIG_TEXT_CATEGORY_NAME

텍스트

각 범주 객체의 "list" 속성은 구성요소 객체의 배열을 포함합니다. 각 구성요소 또는 객체에는 "type""id" 속성이 있어야 합니다. 기타 속성은 선택사항입니다.

  • "type" 속성은 기본 구성요소에 있는 유형 중 하나와 같아야 합니다. "type"이 아직 없으면 구성요소가 표시되지 않습니다.

  • "id" 속성은 구성요소 간에 고유해야 합니다. "id"가 이미 존재하면 구성요소가 표시되지 않습니다.

  • "name" 속성은 사용자 인터페이스에서 구성요소의 표시 이름입니다. 앱(지금 원격 구성요소)에 대한 이전 "appName" 속성을 대체합니다.

  • 다른 모든 속성은 이전 릴리스와 동일하게 취급됩니다.

components.json에 새 구성요소 추가

기본 구성요소 수정은 허용되지 않습니다. 그러나 기존 기본 구성요소를 기반으로 새 구성요소를 생성할 수 있습니다. 예를 들어, 기본 텍스트를 설정하는 "scs-title" 구성요소를 기반으로 새 구성요소를 생성할 수 있습니다. 새 구성요소 추가에 필요한 최소 작업은 "type""id" 속성을 지정하는 것입니다.

  • "type"은 기본 구성요소에 있는 유형 중 하나와 같아야 합니다. "type"이 아직 없으면 구성요소가 표시되지 않습니다.

  • "id"는 구성요소 간에 고유해야 합니다. "id"가 이미 존재하면 구성요소가 표시되지 않습니다.

다음은 새 제목 구성요소를 추가하는 코드의 예입니다. 이 구성요소는 기본 제목 구성요소와 함께 표시됩니다.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline"
            }
        ]
    }
]

다음은 표시 이름 및 기본 텍스트와 함께 새 제목 구성요소를 추가하는 코드의 예입니다.

[
    {
        "name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
        "list": [
            {
                "type": "scs-title",
                "id": "my-headline",
                "name": "My Headline",
                "initialData": {
                    "userText": "This is a second title component"
                }
            }
        ]
    }
]

제목 구성요소는 기본 제목 구성요소의 모든 속성을 기반으로 가져와서 그 위에 테마 레벨 수정사항을 적용하는 방식으로 새 구성요소를 생성합니다.

역 호환성

이전 형식의 components.json 파일을 아직 읽을 수 있습니다.

  • 최상위 레벨 "components" 또는 "apps" 속성이 있는 파일.

  • 파일에 "apps" 속성이 있으면 이 속성 아래의 사용자 정의 원격 구성요소가 계속 로드됩니다.

  • 파일에 최상위 레벨 "apps" 속성이 있으면 그 아래에 나열된 원격 구성요소는 "scs-app" 유형으로 간주됩니다.

  • "appName" 속성이 있으면 "id""appName" 값으로 설정합니다. 표시 이름은 "name"(지정된 경우)과 동일하거나 "id" 값으로 폴백됩니다.