릴리스 체크리스트 앱과 위젯 만들기
가상의 Release checklist는 작업을 추가하고 완료 상태를 바꾸며 All, Active, Completed 필터와 남은 작업 수를 보여 줍니다. 이 실습은 새 객체 유형과 액션을 만드는 경로, 기존 모델을 재사용하는 경로와 Workshop 위젯 경로를 설명합니다. 실제 수행에는 리소스를 만들 수 있는 프로젝트와 온톨로지가 필요합니다. 생성된 이름과 화면 배치는 달라질 수 있으므로 조작 결과를 기준으로 확인합니다.
새 모델을 사용하는 앱 생성
시작 화면에서 Type을 OSDK application, Theme을 Blueprint components로 선택하고 저장 위치 및 온톨로지를 정합니다. 다음 프롬프트를 입력합니다. Pilot tutorial과 Example Ontology 같은 화면 이름은 예시이며 실제 프로젝트를 사용합니다.
Build a todo application called Release checklist.
Create a new Release Checklist Task object type with an ID, title, and completed
status, plus actions to add a task, mark it complete or incomplete, and delete it.
Show a clear list with All, Active, and Completed filters and a remaining-task
count.
Use Blueprint components and synthetic sample tasks: Review the checklist,
Prepare the demo, and Confirm the release.
Do not modify any existing Ontology definitions.
Modify Ontology permissions에서 새 객체 유형과 액션 유형 생성을 허용합니다. 기존 정의의 두 Default edit permissions는 Do not allow modifications로 유지하고 저장합니다. 시작 화면에 Pilot can create new entities but not modify existing ones가 표시되는지 확인한 뒤 Create application을 누릅니다.
제안된 모델 확인
생성이 끝나면 Ontology 탭에서 Release Checklist Task의 ID, Title, Completed 속성과 작업 추가, 완료 상태 변경, 삭제 액션을 확인합니다. Proposed by Pilot은 아직 Foundry에 구현하지 않은 제안입니다.
객체 노드의 데이터 미리보기에서 요청한 세 시험 작업이 있는지 확인합니다. 기존 유형을 재사용했거나 모델이 다르면 대화로 차이를 설명하고 수정 결과를 확인합니다.
Notional data 조작 확인
Preview의 데이터소스가 Notional data인지 먼저 확인합니다.
다음 일곱 항목을 확인합니다.
Verify the published checklist를 입력하고Add task를 누릅니다. 작업이 나타나고 남은 수가 하나 늘어야 합니다.- 완료로 표시하면 체크박스가 선택되고 남은 수가 하나 줄어야 합니다.
- Completed 필터에서 방금 작업이 보여야 합니다.
- Active 필터에서는 완료한 작업이 없어야 합니다.
- All로 돌아가 미리보기를 새로고침합니다. 작업과 완료 상태가 유지되어야 합니다.
- 미완료로 바꾸면 남은 수가 다시 늘어야 합니다.
- 시험 작업을 삭제하면 해당 작업만 사라지고 원래 표본은 남아야 합니다.
실패한 조작은 실제 결과와 기대 결과를 Pilot에 설명하고 수정 후 다시 확인합니다. 이 단계는 로컬 미리보기 확인이며 운영 권한과 실제 온톨로지 배포를 검증한 것은 아닙니다.
온톨로지 배포 브랜치
오른쪽 위 Deploy로 체크리스트를 엽니다. Main에 새 정의가 없으면 Implement Ontology entities에서 Not found로 보일 수 있습니다.
Create branch를 선택합니다. 처음 Deploy에 들어갈 때 생성 창이 자동으로 열릴 수도 있습니다. 예시 브랜치 이름 Release checklist tutorial, Location, 객체 유형 하나와 액션 세 개를 확인하고 생성합니다. Global Branching이 활성화되어야 하며 비활성 버튼은 표시된 이유를 확인합니다.
구현 및 객체 인덱싱을 기다립니다. 인덱싱 중에는 액션 실패나 데이터 누락이 있을 수 있습니다. 왼쪽 Branch와 Preview 위 Production data on branch를 확인합니다. 로컬 seed 작업과 실제 브랜치 레코드는 별개이므로 새 유형은 처음에 비어 있을 수 있습니다.
Validate the deployment branch 같은 시험 작업을 추가하고 완료, 필터, 새로고침과 삭제를 확인합니다. 끝나면 시험 작업을 제거하고 View branch를 엽니다.
온톨로지 제안 검토와 병합
Global Branching에 의도한 네 리소스가 있는지 확인합니다. Create proposal에서 이름과 설명을 입력하고 생성합니다.
인덱싱을 기다린 뒤 Changes에서 기존 무관한 정의를 바꾸지 않고 필요한 객체와 액션만 생성하는지 확인합니다. Overview에서 리소스 검사와 필요한 승인을 확인합니다. 예시 화면의 자동 승인을 실제 조직 정책으로 가정하지 않습니다. Merge proposal의 확인창에서 병합하고 Merged를 기다립니다.
Pilot으로 돌아가 Switch to Main을 선택하고 All entities up to date on Main을 확인합니다. Pilot이 생성한 액션의 기본 제출 조건은 생성 사용자만 허용하므로 공유 전에 Ontology Manager에서 대상 사용자의 접근을 구성합니다.
앱, CI와 릴리스
Configure application and subdomain > Configure application에서 앱 이름과 조직을 고릅니다. 조직 선택 후 나오는 서브도메인의 가용성 검사를 기다리고 생성합니다.
앱 카드의 Application scope up to date를 확인합니다. Domain pending approval이면 관리자가 Control Panel에서 승인해야 호스팅할 수 있습니다.
Pass all CI checks에서 Generate deployment files to enable checks 또는 Update files를 선택합니다. 릴리스할 커밋의 상태가 SUCCEEDED가 될 때까지 기다립니다. 실패하면 빌드 출력을 확인하여 Pilot에 수정하게 하고 새 커밋의 결과를 확인합니다.
Tag and release에서 브랜치 또는 커밋, 최근 태그를 확인하고 Patch, Minor, Major 또는 Custom을 선택합니다. 아래 Releasing의 결과를 확인하여 확정합니다. 예시 0.0.2는 실제 환경의 버전과 다를 수 있습니다.
태그 생성은 도메인 승인이나 웹사이트 가용성 확인이 아닙니다. 릴리스 빌드 성공과 도메인 승인을 마친 뒤 호스팅 앱을 열고 가상 시험 작업으로 같은 일곱 조작을 확인합니다. 실제 레코드에 액션을 실행하기 전 데이터소스와 권한을 확인합니다.
기존 작업 모델 재사용
시작 화면에서 OSDK application, 테마와 위치를 선택합니다. Add context > Add object types에서 기존 Task 유형의 상세를 열어 Select 및 Confirm selection으로 추가합니다. Add action types에서 해당 객체로 필터링하여 추가, 완료 변경과 삭제 액션을 선택합니다.
정의 생성과 수정을 모두 금지하고 선택한 기존 정의만 사용하도록 프롬프트에 명시합니다. 입력 아래 네 첨부 태그와 Pilot cannot make changes to the Ontology를 확인합니다.
생성 후 Ontology는 예시 기준 Existing 4, Proposed 0이고 각 유형이 수정 금지여야 합니다. seed 데이터에서 조작을 확인한 뒤 Production data로 바꾸고 새로고침을 기다립니다. 별도 가상 시험 작업으로 실제 액션을 확인하고 제거합니다. 운영 목록은 seed 목록과 별개입니다.
Deploy에서 기존 정의가 바뀌지 않았다면 Main 최신 상태를 확인합니다. 그런데 Create deployment branch가 자동으로 열리면 Cancel합니다. 앱 구성, CI와 릴리스는 앞 절차를 따릅니다.
기존 모델로 위젯 제작
Custom widget set을 선택하고 같은 객체와 세 액션을 첨부합니다. 정의 생성 및 수정은 금지하고 다음 프롬프트를 사용합니다.
Build a custom Workshop widget set called Shared workshop release checklist using
only the selected existing Release Checklist Task object type and the selected
Add Task, Mark Task Complete or Incomplete, and Delete Task actions.
Do not create new Ontology entities or modify any existing definitions.
Include a task input, completion checkboxes, per-task delete controls,
All/Active/Completed filters, and a remaining-task count.
Use Blueprint components and synthetic seed tasks Review the checklist,
Prepare the demo, and Confirm the release for the preview.
Create widget set 후 Preview에서 위젯과 Notional data를 선택합니다. 일곱 조작 외에 Enter로 작업을 제출하는 동작도 확인합니다. 샌드박스가 폼 제출을 막으면 명시적 버튼 및 키보드 처리기로 바꾸도록 요청하고 두 입력 방식을 다시 확인합니다.
표본은 seed data로 등록되어야 하며 위젯을 열 때 액션을 자동 제출하여 생성하는 방식이 아닌지 확인합니다. Production data에서 별도 시험 작업을 만들고 완료, 필터, 보존과 삭제를 확인합니다.
Deploy에서 정의가 Main 최신이면 불필요한 배포 브랜치 창을 취소합니다. Generate SDK의 Update SDK 등 필요한 작업을 수행하고 Widget SDK generated, Widget SDK installed, On latest를 기다립니다. 필요한 경우 Install 또는 Upgrade to latest를 누릅니다.
CI 통과 후 태그 및 릴리스를 만들고 새 태그가 Deployed version으로 표시될 때까지 기다립니다.
Workshop에 게시 위젯 삽입
프로젝트에 Workshop 모듈을 만들고 Add widget > Foundry & custom apps > Custom widget을 선택합니다.
Widget setup의 Select에서 게시한 위젯 집합을 선택하고 Widget에서 체크리스트를 고릅니다. Version은 게시 버전을 선택합니다. 예시 버전은 0.0.3입니다.
이 예시는 컨테이너를 채우는 위젯이므로 Display의 Row height를 Flex로 설정합니다. Auto (max)는 이 예시에서 높이가 0이 되었습니다. 주변 섹션도 조정하며 예시에서는 한 섹션의 Column width를 Flex로 사용합니다. 다른 위젯에는 해당 자동 크기 규칙을 적용합니다.
Save and publish 후 View를 엽니다. Dev mode가 켜져 있으면 Pause 또는 Stop하여 개인 개발 오버라이드를 해제한 뒤 게시 버전을 확인합니다. 게시 버전 선택만으로 Dev mode가 꺼지지는 않습니다. 전체 페이지 새로고침을 포함한 일곱 조작을 반복하고 시험 작업을 삭제합니다. 이 기존 모델 예시는 매개변수나 이벤트가 없으며 추가했다면 각각 Workshop 연결을 별도로 확인합니다.
새 모델을 만드는 위젯
Custom widget set에서 새 객체/액션 생성만 허용하고 기존 정의 수정은 금지합니다. 다음 요청을 사용합니다.
Build a custom Workshop widget set called Workshop release checklist.
Create a new Widget Checklist Task object type with an ID, title, and completed
status, plus actions to add a task, mark it complete or incomplete, and delete it.
Show a clear task list with All, Active, and Completed filters and a remaining-task
count.
Use Blueprint components and synthetic sample tasks: Review the checklist,
Prepare the demo, and Confirm the release.
Do not modify any existing Ontology definitions.
생성 후 새 객체 하나와 액션 세 개가 Proposed인지 확인합니다. 기존 정의를 재사용했다면 서로 다른 새 API 이름을 만들고 위젯을 갱신하도록 요청합니다. seed 데이터와 Enter 제출을 시험한 뒤 온톨로지 배포 브랜치를 만들고 위젯의 Branched data 표시를 확인합니다. 시험 작업을 삭제한 후 제안을 검토 및 병합하고 Main으로 돌아갑니다.
새 정의가 포함되도록 SDK를 갱신하고 On latest와 CI SUCCEEDED를 확인한 뒤 릴리스합니다. 미리보기 시간 초과나 새 엔터티를 찾지 못하는 CI는 문제 해결과 SDK 배포를 확인합니다.
위젯 제목 매개변수
이 새 모델 예시는 문자열 Heading을 생성하지만 실제 생성 위젯은 다를 수 있습니다. Workshop의 Widget setup > Parameters > Heading에서 Select string variable을 고르고 New string variable > Static으로 만듭니다. Default value를 Workshop release tasks, 변수 이름을 Checklist heading으로 설정합니다.
위젯과 섹션 크기를 정하고 저장 및 게시한 뒤 View에서 Dev mode를 일시 중지합니다. 일곱 조작과 전체 새로고침 뒤 제목 및 완료 상태가 유지되는지 확인하고 시험 작업을 제거합니다. 이 예시에는 이벤트가 없으며 이벤트를 추가하면 별도 연결과 확인이 필요합니다.