본문으로 건너뛰기

로컬·클라우드·공유

릴리스 범위

Local 저장과 portable file은 기본 범위입니다. Cloud member 초대, review link, Publication과 Embed는 V2 계획으로 구분합니다.

Local과 Cloud의 공통점

저장 위치가 달라도 Report와 Flow의 의미는 같습니다.

LocalCloud
저장 위치사용자가 선택한 컴퓨터 폴더로그인한 Workspace의 Project
기본 문서.pxreport, .pxflow와 Project packagemanaged Report·Flow revision
실행Local Runtime허용된 Cloud Runtime
결과immutable ResultSnapshotimmutable ResultSnapshot
Component packageProject dependency와 local environmentProject dependency와 managed environment

Report block·table key와 Flow connection, Node key, binding, Function·Component version, type, unit과 Run provenance는 저장 위치를 바꿔도 유지됩니다.

Local 파일 열기와 Recent

Local에서는 .pxreport, .pxflow 또는 .pxproject를 있는 자리에서 열고 그 자리에 저장합니다. 파일을 다른 폴더로 옮기는 일은 사용자가 직접 할 때만 일어납니다.

  • Recent에는 원본 위치와 마지막 접근 상태를 표시합니다.
  • 파일이 이동했거나 권한이 없으면 새 위치를 선택합니다.
  • Recent에서 항목을 지워도 원본 파일은 삭제하지 않습니다.
  • Component package dependency가 없으면 target을 바꾸지 않고 exact package/version과 설치 동작을 표시합니다.

Local 작업을 Cloud Project로 옮기기

Cloud로 올리기는 함께 옮겨야 하는 항목 전체를 확인하는 과정입니다. Report·Flow 하나만 올려도 그것이 사용하는 source, dependency와 Result가 같이 필요합니다.

  1. 대상 Workspace와 Project를 선택합니다.
  2. 함께 올라갈 Report·Flow revision, SDK source, package lock, 필요한 Component package와 선택 Result를 확인합니다.
  3. 제외되는 항목을 확인합니다. secret, local file permission과 기존 공유 권한은 옮기지 않습니다.
  4. 같은 semantic key가 있으면 새 문서, 새 revision 또는 취소 중 하나를 선택합니다.
  5. upload 뒤 Cloud target과 원래 Local 파일의 관계를 확인합니다.

원본 Local 파일은 그대로 남습니다. 이름이 같은 Flow가 이미 있어도 4단계에서 사용자가 고른 선택(새 문서·새 revision·취소)대로만 처리합니다.

Portable Project package

여러 Report·Flow, SDK source, dependency와 승인된 Result를 함께 옮겨야 하면 .pxproject를 사용합니다.

text
Project export plan
→ 포함할 Report·Flow revision 선택
→ package dependency closure 확인
→ 선택 Result와 artifact 확인
→ secret·권한 제외 확인
→ portable package 생성

Package를 가져올 때는 기록된 exact digest를 대조합니다. cryptographic signature 검증과 current revocation 확인은 구현되지 않았습니다. original package bytes는 package artifact owner가 실제 artifact를 retained한 경우에만 recovery evidence로 사용하고 Flow 저장값에서 추론하지 않습니다. saved exact ComponentRef는 보존합니다. 설치되지 않은 third-party Component는 read-only unsupported로 유지합니다. exact ProjectScope data-path isolation은 구현됐지만 production install admission과 third-party Component activation은 차단되며, Project authorization과 execution-trust closure가 구현·검증된 뒤에만 별도 admission을 열 수 있습니다. 사용자 승인은 present-unverified·invalid·revoked signature나 stale revocation evidence를 덮어쓰지 않으며, 현재 runtime에 안전한 inactive install 상태가 있다는 뜻도 아닙니다.

Report와 선택 Component artifact

Report는 .pxreport revision으로 편집하고, 선택 Component의 output은 해당 Component의 typed artifact로 관리합니다.

항목생성 시점portable 처리
Report revisionreport = px.Report(...)로 만든 객체의 .save() 또는 Report Workbench Saveeditable .pxreport revision 포함
Report PDF artifactReport Output → Save PDF to Project선택한 immutable PDF revision 포함 가능
Component Document artifact해당 Component가 포함된 Flow Run선택한 immutable artifact 포함 가능
Component PDF artifactComponent가 지원하는 명시적 Export PDF독립 정적 파일 또는 Project artifact

Report PDF는 exact .pxreport revision과 채택한 Result를 고정합니다. Component Document/PDF는 Component result와 output 계약을 따르며 core Report revision과 별도로 저장합니다.

공유와 전달

목적방식상태
다른 Project에서 편집 가능한 Report·Flow 재사용portable package import기본 file 계약
인터넷 없이 Report·Flow와 선택 Result 확인dependency closure를 포함한 portable package기본 file 계약
Report를 정적 성과품으로 전달Report Output → PDFReport 기능
Component Document를 정적 파일로 전달Component가 제공하는 export/downloadComponent 기능
같은 조직에서 공동 작업Cloud Project member와 권한V2 계획
고정된 Flow를 읽기 전용으로 전달Publication VersionV2 계획
외부 HTML에서 Flow viewer 표시Publication EmbedV2 계획
사용자 입력을 받는 앱 전달Active PXFLOW App DeploymentV2 계획

공유 대상은 mutable latest를 암묵적으로 가리키지 않습니다. exact revision과 dependency closure를 고정합니다. 다른 Project로 복사한 Flow는 원본과 별도 revision history를 가집니다.

오프라인 Result

오프라인에서도 결과를 확인해야 하면 export plan에서 포함할 immutable ResultSnapshot과 large-result resource를 선택합니다. 아직 완료되지 않은 Run, 만료되는 preview와 Cloud-only secret은 portable 결과처럼 포함하지 않습니다.

Report PDF와 Component artifact를 포함할 때는 source Report revision 또는 exact Flow Run과 provenance를 함께 확인합니다.

Function과 source 배포

Function·Component 개발자는 실행에 필요한 파일과 dependency만 package에 포함합니다. secret이나 조직 전용 credential을 source에 넣지 않습니다. Local에서 실행되는 code는 사용자의 컴퓨터에 전달되므로 완전한 비공개를 보장할 수 없습니다. 보호가 필요한 계산은 Cloud Runtime에서 실행하고 Local에는 공개 interface와 검증 정보만 제공합니다.

이동 전 체크리스트

  • exact Report·Flow revision을 선택했습니다.
  • SDK source와 package lock의 포함 여부를 확인했습니다.
  • 필요한 Component package의 package key와 version을 확인했습니다.
  • 포함할 Result·artifact와 제외할 secret을 확인했습니다.
  • 같은 semantic key 충돌 처리 방식을 선택했습니다.
  • 원본 Local 파일과 새 Cloud target이 서로 자동 동기화되지 않음을 확인했습니다.

이어서 보기