← 모든 문서
Portal Studio 현장 가이드

대담하게 구축하십시오. 안전하게 게시하십시오.

고객 경험 및 개발자를 형성한 관리자를위한 한 가지 실용적인 참조. 그것은 실제 스튜디오 아키텍처, 지배적 인 릴리스 경로, 도움말 센터 소유권, 정체성, 마이그레이션, 구성 요소 계약 및 복구를 문서화합니다.

포털 문서 v2Administrator + 개발자Enterprise 릴리스 워크플로우의 특징1 8 월 2026
Administrator 가이드 · 건축

Studio가 무엇인지 알고

Portal Studio는 고객 기반 쉘을 소유합니다. 페이지, 구성 요소 배치, 브랜드 토큰, 반응형 행동, 탐색, 발러, 정체성 프레젠테이션, 티켓 여행 및 출시. 도움말 센터는 언어, 카테고리, 섹션 및 기사 콘텐츠를 소유하고 있습니다. 스튜디오는 보호 된 브리지를 통해 콘텐츠가 소비합니다. 두 번째 문서 저장소를 결코 만듭니다.

도움말 센터 + 티켓 + 정체 서비스Permission-safe 데이터 어댑터Portal 문서 v2 초안컴파일러 및 렌더링미리보기 및 게시 된 포털
1 층 규칙 : 미리보기 및 공개 페이지는 동일한 문서/컴파일 계약을 사용합니다. 출판은 관련 템플릿으로 결코 전환하지 않습니다.
Portal Studio · 워크스페이스 맵
라이브 캔버스데스크탑 · 고객
고객 포털미리보기 및 공개 렌더링에 사용되는 동일한 구조 문서
인터페이스 맵: 작업 레일, 라이브 캔버스 및 검사기 같은 안정적인 페이지와 노드 선택 대상.
Administrator · 시작

건물 앞에 완전한 readiness

  1. 열기 Portal Studio → 시작 → 준비.
  2. canonical Portal 주소를 확인하고 별도의 탭에서 엽니다.
  3. 로고, 브라우저 아이콘, 터치 아이콘, 소셜 이미지 및 테마 색상을 설정합니다.
  4. Help Center 언어 확인; 도움말 센터의 언어 권한을 변경, Studio가 아닌.
  5. 탐색 및 글로벌 기업 발기자를 구성합니다.
  6. 티켓 여행을 선택하고 최소 1개의 요청 양식을 구성하십시오.
  7. 최소 1개의 안전한 로그인 방법 활성화 및 검토 identity discovery.
  8. 품질 유지 및 서명 된 미리보기를 설정.
  9. 모든 블록 아이템이 명확하다 후 첫 번째 주관 된 릴리스를 만듭니다.

readiness 비율은 저장된 작업 공간 데이터 및 미리보기 상태로 계산됩니다. 자체 패널에 직접 항목 경로 선택.

관리자 · 구축

페이지 및 재사용 가능한 섹션을 작성하십시오.

  1. 열기 빌드 → 페이지 보호 시스템 페이지를 선택하거나 사용자 정의 페이지를 만듭니다.
  2. 경로, 제목, 액세스 모드 및 Locale 동작을 설정합니다. 보호된 시스템 루트는 삭제할 수 없습니다.
  3. 열기 구성 요소, 작업 또는 성숙에 의해 필터링 및 호환 슬롯의 구성 요소를 배치.
  4. 내용, 외관, 바인딩, 가시성 및 접근성을 위한 검수원을 사용하십시오.
  5. 반복된 구조를 위한 재사용할 수 있는 본; 조직을 유지하거나 변종에 있는 상표 다름.
  6. 미리 초안 및 운동 로딩, 빈, 오류, 게스트 및 서명 상태 저장.
Component library · Sanitized 인터페이스 맵
지식 검색GA · 고객 안전범주 그리드GA · 도움 센터기사 몸GA · DTO 번역요청 양식GA · 버전티켓 시간표베타 · 경고데이터 차트계획 · 블록 게시
인터페이스 맵: 범주, 호환성 및 성숙은 배치 전에 볼 수 있습니다. 계획 된 구성 요소 블록 출판; 베타 구성 요소는 명시된 릴리스 처리를 요구합니다.
Administrator · 브랜드 및 반응

실제 여행, 아니 한 행복한 화면

  1. 고객 지원, 서명 티켓, 청구 관리, 조직 또는 지식 핸오프를 선택하십시오.
  2. 전환 사람, 조직, 역할 및 도움말 센터 언어.
  3. 모바일, 대형 모바일, 태블릿, 노트북, 데스크탑, 넓은 및 초경화 지점을 검사합니다.
  4. 상속, 과다한 및 리셋 값 확인; 무효한 breakpoint 복제를 피하십시오.
  5. 키보드, RTL, 감소 모션, 로딩, 빈, 사용 불가 및 권한 상태를 실행합니다.
  6. Test Lab for accessibility, payload, route, 바인딩 및 렌더링기를 사용하여 리뷰 전에 찾을 수 있습니다.
녹색 캔버스는 공개 결정이 아닙니다. 지배적 인 선명도, 검토 국가, 기능 및 릴리스 증거는 포털이 게시 될 수 있는지 결정합니다.
관리자 · 경험

Zendesk-level Help Center를 중복 콘텐츠 없이 운영

  1. 카테고리, 섹션, 기사, 번역, 첨부 파일 및 템플릿 만들기 도움말 센터.
  2. 가능한 언어가 있다; 현지화 된 슬러그, 검색, 피드, SEO 및 기사 크롬 같은 권한을 따르십시오.
  3. Studio에서, 장소 지식 검색, 범주/ 자원 그리드, 피드, 주제 협정, 기사, 내용의 테이블, 피드백, 관련 및 이전 / 다음 구성 요소.
  4. 추천, 인기 및 최근 피드 구성; 티켓 흐름에 대 한 상황에 맞는 제안을 사용 합니다.
  5. 미리보기 no-results, 긴 기사, 첨부 파일, 피드백, 시계/보류 및 티켓 손전등.
  6. 깨끗한 현지 경로, canonical/hreflang, 구조화 된 데이터 및 캐시 유효성 검사 후 출판.
권위 경계: 도움말 센터의 문서 내용 및 고객 언어 편집. 지식이 발견되고 표시된 방법을 구성하는 포털 스튜디오를 사용합니다.
관리자 · 신원 및 단체

로그인을 안전하게 설정

  1. 열기 Identity & 조직 → 식별 그리고 적어도 하나의 로그인 경로가 활성화됩니다.
  2. 기본 방법, 등록 정책, 세션 기간, SSO-domain 강제 및 발견 행동을 선택하십시오.
  3. 시각적 라우팅 필드와 함께 제공 업체 추가: 유형, 도메인, 우선, 프리젠 테이션, 활성화 및 확인 된 상태. 비밀은 정체성 서브 시스템에 머물.
  4. SCIM 의 경우, 프로비저닝을 활성화하고 정확한 작업 공간 엔드포인트를 복사하여 토큰을 회전합니다. IdP에서 한 번의 토큰을 저장하십시오.
  5. 지도 주장 및 조직 회원, 그 다음 테스트 생성, 업데이트, 그룹 멤버쉽과 결정 테스트 테넌트.
  6. 미리보기 게스트, 고객, 위임 조직 및 발행 전에 차단 된 상태.
Studio 세션 쿠키를 보내지 마십시오. SCIM. 그것은 sessionless, workspace-bound bearer입니다 API. 사고 노출 후에 토큰을 자전하십시오.
관리자 · 티켓 여행

완전한 지원 여행을 비교

  1. 직접 양식, 마법사, 검색 우선, 허브 또는 서비스 데스크 항목을 선택하십시오.
  2. 이름, 판명된 요청 양식을 섹션과 접근 가능한 필드 라벨로 만듭니다.
  3. 시각적 조건, 라우팅, SLA 및 승인 단계 구축; 고급 JSON 는 검토 된 개발자 변경에 대한 것입니다.
  4. 목록, 세부사항, 실, 타임라인, 부착, 승인, SLA 및 대답 표면을 구성하십시오.
  5. 고객 조회, 서명 요청, 조직 가시성, 업로드 실패, 이메일 알림 및 지식 단말.
  6. 초안을 저장; 경로 어댑터 및 알림 경로 패스 preflight 후 만 게시.
Administrator · 검토 및 출시

의거한 출시를 통해 이동

Draft 저장리뷰인증: CE일정 및 게시관찰 또는 압연
  1. 검증 및 테스트 실험실을 실행하십시오. 발견을 차단 수정; 상황에 따라 허용된 경고를 인정합니다.
  2. 릴리스 노트 및 요청 검토 추가. 리뷰는 안정적인 페이지 / 노드 경로에 주석을 제기합니다.
  3. Approvers는 diff, 미리보기 여행, 권한 변경 및 증거를 검사합니다.
  4. 배경 노동자를 통해 게시 또는 일정. Leaving Studio는 내구성이 좋은 일을 취소하지 않습니다.
  5. 진행 상황을 보고, 건강 및 상관 관계 ID. 작업 관리에서 정지/리스트만.
  6. 중요한 경로, 정체성, 표 및 지식 검증. 필요한 경우의 immutable 사전 릴리스로 다시 롤.
기능 제품목적
보기 / 편집Inspect 또는 변경은 릴리스 권한없이.
리뷰 / Approve저작권 및 상표권의 제한적 의견.
일정 / 게시 / 롤백독립 생산 관리.
Identity / SCIM / 미그레이트 / 부품 / 진단민감한 전문 운영을 제한합니다.
Administrator · Migrate 및 확장

증거와 방법 뒤로 마이그레이션

  1. 공급자 청사진을 선택하고 건조한 뛰기를 만듭니다.
  2. 검토 발견 된 설정, unmapped 값, 콘텐츠 카운트 및 시각적 패리티 캡처.
  3. 완벽한 안전한 매핑과 구조화 된 디프를 다시 실행.
  4. 초안, 재난 수와 미리보기에 모든 보호 된 여행.
  5. 기록 허가; 수입 중에 현재 게시 된 릴리스를 덮지 마십시오.
  6. 의논문을 통해 출판하고 이주 보고서를 유지, ID 및 롤백 포인트를 함께 공개.
Developer extension guide · 건축

계약, 템플릿이 없습니다

안전한 확장은 안정적인 구성 요소 유형과 스키마를 등록하고 권한 및 데이터 요구 사항을 선언하며, 후보자를 통해 렌더링되며, 세례적인 고정 / 테스트를 제공합니다. arbitrary 테이블을 쿼리하지 마십시오. public Portal에 JavaScript 를 삽입하거나 다른 기사 저장소를 만들거나 릴리스 게이트를 우회하십시오.

포털 문서 v2

페이지에는 안정적인 노드, 슬롯, 속성, 바인딩, 반응형 오버라이드, 조건 및 접근성 메타데이터가 포함되어 있습니다.

Component 레지스트리

One contract feeds Studio, 컴파일러, 문서, 마이그레이션 및 성숙 검사.

데이터 소스 Registry

허용, 읽기 전용, 권한면 DTO는 중재 SQL 또는 동적 동작을 대체합니다.

1개의 연출자

미리보기 및 공공 출력 공유 컴파일, 위생화, 예산 및 실행 상태.

Developer · 구성 요소 계약

구성품 패키지 정의

더 낮은 케이스 네임스페이스 ID 및 세마틱 버전을 사용합니다. 패키지 검사 및 보안 검증이 독립적 인 확인을 수행하는 때문에 표시된 호환성 속성 이름을 모두 공급합니다.

{
  "schema_version": 1,
  "id": "acme.support_health",
  "slug": "acme-support-health",
  "name": "Support health",
  "version": "1.0.0",
  "entry": "renderer.php",
  "renderer": "server",
  "server_renderer": "renderer.php",
  "public_renderer": "public.js",
  "schema": {
    "type": "object",
    "properties": {
      "heading": {"type": "string", "maxLength": 120},
      "showSla": {"type": "boolean", "default": true}
    },
    "additionalProperties": false
  },
  "permissions": ["tickets.read"],
  "data_scopes": ["tickets.mine"],
  "accessibility": {
    "landmark": "section",
    "nameFrom": "heading",
    "emptyState": true,
    "errorState": true
  },
  "performance": {"max_js_bytes": 12000, "max_css_bytes": 8000},
  "performance_budget": {"js": 12000, "css": 8000, "requests": 0}
}

노드 모양

{
  "id": "node-support-health",
  "type": "custom.acme_support_health",
  "props": {"heading": "Support health", "showSla": true},
  "bindings": {"requests": {"source": "tickets.mine", "limit": 5}},
  "responsive": {"mobile": {"padding": "16px"}, "desktop": {"padding": "24px"}},
  "conditions": [{"field": "identity.signed_in", "operator": "equals", "value": true}],
  "a11y": {"label": "Support health"}
}
  • ID는 편집 및 마이그레이션에 걸쳐 안정적입니다.
  • 속성은 undeclared 필드와 unsafe HTML 를 거부합니다.
  • 모든 데이터-바운드 보기는 로딩, 빈, 권한 및 재발성 오류 출력을 정의합니다.
  • 컨테이너 구성 요소는 슬롯을 명명; 잎은 임의 어린이를 허용 할 수 없습니다.
  • Mark maturity 정직 : 계획 블록, 베타 전사, GA는 전체 증거를 요구합니다.
Developer · Data 소스 및 바인딩

사용 허가-안전 DTOs

  1. 기존의 도트 ID를 선택하여 tickets.mine, knowledge.featured 또는 customer.profile.
  2. Bind는 DTO가 선언한 유일한 필드입니다. 알려진 소스는 실패하지 않습니다 data_source.unknown.
  3. 이미 허가된 포털 컨텍스트를 통과; 무신뢰한 재산에서 workspace/customer identity를 허용하지 않습니다.
  4. 1–100 에 제한이 클램핑됩니다. 평상화, 지방 및 검색 값.
  5. 새로운 소스가 비례없는 경우, 안정된 정의, 안전한 매핑, 권한, 빈 행동 및 미리보기 구성을 함께 추가하십시오.
{
  "success": true,
  "source": "tickets.mine",
  "contract_version": 1,
  "items": [
    {"id": 42, "number": "REQ-42", "subject": "Example", "status": "open"}
  ]
}
데이터 소스는 읽기 전용입니다. Mutations는 명시된 공인 서비스 행동, 작업 공간 바인딩, CSRF/session 또는 곰 검증, 필요한 경우 및 유형 오류 봉투를 발급하는 데 필요한 불투명성을 요구합니다.
개발자 · 보안

신뢰 경계를 유지

경계선필요한 동작
작업 공간신뢰할 수있는 호스트 / 루트 / 세션에서 해결, 다음 실행하기 전에 각 읽기 및 쓰기를 수행.
HTMLPortal sanitizer/parser Allowlist 를 사용하십시오. 절대 위탁되지 않은 속성을 유지하지 마십시오. URLs, CSS 또는 스크립트.
미리 보기동일한 소스 창, 서명된 채널 버전 및 nonce를 요구합니다. 나는 unsolicited 메시지를 무시합니다.
정체성외부 문서에 비밀을 지키십시오. SCIM 는 bearer-authenticated, sessionless 및 workspace-bound입니다.
패키지트래버스, 절대 경로, 링크/특수 파일, 과사이즈 아카이브, 체크섬/신문 잡기 및 알 수없는 권한을 거부합니다.
오류안정적인 코드, 안전한 메시지, 복원성, 재약 및 상관 관계 ID를 반환; 로그 개인 예외 서버 측.
지식HelpCenterBridge를 통해 읽으십시오. 절대 저자 또는 확장에 대한 도움말 센터 기사.
{
  "success": false,
  "error": {
    "code": "studio.permission_denied",
    "message": "You do not have permission to publish the Portal.",
    "retryable": false,
    "correlation_id": "ps_…",
    "meta": {"capability": "publish"}
  }
}
개발자 · 패키지 및 마이그레이션

Inspect, 설치 및 업그레이드 원자로

  1. 넣기 component.json ZIP 루트에서 모든 경로 상대를 유지.
  2. 첫 번째 검사를 실행합니다. 설치자 캡 아카이브 500 항목 및 25 MB 추출; 보안 검증은 독립적 인 한계를 추가합니다.
  3. 출시 프로세스에서 예상 SHA-256 및 패키지 서명을 검증합니다.
  4. 버전 관리된 디렉토리에 설치합니다. 설치한 버젼을 변경하지 마십시오.
  5. schema의 변화와 알 수없는 호환성 필드를 파괴하기위한 속성 마이그레이션을 제공합니다.
  6. 초안의 구성품을 열고, 각 state/viewport/persona 정착물을 실행하고 주관을 통해 출판합니다.
  7. 롤백은 사전 immutable 구성 요소 / 문서 릴리스를 활성화합니다. 재현성 증거를 유지합니다.
개발자 · 테스트 및 출시

같은 릴리스 해시의 확장을 입증

php tools/portal_studio_certify.php --source-only --json
php tools/test_portal_studio_contract.php
php tools/test_portal_one_renderer.php
php tools/test_portal_studio_engineer.php
php tools/test_portal_component_contracts.php
php tools/test_portal_one_renderer.php
php tools/test_portal_shell_contract.php
php tools/test_portal_knowledge_contract.php
node node_modules/@playwright/test/cli.js test tests/e2e/portal-studio-shell-visual-contract.spec.js tests/e2e/portal-custom-code-runtime.spec.js

소스 게이트가 필요한 경우 충분하지 않습니다. 데이터베이스 / 이동, 실시간 브라우져 시각적, 정체성 보호, 권한 부여 - 격리, 접근성, 성능, 큐 / 드럼, 메일 / 위치, 백업 / 복원 및 같은 immutable 릴리스 해시에 배포 증거를 첨부하십시오. 알려진 필수 증거는 출시 실패해야합니다.

  • 단위: schema, 위생화, DTO 모양, 조건, 이동 및 유형 실패.
  • 계약: 로딩/비밀/오류/교육, 성숙, 슬롯, 바인딩 및 원 렌더링 패시티.
  • 브라우저: 키보드, 초점, semantics, RTL, 급상승/썰물은, 동의를 감소시키고 각 틈점.
  • 보안: 크로스 워크스페이스 프로브, 위조된 작업, 패키지 공격, 미리보기 스푸핑 및 비밀 누설.
  • 가동: 튼튼한 진도, 남/반전, 정지/레트리/resume의 스케줄러 심박수 및 rollback.
Administrator + 개발자 · 복구

국가 및 상관 ID로 문제 해결

상태무엇을 해야 하는가
제출지정된 기능을 요청합니다. 숨겨진 UI는 편의를; 백엔드는 항상 그것을 시행한다.
검증보고된 페이지/node/field를 열고, 그것을 수정하고, 그 후에 rerun preflight.
충돌최신 개정을 다시로드하고 변경 및 반복적으로 의도적으로 비교합니다. 과잉하지 마십시오.
오프라인 / 재시동할 수 있는초안을 유지하고 연결성을 복원하고 작업 상태를 재시동하고 내구성있는 작업을 확인합니다.
지방 / 사용 불가상관관계 ID 및 타임스탬프를 복사하여 지원하십시오. 비밀 또는 개인 예외 텍스트를 붙여넣지 마십시오.
실패한Inspect preflight/job 산출, 재try만 재시동할 수 있는 단계, 또는 마지막 건강한 방출에 뒤 목록.
SCIM 401/403endpoint/workspace, bearer token을 확인하고 state와 회전을 활성화하십시오. 브라우저 세션 쿠키를 사용하지 마십시오.
지식은 stale입니다Help Center의 Locale/publication을 검증한 후, 캐시 유효성 검사 및 깨끗한 현지화 경로가 검사합니다.

이 가이드는 인쇄 읽습니다. 인쇄를 사용하여 → 통제되는 따로따로 사본을 위한 PDF 로 저장하십시오.