Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Slate 통합 앱과 공개 앱

Slate는 Foundry 사용자용 Integrated application과 Foundry 계정이 없는 사용자를 위한 Public application을 지원합니다. 데이터를 읽고 업무 액션을 실행하는 일반적인 Foundry 앱에는 통합 앱을 사용합니다.

통합 앱

통합 앱은 Foundry의 위젯, 함수, 이벤트와 액션 등 플랫폼 기능을 사용합니다. 조직의 Foundry 사용자에게 게시하며 사용자는 자신에게 부여된 권한에 따라 앱을 보거나 편집합니다. 앱 생성에서 Integrated application을 선택합니다.

공개 앱

공개 앱은 Foundry 계정이 없는 협력사, 공급업체나 직원이 정보를 제출하거나 데이터를 업로드하는 화면을 제공합니다. 제출과 업로드에는 구성한 검증 로직과 안전장치가 적용됩니다.

업로드 데이터를 Foundry 파이프라인에 연결할 수 있으므로 수집을 위해 별도의 외부 시스템과 데이터 연결을 만들 필요가 없습니다. 제작자는 Slate의 위젯, CSS, 함수와 이벤트를 사용하며 별도 서버, DNS와 인증 체계를 설정하지 않고 앱을 만들 수 있습니다.

읽기 제한

공개 앱은 앱 밖의 Foundry 객체, 데이터셋, 액션이나 저장 파일을 읽거나 사용할 수 없습니다. 저장된 이미지와 동영상도 여기에 포함되므로 이 리소스들을 요구하는 위젯과 구성 요소는 사용할 수 없습니다.

앱에 필요한 데이터와 리소스를 앱 자체에 포함합니다. 이미지와 사용자 글꼴은 Base64로 인코딩하여 넣을 수 있습니다. 제공되는 웹 글꼴은 그대로 사용하며 사용자 글꼴은 별도로 선언합니다.

PNG 이미지를 앱에 포함

다음 코드는 실제 PNG 파일을 읽어 HTML 입력에 붙여 넣을 이미지 태그를 만듭니다. 실행 환경의 SLATE_PNG_FILE에는 포함할 PNG의 경로를 먼저 제공해야 합니다.

import base64
import os
from pathlib import Path

png = Path(os.environ["SLATE_PNG_FILE"]).read_bytes()
payload = base64.b64encode(png).decode("ascii")
print(f'<img src="data:image/png;base64,{payload}" alt="앱에 포함한 이미지">')

출력 태그는 외부 이미지 URL 대신 data:image/png;base64, 뒤에 파일 내용을 담습니다. 이 HTML을 앱에 저장하여 사용합니다.

WOFF2 사용자 글꼴

실제 WOFF2 글꼴 파일의 경로를 SLATE_WOFF2_FILE에 제공하고 다음 코드로 CSS를 만듭니다.

import base64
import os
from pathlib import Path

font = Path(os.environ["SLATE_WOFF2_FILE"]).read_bytes()
payload = base64.b64encode(font).decode("ascii")
print("@font-face {\n"
      "  font-family: 'EmbeddedFont';\n"
      f"  src: url('data:font/woff2;base64,{payload}') format('woff2');\n"
      "}")

출력한 @font-face를 Slate의 Styles 패널에 넣습니다. 앱의 스타일에서 font-family: 'EmbeddedFont';로 사용합니다.

제작 권한

공개 앱을 생성하거나 편집하려면 기존 파일 및 프로젝트 권한에 더해 Manage public Slate applications 워크플로 접근 권한이 필요합니다. 관리자는 Control Panel의 Security and governance 아래 Organization permissions에서 이 권한을 부여합니다.

게시 후 접근

게시된 공개 링크를 가진 비Foundry 사용자는 앱을 볼 수 있지만 앱 정의를 편집할 수는 없습니다. 앱에 구성한 데이터 제출과 업로드 기능은 사용할 수 있습니다.

공개 앱은 Foundry와 같은 네트워크에서 호스팅됩니다. 따라서 사용자 기기가 해당 Foundry 플랫폼 인스턴스에 네트워크로 접근할 수 있어야 합니다. 제한된 내부 네트워크에서만 접근 가능한 인스턴스는 이 방식으로 공개 인터넷 앱을 제공할 수 없습니다.

기본적으로 검색엔진에 색인되지 않으므로 사용자에게 링크를 전달해야 합니다. 검색엔진 색인 여부는 네트워크 접근이나 링크 공유의 보안 설정을 대신하지 않습니다. 게시와 게시 취소는 공개 앱의 게시 절차를 따릅니다.