반응형

"빠른 동기화" 베타 기능을 소개할 수 있어 기쁩니다. 이 기능을 사용하면 데이터 업데이트 후 1~2초 이내에 다른 사용자들에게도 업데이트 내용이 반영됩니다.

전에 사용자들은 최신 데이터를 보기 위해 수동으로 앱의 동기화 버튼을 누르거나 최대 30분까지 기다려야 했습니다. 만약 사용자들이 이미 만료된 데이터를 기준으로 업무를 진행하게 되면 문제가 발생할 수 있습니다. 예를 들어, 작업 할당 앱에서 특정 작업을 누구나 선택해서 작업을 진행할 수 있다고 가정해 보겠습니다. Lydia와 Ted는 앱을 근무가 시작되는 오전 8시 30분에 열어 A 작업이 가능하다는 것을 확인했습니다. Ted는 8시 35분에 작업을 선택하여 할당받았습니다. 하지만 앱이 이 변경사항을 즉시 반영해주지 않기 때문에, Lydia는 아직 A 작업을 아무도 선택하지 않았다고 생각하고 작업을 선택하려는 시도를 했습니다. 이 경우, 앱의 개발 방식에 따라 Lydia는 아래 중 한 가지 이슈를 겪게 됩니다:

  • 작업이 Lydia에게 넘어가지만, Ted는 아무것도 모르고 끝까지 작업을 완료합니다.
  • 작업을 선택할 수 없다는 에러 메시지가 보입니다. Lydia는 시간을 낭비했기 때문에 짜증이 납니다.

빠른 동기화 기능이 활성화되면 Lydia는 동기화 버튼을 누르지 않아도 Ted가 해당 작업을 할당받았다는 것을 바로 확인할 수 있게 됩니다.

이 기능은 사용자들이 업데이트된 데이터(Automation에 의한 업데이트 내용 포함)를 다른 작업 없이 빠르게 확인할 수 있게 해줍니다. 이로 인해 사용자들은:

  • 처리 시간을 단축하고 오류를 줄여 불필요한 작업을 하지 않을 수 있으며
  • 시간 낭비와 혼란을 겪지 않을 수 있습니다.

경고를 포함한 추가 세부 정보는 아래에서 확인할 수 있습니다.

베타 기능은 테스트 환경에서의 사용을 위해 도입되었습니다. 이를 실제 운영 앱에 적용하는 것은 권장되지 않습니다.

이 기능을 활성화하는 방법이 무엇인가요?

Settings > Performance (1-2) 메뉴로 이동합니다. 만약 legacy 앱 편집기를 이용 중이시라면 Behavior > Offline 메뉴로 이동합니다.

  1. Sync: Cloud to Data Source에서, (3) Server Caching 및 (4) Quick Sync 를 활성화 해줍니다.
  2. 앱을 저장합니다.

이 기능은 누가 사용할 수 있나요?

이 기능은 무료 계정에서만 사용 가능합니다. 추후 점진적으로 유료 계정에서도 사용할 수 있도록 배포할 예정입니다.

이 기능을 활성화할 수 있는 조건이 있나요?

우선 이 기능은 security filters 를 사용하지 않는 앱에서만 동작합니다. 만약 security filter 를 킨 상태에서 빠른 동기화 기능을 키게 되면 변경사항 저장 시 빠른 동기화가 비활성화되며 경고 메시지가 표시됩니다.

이 기능을 비활성화해야 하는 앱들이 있나요?

앱 제작자들은 아래와 같은 조건들을 확인하여 빠른 동기화 기능의 활성화 여부를 결정해야 합니다:

  • 각 데이터 업데이트는 앱시트 서버에 캐시됩니다. 엄격한 데이터 보안 요구사항이 있는 경우 이 기능을 비활성화해야 합니다.
  • 만약 데이터 소스에서 자동으로 값을 계산하거나, 특정 가상 컬럼이 완전히 동기화되어야 하는 경우 이 기능을 비활성화해야 합니다. 이를 통해 사용자들이 정확한 데이터를 확인할 수 있도록 해야 합니다.
  • 만약 사용자들이 앱시트가 아닌 다른 시스템을 통해서 데이터를 변경하거나 데이터 소스에서 데이터를 직접 수정하는 경우 앱은 다음 동기화 때까지 업데이트된 사항을 반영할 수 없습니다.

왜 제 사용자들에게는 이 기능이 활성화되지 않나요?

먼저, 위에서 말씀드린 security filter 를 사용하면 안된다는 내용 등의 제한사항을 확인해 주십시오.
또한 사용자들은 같은 버전을 쓰고 있는 다른 사용자의 변경사항만 확인할 수 있습니다. 즉, 앱을 업데이트하여 앱의 버전이 변경된 경우, 다음 전체 동기화가 일어나기 전까지 사용자들은 업데이트된 데이터를 보지 못할 수 있습니다.

관련 문서는 어디에 있나요?

Offline and Sync: The Essentials 문서에 포함된 >> Quick sync << 내용을 확인해 주시기 바랍니다.

이 기능과 관련된 이슈나 피드백 사항은 어디로 접수할 수 있나요?

이 글에 댓글을 달아 주시면 됩니다.

빠른 동기화 기능의 작동 방식이 어떻게 되나요?

이 기능은 사용자의 변경사항이 생길 때마다 공개된 앱에 해당 내용을 브로드캐스팅하는 방식으로 작동합니다. 이를 통해 사용자들은 전체 동기화가 되기 전에도 최신 데이터를 확인할 수 있습니다. 이 브로드캐스트 시스템에 대한 간단한 도표는 아래와 같습니다.

앱시트는 현재 구글 문서 및 구글 시트와 같은 구글 워크스페이스 제품에 사용되는 것과 동일한 브로드캐스트 시스템을 사용합니다. 이 브로드캐스트 시스템은 최대한의 효율로 업데이트를 반영하며, 다음과 같은 주의사항이 있습니다.

  • 앱시트는 사용자가 업데이트한 내용을 최대 6시간까지 캐시 큐에 기록합니다. 큐에 저장되는 데이터는 앱시트의 Audit History 에 남는 것과 비슷한 형태를 가집니다.
  • 이 기능은 어떤 데이터 소스를 사용하고 있는지에 관계없이 동작합니다.
  • 만약 네트워크 이슈로 인해 브로드캐스트 알림이 가지 않는 경우, 다음 브로드캐스팅 또는 전체 동기화 전까지 업데이트 내용은 반영되지 않습니다.
  • 현재 security filter를 쓰는 앱에는 이 기능이 지원되지 않습니다. 추후 security filter를 쓰는 앱에도 기능이 추가될 예정이지만, 이는 업데이트된 행의 데이터를 사용하는 필터에 대해서만 추가됩니다.
  • 앱 클라이언트(브라우저 혹은 모바일 기기)는 빠른 동기화 시 전체 동기화와 같이 포뮬라 값 계산 등 전체 내용을 업데이트하지 않습니다. 따라서 이는 새롭게 계산되어야 하는 값들에 대해서는 바로 반영하지 않을 수 있습니다. 이는 데이터를 로컬에서 편집하고 앱에서 동기화 버튼을 누르지 않았을 때와 비슷하게 동작합니다.

 

※ 이 글은 앱시트 커뮤니티의 글을 번역한 내용입니다.

 

[PREVIEW] Users see updated data with “Quick sync”

We are excited to announce the preview launch of the “Quick sync” feature. This feature allows data updates to be available to users within 1-2 seconds of the updates.  Until now, app users needed to manually sync their app or wait for up to 30 minute

www.googlecloudcommunity.com

 

반응형
반응형

[2023년 2월 업데이트]

이제 구글 워크스페이스 사용자들은 Chat App 기능을 사용할 수 있습니다!

안녕하세요,

구글 워크스페이스 사용자들은 Chat App 기능을 사용할 수 있다는 것을 공지드릴 수 있어 기쁜 마음입니다. 저희는 이 기능을 작년 10월에 있었던 Google Cloud Next 행사에서 소개시켜드렸고, 드디어 여러분과 공유할 수 있게 되었습니다.

앱시트의 워크스페이스 고객 분들은 지금 바로 이 기능을 확인해 보실 수 있으며, 이에 대한 피드백도 댓글로 남길 수 있습니다. 필요하다면, 추가 정보가 고객 센터에 게시되어 있습니다. 지금은 베타 단계로 적용되었지만, 올해 후반기 쯤에 정식 배포를 계획하고 있습니다.

노코드 Chat App 이 무엇인가요?

저희는 모든 앱시트 앱이 구글 워크스페이스 Chat 에서 "Chat app"으로 추가될 수 있도록 하였습니다. 앱 제작자는 이 챗 버전의 앱이 어떤 식으로 동작해야 하는지 설정할 수 있고, 조직의 구글 워크스페이스 계정을 사용하여 쉽게 배포할 수 있습니다. 가장 놀라운 점은 이 과정이 5분도 채 걸리지 않는다는 것입니다.

Chat app 의 슬래시(/) 커맨드를 사용하여 Automation을 실행시킬 수 있으며, 승인 요청에 응답하고, 설문에 답변하고, 세부 사항이나 목록을 확인하고, Event(데이터 변동 혹은 스케줄) 발생 시 알림을 받을 수 있습니다.

Chat app은 무엇을 할 수 있나요?

앱 제작자들은 이번 베타 기능을 통해:

  • 새로 추가된 Chat app 빌더를 통해 Chat app을 배포할 수 있습니다
  • Chat app을 커스터마이징하여 채팅이나 스페이스에 특정 데이터를 보내는 automation을 실행할 수 있습니다. 예를 들어 Salesforce에 신규 리드가 들어왔을 때 알림을 보낼 수 있습니다.
  • 슬래시(/) 커맨드를 통해 앱의 특정 뷰를 공유하거나, 커스텀 메시지를 보내거나, 이메일을 보내거나, 신규 프로세스를 시작하는 등 앱시트에서 제공하는 모든 작업을 진행할 수 있습니다
  • Chat app을 처음부터 빌드할 수도 있고, 템플릿을 쓰거나 기존 앱을 활용할 수도 있습니다
  • Chat app을 일부 그룹이나 전체 도메인에 공유할 수 있습니다
  • Chat app 배포 과정을 단순화한 "자동" 배포 외에도 수동으로 직접 설정하여 배포할 수도 있습니다
  • 앱시트의 Apps Script 커넥터 와 연동하여 Chat app을 내부/외부 서비스로 확장할 수 있습니다

조직 내 구글 Chat 사용자들은 이번 베타 기능을 통해:

  • 앱시트 Chat App을 구글 Chat에 설치할 수 있습니다
  • 구글 Chat을 통해 앱시트에 접속할 수 있습니다
  • 매니저에게 승인 요청을 보내거나, 프로젝트 상태를 업데이트하거나, 재고 상태 확인을 요청하는 등의 automation 작업을 실행할 수 있습니다
  • Chat에서 직접 테이블 및 행 데이터를 확인하고, 내용을 추가하거나 업데이트하고, 검색 및 조회할 수 있습니다
  • Event(데이터 변동 혹은 스케줄)에 따른 알림을 받을 수 있습니다. 예를 들어 P0 프로젝트의 상태가 변경됐을 때 자동으로 담당자에게 알림을 보내거나, 주간 보고 사항에 대한 업데이트를 매주 자동으로 요청할 수 있습니다

Chat app을 설정하는 방법이 무엇인가요?

자세한 가이드는 고객 센터에 나와있지만, 여기에 간략히 설명드리겠습니다:

모든 앱시트 앱은 Chat app이 될 수 있습니다. 앱시트 편집기에서 "Chat apps (beta)"를 선택합니다.

여기서 앱을 설정하고 actions를 결정할 수 있습니다. 처음에는 Chat app에 몇 가지 기능만 있지만, actions를 설정하면 앱의 행동 방식을 커스터마이징할 수 있습니다. 예를 들어 /newdeals 커맨드를 통해 새로운 딜의 목록을 확인할 수 있고, 프로젝트 팀원들에게 일정에 따라 리마인드 메시지를 보내줄 수 있습니다.

사용자들이 Chat에서 앱시트 앱을 가져오려면 먼저 앱시트를 통해 만든 Chat app을 배포해야 합니다. 이전에는 Chat app을 배포하려면 Google Cloud Platform 이라는 플랫폼에서 꽤 오랫동안 작업을 해야 했습니다. 하지만 이번에 도입된 간편화된 Chat app 배포 과정 을 통해 필요 없는 과정을 생략하여 몇 주동안 작업해야 할 내용을 몇 분 안에 완료할 수 있습니다.

다음 계획은 무엇인가요?

여러분과 Chat app 을 공유하게 되어 기쁩니다. 하지만 아직 베타 기능인 만큼 계속해서 업데이트를 진행할 예정입니다. 현재는 앱시트의 일부 기능만 Chat에서 사용할 수 있지만, 앞으로 아래와 같은 기능을 Chat app 빌더 및 배포 과정에 추가할 예정입니다:

  • 완전한 원클릭 배포 과정(사용자가 Google Cloud Platform에서 아무것도 설정하지 않아도 되도록)
  • 슬래시(/) 커맨드에 추가 변수를 입력하여 특정 행만 보거나 편집할 수 있도록 하는 기능
  • 추가적인 데이터 타입 지원 (form fields, app views)
  • 사용성 및 성능 향상
  • 등등!

알려진 이슈들

  • Chat apps은 앱시트 앱과 완전히 똑같지 않습니다. 자세한 내용은 >> 클릭 << 
  • Chat app 제작자는 Google Cloud Platform 에 대한 설정을 할 수 있는 권한이 있어야 합니다. 자세한 내용은 >> 클릭 <<
  • 오류로 인해 제출이 차단된 경우 양식은 현재 새로 고침을 통해 값을 보존하지 않습니다. (수정 ETA: 2023년 2월)

이 기능은 아직 베타 기능이기 때문에 실제 앱에는 적용하지 않는 것이 좋습니다.

시작할 준비가 되셨나요? Preview new features 설정을 아직 켜두지 않으신 경우 이미지와 같이 설정할 수 있습니다:

 

Chat app에 대한 아이디어가 있으시다면 댓글로 공유해 주세요. 피드백할 내용 또한 댓글로 남겨주시면 감사하겠습니다!

감사합니다.

 

※ 이 글은 앱시트 커뮤니티의 글을 번역한 내용입니다.

 

Announcing: AppSheet Chat Apps Now Available to Preview Program!

  [UPDATE, Feb 2023] Chat Apps are now available in Preview to all Workspace customers in AppSheet! Hi all, We’re happy to announce that AppSheet-powered no-code chat apps are now available in preview for Workspace customers in AppSheet! We announced th

www.googlecloudcommunity.com

 

반응형
반응형

앱시트 앱을 제작하기 위해서는 먼저 두 가지 질문이 필요합니다.

1. 이 앱을 앱시트로 만들 수 있는가?

2. 어떻게 앱을 개발할 것인가?

이번 글에서는 이 질문과 더불어, 아래의 샘플 사례를 보며 앱시트 앱을 개발하는 방법을 알려드리고 싶습니다.

" 저는 건설업에 종사하고 있습니다. 작업 현장에서 무슨 일이 일어나고 있는지 추적할 수 있는 앱을 만들고 싶습니다. 현재 방수 코팅 관련 작업 데이터를 스프레드시트로 정리해 두었습니다. 데이터 컬럼은 작업 위치 별로 구성해 두었습니다. 예를 들어 A열은 A동, B열은 아파트 301호, C열은 B동을 나타냅니다.

제 목표는 관리자가 작업 완료 여부를 확인하고 체크박스를 선택하면 완료 체크가 되는 앱을 만드는 것입니다. 추가적으로, 모든 작업 현장에 적용되는 코팅의 양과 더불어서 각 직원이 매일 사용하는 코팅의 총량을 확인할 수 있도록 하고 싶습니다.
앱시트에서 이 앱을 어떻게 개발할까요? "

모든 앱 제작자가 따라야 할 6단계가 있습니다.

1. 데이터 정의

2. 스프레드시트 작성

3. 스프레드시트를 연결

4. UX 정의

5. 앱 동작 구체화

6. 앱 보안 검토

 

1단계: 데이터 정의

데이터 정의는 음식을 할 때 재료를 준비하는 것과 다름이 없습니다. 예를 들어 특정 작업에 대한 데이터는 아래와 같이 정의할 수 있습니다. 이 때 employee, job, location, customer 와 같은 각각의 대상들을 '엔터티'라고 부릅니다.

각 엔터티는 각각의 속성을 가지고 있습니다. 예를 들어 모든 고객은 이름, 주소, 전화번호 및 이메일 주소를 갖게 됩니다. 엔터티의 모든 데이터는 동일한 유형의 속성을 갖지만 각각의 값은 다릅니다.

이러한 다양한 속성 값을 사용하여 엔터티의 각 데이터를 구분할 수 있습니다. 예를 들어, 각 고객을 구분할 때는 전화번호 속성을 이용하면 됩니다. 이렇게 각 데이터를 구분할 수 있게 해주는 속성을 키값이라고 합니다.

마지막으로, 엔티티 간에 특정한 관계성을 가질 수 있습니다. 이 경우에 Job 은 한 명의 Customer 를 위해 존재하며, 한 개의 Building 안에 있는 한 명의 Employee 에게 할당됩니다. 그렇기 때문에 Job 엔터티는 Customer, Building 및 Employee 엔터티를 모두 참조하고 있어야 합니다.

 

 

2단계: 스프레드시트 작성

앱시트 앱은 구글 스프레드시트, 클라우드 상의 엑셀과 스마트시트 등을 통해 만들 수 있습니다.

스프레드시트 상에서 각각의 엔터티(Job, Employee ,Building)를 정의하기 위해서는 엔터티마다 해당하는 시트 혹은 테이블을 만들어 주어야 합니다.

시트에서 엔터티의 각 속성은 첫번째 행에서 컬럼으로 정의되며, 데이터는 두번째 행부터 행별로 정의합니다. 예를 들어 Customer 엔터티를 스프레드시트 상에서 정의하려면 아래와 같이 작성할 수 있습니다.

스프레드시트 작성에 대한 더 자세한 지식은 '데이터: 필수 지식'(영문) 문서를 확인해 주시기 바랍니다.

 

 

3단계: 스프레드시트를 연결

작성한 스프레드시트를 앱시트 앱에 연결하려면 'Data' 메뉴에서 좌측 상단의 + 버튼을 눌러 원하는 데이터를 선택해 주어야 합니다.

 

 

4단계: UX 정의

UX는 앱에 대한 사용자 경험(User eXperience)를 의미합니다. 특히 UI(User Interface), 즉 사용자가 앱을 통해 보는 화면에 무엇이 어떤 방식으로 표시되는지를 잘 정의해야 합니다.

(View)란 데이터를 시각화하는 다양한 방식을 의미합니다. 앱시트는 동일한 데이터를 calendar, deck, table, gallery, detail, map, chart, dashboard 및 form 과 같은 다양한 방식의 뷰로 표시해 줄 수 있습니다. 방법은 앱시트 편집기의 Views 메뉴에서 view type이라는 값을 바꿔주기만 하면 됩니다.

뷰는 Primary View 와 Menu View로 나뉩니다.

  • Primary View 는 앱의 하단 바에서 접근 가능하며 가장 자주 쓰는 메뉴입니다.
  • Menu View는 좌측 상단의 메뉴 버튼을 통해 접근할 수 있는 메뉴로 가끔 쓰는 메뉴입니다.

사용자로부터 데이터를 수집할 때는 form 뷰를 사용하면 됩니다. 앱시트에서 테이블을 추가하면 자동으로 해당 테이블 및 데이터에 대한 Add 또는 Edit 이라는 버튼을 생성해 주는데요, 이 버튼을 누르면 사용자가 새 Job 데이터를 생성하거나, 만들어진 Job 데이터를 수정할 수 있습니다.

또한 앱 로고, 색깔 테마를 바꾸거나 포맷 규칙을 설정하는 등의 설정이 가능합니다.

자세한 내용은 'UX: 필수 지식'(영문) 문서를 참고해 주시기 바랍니다.

 

 

5단계: 앱 동작 구체화

앱이 데이터를 원하는 형식으로 보여주고, 원하는 뷰로 이동하여 데이터를 수정 및 동기화할 수 있게 되었다면 다음으로는 앱의 동작을 구체화 해주어야 합니다. 앱의 동작에는 4개의 종류가 있습니다:

1. 정적 설정

2. 동적 설정

3. Actions

4. Automation

먼저 정적 설정은 가장 간단한 방법입니다. 정적이라는 말의 의미는 설정이 모든 앱의 사용자와 데이터에 고정적으로 적용된다는 의미입니다. 모든 테이블의 각 컬럼은 이러한 정적 설정을 가지고 있습니다. 예를 들어, 해당 컬럼은 읽기만 가능하거나 사용자에 의해 수정이 가능하도록 설정되어 있을 수 있습니다. 이와 같이 모든 UX 뷰 또한 여러 정적 설정 옵션을 가지고 있습니다. 예를 들어 갤러리 뷰에서의 이미지 사이즈라던가, 테이블 뷰에서의 정렬 순서 등의 옵션입니다.

또한 앱이 오프라인에서 작동 가능하게 할 것인지, 얼마나 자주 백엔드 단에서 앱과 데이터 시트 간의 동기화가 이루어지게 할 것인지 등의 설정이 있습니다. 이러한 옵션을은 앱의 퍼포먼스에 지대한 영향을 미칠 수 있습니다.

동적 설정, Actions 및 Automation 은 정적 설정에 비해 훨씬 강력하지만 조금 더 설정하는 방법이 복잡합니다. 이 설정들은 모두 앱 제작자가 관련 동작을 정의하는 작업이 필요하기 때문입니다. 서로 다른 사용자, 동일한 테이블의 서로 다른 행 또는 동일한 열의 서로 다른 값에 대해 고유하고 적절한 동작을 지정할 수 있습니다.

이러한 각 결정에 대해 시스템이 앱을 제어하기 위해 동적으로 평가할 수 있는 형식으로 동작을 정의해야 합니다. 앱시트에서 이러한 동적 동작을 정의하려면 해당 동작에 대한 수식(formula)을 작성해야 합니다.

수식은 스프레드시트의 함수와 비슷합니다. 예를 들어 [Status] = "Complete" 이라는 수식을 통해 Status 컬럼이 "Complete" 이라는 값을 갖는지 확인할 수 있습니다.

수식은 여러 조건식을 조합하여 보여주거나(예를 들어 위의 그림에서는 AND([Status] = "Complete", [Quantity] > 5) 라는 수식을 적용하였음), 수학적인 표현들, 텍스트 변형과 여러 다양한 복잡한 연산을 수행할 수 있습니다.

기억해야 할 것은 수식 자체로는 앱의 동작을 완벽히 정의할 수 없다는 점입니다. 수식은 단지 주어진 식에 맞추어 조건에 맞는 값을 계산해낼 뿐이며, 이 수식이 어디에서 쓰이는지에 따라 앱의 동작이 달라집니다.

앱시트의 여러 부분에서 이러한 수식을 사용할 수 있습니다. 예를 들어 특정 열 데이터가 앱에서 보이게 할지 말지를 수식을 통해 결정할 수 있습니다. 또, 열 데이터의 값이 앱에서 표시되는 색깔을 지정하기 위해 수식을 사용할 수도 있습니다.

수식의 중요한 쓰임새 중 하나는 수식을 통해 다음과 같은 가상 데이터를 만들 수 있다는 점입니다.

1. 가상 열: 실제 데이터 시트에는 존재하지 않지만 앱 내에서 동적으로 할당되어 일반적인 컬럼처럼 사용됨

2. 가상 테이블(혹은 데이터 슬라이스): 테이블의 가상 하위 테이블로, 원본 테이블의 일부 행 또는 열만 포함하고 있음. 수식을 통해 포함할 데이터가 필터링되어 실제 테이블처럼 활용할 수 있음.

다음은 Actions에 대한 설명입니다.

Action은 사용자에게 의미 있는 논리적 작업을 진행하게 해 주는 단일 작업을 의미합니다. 일반적으로 Actions 는 사용자가 버튼을 눌렀을 때 실행됩니다. 앱의 모든 기본 동작은 시스템에 의해 자동으로 생성됩니다(뷰 간 이동, 데이터 수정, 데이터 추가, 전화하기 등). 이러한 시스템에 의해 생성된 Action 들도 Actions 메뉴를 통해 재정의가 가능합니다.

가장 쉬운 action 중 하나는 사용자가 버튼을 눌렀을 때 특정 뷰로 이동하거나, 다른 앱을 열도록 하는 것입니다. 또, 데이터 작업에 대한 action을 생성할 수 있습니다. 예를 들어 action이 실행됐을 때 특정 Job 을 완료하겠다는 동작을 정의할 수 있습니다.

Action을 정의하는 것에는 코딩이 필요하지 않습니다. 수식과 여러 버튼을 통해 action이 표시되는 방식과 동작에 대한 정의를 쉽게 수행할 수 있습니다. 또 여러 액션을 하나의 액션으로 묶어 강력한 동작들을 정의할 수 있습니다.

Action에 대한 추가적인 정보는 'Actions: 필수 지식'(영문) 문서를 확인해 주시면 됩니다.

마지막으로 Automation에 대한 설명입니다.

Automation은 앱시트 자동화의 끝판왕이라고 보시면 됩니다. Automation 은 특정 이벤트가 발생했을 때 실행됩니다. 이벤트는 데이터에 변경사항이 생기거나, 지정한 날짜 및 시간이 되었을 때를 의미합니다. Automation은 또한 더 복잡한 자동화 작업을 정의할 수 있습니다.

앱시트에서 자동화 작업은 bot을 통해 이루어집니다. Bot은 두 가지 환경에서 실행될 수 있습니다.

1. 장치의 앱 내에서: 이러한 작업은 반복적으로 발생하는 장치 내에서의 작업 시에 발생합니다. 예를 들어 GPS 위치를 주기적으로 기록하는 등의 작업이 있습니다.

2. AppSheet 클라우드 서비스 내에서: 이 로직은 지정한 날짜 및 시간이 되었을 때나, 데이터 변경사항이 발생하여  백엔드 스프레드시트로 전송될 때 실행됩니다. 앱 사례를 예시로 들자면 automation을 통해 Job 레코드에 대한 업데이트를 확인하고 완료된 작업에 대한 요약 세부 정보가 포함된 이메일을 관리자에게 보내는 등의 작업을 할 수 있습니다.

자세한 내용은 'Automation: 필수 지식'(영문) 문서를 확인해 주시기 바랍니다.

 

 

6단계: 앱 보안 검토

앱을 제작하면 최초에는 앱 제작자만 그 앱을 사용할 수 있습니다. 하지만 피드백을 받기 위해서라도 앱을 여러 사람과 공유하는 일은 필연적으로 발생합니다. 앱을 공유하는 방법은 '공유: 필수 지식'(영문) 을 참고해 주시기 바랍니다. 앱을 공유하기 시작했다면 보안에 대해서 꼭 생각해 보아야 합니다.

앱시트는 사용자의 접근 통제를 위해 다양한 보안 기능을 제공하고 있습니다. 추가 내용은 '보안: 필수 지식'(영문) 을 참고해 주시면 됩니다.

가장 먼저 따져봐야 하는 부분은 어떤 사용자가 앱에 접근할 수 있게 할 것인지입니다. 특히 앱에 대한 접근을 제한할 것인지 질문해 보아야 합니다.

비즈니스에서 앱시트 앱을 개발하여 사용하는 대부분의 경우 제한을 두는 것이 맞지만, 공개용 앱을 만든 경우에는 굳이 앱에 대한 접근을 제한할 필요가 없습니다.

저희 사례에서는 앱이 건설 회사에서 사용되는 내부 데이터를 활용하기 때문에 앱에 대한 접근을 제한해야 하는 것이 맞습니다. 앱시트에서 1차적인 접근 제한은 보통 'sign in to use the app' 옵션을 통해 이루어집니다.

또한 UX 상에서 사용자마다 볼 수 있는 뷰를 제한하는 방법도 있습니다. 이 기능을 사용하면 특정 메뉴를 특정 사용자에게 숨길 수 있습니다.

앱시트에서 테이블을 추가할 때 Adds, Deletes 및 Updates 작업에 대한 권한을 설정해야 합니다. 이 기능을 활용하면 사용자가 데이터에 적용할 수 있는 작업을 한정시킬 수 있습니다. 특히 사용자마다 보여주려 하는 데이터가 다를 때 'security filter'(영문)를 통해 행 단위 보안 규칙을 적용할 수 있습니다.

각각의 actions 및 automation bots 은 사용자에 따라 다르게 작동하도록 지정할 수 있습니다. 즉, 앱의 자동화 기능들이 개인화되어 다양한 조건들을 상황에 맞게 실행되도록 하는 것이 가능합니다.

 

 

반복적인 앱 디자인

구현을 시작하기 전에 처음부터 완벽하게 앱을 디자인하는 사람은 없습니다. 앱 개발은 제작과 수정이 무한히 반복됩니다. 앱시트는 이 제작 과정을 두 가지 방법으로 지원합니다. 사용자에게 배포한 버전의 앱이 있고, 추가적인 수정 사항이 생겼을 때 바로 사용자에게 수정사항을 업데이트해줄 수 있습니다. 앱 제작자는 일반적으로 며칠 동안에도 수백 번씩 앱을 변경합니다. 이런 작업에는 앱시트가 제격입니다. 아래 링크에서 앱 개발을 시작해 보시는 것은 어떨까요?

 

AppSheet : mobile apps from spreadsheets : Login

By signing in, you agree to the terms of service and privacy policy.

www.appsheet.com

 

 

 

원본 문서 출처: https://support.google.com/appsheet/answer/10099795#zippy=

 

App design 101 - AppSheet Help

How to think about building an app  Most app creators already have an app that they want to build. They have two questions:  Can I build this app with AppSheet? How should I build this app with AppSheet? Chances are, you can build your envisioned app wit

support.google.com

 

반응형

'공식 문서 번역' 카테고리의 다른 글

앱시트 시작하기  (0) 2023.01.26
반응형

앱시트는 강력한 노코드 앱개발 플랫폼입니다. 앱시트는 IT 및 현업에 종사하는 시민 개발자들이 간단한 대화형 사용자 환경(UI)에서 앱을 만들고 수정할 수 있게 해줍니다.


  데모 보기

구글 시트에서 앱시트 앱을 만들고 수정하는 것이 얼마나 간단한지 확인해 보세요.

참고: 현재 영상에 표시되는 앱시트 UI가 변경되었지만, 핵심 내용은 같습니다.

 앱시트 앱 만들기

앱시트 앱을 생성합니다. 만약 앱시트 계정이 없는 경우, https://www.appsheet.com/ 에 접속하여 무료 체험판을 시작해 보세요.


학습 자료

추가 학습 자료를 활용해 보세요.


도움 받기

앱시트 커뮤티니 혹은 앱시트 서포트 팀에게 도움을 요청해 보세요.

 

※ 영문 사이트는 "(영문)"으로 표시되어 있습니다. 영문 글들은 차차 한글로 번역된 글들로 바꿔나갈 예정입니다.

 

 

원본 문서 출처: https://support.google.com/appsheet/answer/11581986?hl=en 

 

Get started with AppSheet - AppSheet Help

AppSheet is a powerful no-code application development platform. AppSheet enables citizen developers, from IT to line-of-business users, to create and customize applications using its easy-to-use, interactive UI.   Watch a demo See how easy it is to build

support.google.com

 

반응형

'공식 문서 번역' 카테고리의 다른 글

앱 디자인 101  (0) 2023.02.17
반응형

안녕하세요.

저번 글에서는 Automation 의 정의와 Actions 와의 차이점, Process 의 구성에 대해 알아보았는데요, 혹시 관련 내용을 잘 모르시는 분께서는 먼저 아래 글을 확인해 주시기 바랍니다.

 

[앱시트 중급] 04. 앱시트 자동화의 두번째 핵심, Automation (1)

안녕하세요. 이번 시간에는 앱시트 자동화의 두번째 핵심 요소인 Automation 을 공부해 보도록 하겠습니다. Automation 이 Actions(Behavior) 와 어떤 차이점을 가지고 있는지, 언제 Automation 을 사용해야 하

appsheet.tistory.com

이번 글에서는 실제로 Automation 을 사용하는 방법을 여러 가지 예시와 함께 설명해 드리도록 하겠습니다.

그럼 시작해 볼까요?

 

 

● Automation 예시1 - 이메일 보내기

첫번째 예시로 새로운 과일이 추가됐을 때 추가된 과일의 kcal 값이 10이 넘으면 고칼로리 과일로 표시한 뒤, 관리자에게 알림 이메일을 보내 보겠습니다. 우선 저는 '10kcal 이상 과일 추가 시 고칼로리 표시' 이라는 봇을 생성해 주었습니다.

새로운 이벤트를 생성한 뒤 이벤트를 정의해 줍니다. 데이터가 추가됐을 때 Automation 이 실행되도록 하기 위해서는 Data Change 이벤트 중 Adds only를 선택해 줍니다.

그 다음으로는 Table을 지정해 줍니다. 과일 테이블을 지정하게 되면 다른 테이블이 아닌 과일 테이블에서 발생한 이벤트만 가져오게 됩니다.

마지막으로 Condition을 지정합니다. Condition은 필수로 지정해야 하는 값은 아니지만, 이벤트를 한 번 더 필터링해줄 수 있어 유용합니다. 저는 칼로리가 10 이상인 과일에 대해서만 작업이 필요하므로 아래와 같이 FORMULA 를 작성하였습니다.

이제 프로세스를 정의해 보겠습니다. 이 예시에서는 프로세스에서 총 두 개의 단계(step)가 수행되어야 합니다.

  1. 과일의 [고칼로리] 컬럼을 Yes로 변경합니다.

  2. 이메일을 전송합니다.

먼저 고칼로리 표시를 위한 단계입니다. 데이터 컬럼 값을 바꾸는 행위는 Run a data action 을 선택해야 합니다.

Data action 으로는 특정 행의 값을 변경하는 Set row values 작업을 선택해 줍니다. 변경할 컬럼은 [고칼로리] 컬럼이며, 이 컬럼의 값을 Yes(True)로 설정하면 됩니다.

다음으로는 추가된 데이터에 대해서 메일을 보내주도록 하겠습니다. 새로운 Run a task 단계를 생성해 줍니다. Task는 당연히 Send an email 로 선택해 주시면 됩니다. 다음은 Email Type인데요, Embedded app view와 Custom template이 있습니다.

Embedded app view 를 선택하면 템플릿과 함께 메일에 앱시트 화면 중 일부가 표시됩니다. 사용자는 메일 상에서 앱시트 데이터를 변경하거나 Action을 진행할 수 있습니다. 반면에 Custom template은 굳이 앱시트 화면을 메일에 표시하지 않고, 템플릿에 맞는 내용을 자동으로 작성하여 메일을 보내줍니다.

저는 Embedded app view로 선택하도록 하겠습니다. 이후 메일에서 표시할 뷰와 관련된 테이블을 선택한 후, 누구에게 메일을 보낼지 작성합니다. 직접 이메일 주소를 입력해도 되고, 수식으로 메일 주소를 가져와도 됩니다.

그 다음으로는 템플릿을 작성해 주어야 합니다. 저는 이와 같이 작성했습니다.

여기에서 <<_APPNAME>>, <<[과일 아이디]>> 라는 부분이 보이실 겁니다. 이와 같이 <<겹화살괄호>>로 변수나 수식을 입력해 주게 되면 메일이 템플릿에 맞게 작성되어 발송됩니다. 템플릿에서 사용하는 수식에 대한 자세한 내용은 >> 이 문서 << 를 확인해 주시기 바랍니다.

그 다음으로는 메일 상에 어떤 뷰를 보여줄지를 선택하면 됩니다. 저는 시트1_Detail 뷰를 선택해 주겠습니다.

Preview email body 버튼을 누르면 아래와 같은 예시 작성 내용을 확인할 수 있습니다.

마지막으로 Advanced 버튼을 누르면 메일 발신자명을 바꾸거나 이메일 Footer를 추가해줄 수 있습니다.

이제 실제로 데이터를 추가해 보거나, Test 라는 버튼을 통해 기능이 잘 동작하는지 확인해 보시면 됩니다.

 

 

● Automation 예시2 - 파일 만들기

두번째 예시로, 매주마다 과일에 대한 보고서 파일을 작성해 보도록 하겠습니다. '매주 과일 보고서 작성' 봇 생성 후 아래와 같이 이벤트를 정의해 주었습니다.

이때 Time zone은 한국 표준 시간인 GMT+09:00 시간대로 바꾸어 주시는 것이 좋습니다. 하단에 조건부로 이벤트가 실행되게 할 수도 있지만, 저는 굳이 조건을 걸지는 않겠습니다.

다음은 프로세스입니다. 새 단계(Step)을 만들어 줍니다.

Custom task 의 Create a new file 을 통해 파일을 만들어줄 생각입니다.

과일 테이블을 선택해준 후, HTTP Content Type을 지정해 줍니다. 파일이 어떤 형식으로 저장될지를 지정하는 것으로, .pdf, .csv, .json 등으로 지정 가능합니다. 보통은 .pdf 파일로 지정해줍니다.

다음으로 가장 중요한 부분인 템플릿을 생성해 줍니다. 미리 작성한 템플릿을 넣어주어도 되고, Create 버튼을 눌러 새로운 템플릿 파일을 생성해줘도 됩니다. 일반적으로는 Create 버튼을 눌러 새로운 템플릿을 작성하게 됩니다. 다행인 점은, 이 때 빈 문서가 생성되는 것이 아니라, 앱시트에서 제공하는 기본 템플릿 문서가 생성됩니다.

이런 식으로 기본 생성된 파일을 원하는대로 가공하고 수정해 주시면 손쉽게 템플릿 파일을 완성할 수 있습니다. 위 내용에서도 언급했지만, <<겹화살괄호>> 안에 컬럼 이름이나 수식을 넣어주면 각 행의 데이터에 맞게 값이 들어가게 됩니다. 저는 이런 식으로 꾸며 주었습니다.

여기서 특이한 점을 하나 발견하셨을 텐데요, 바로 <<Start: 과일[과일 아이디]>>와 <<End>> 부분입니다. 한 개의 행에 대해서 출력하는 템플릿을 만드는 경우에는 이렇게 바꿔줄 필요가 없지만, 여러 개의 행을 한 번에 출력하려면 값들을 <<Start: 테이블명[참조 테이블의 ID]>>와 <<End>>로 묶어주어야 합니다. 이 템플릿으로 문서를 작성하면 아래와 같이 출력됩니다. 원본 테이블도 올려드리오니 값을 잘 비교해 보시기 바랍니다.

원본 테이블:

과일 아이디 갯수 칼로리 고칼로리
2 사과 394 11 TRUE
3 포도 3 5 FALSE
4 오렌지 7 3 FALSE

출력 결과:

마지막으로 파일의 경로 및 이름을 넣어주시면 됩니다.

File Folder Path를 통해 앱의 기본 경로로 시작해서 어떤 폴더에 파일을 저장할지 지정할 수 있습니다. 앱의 기본 경로는 설정 > Information > Default app folder에 적혀 있습니다. 저는 File Folder Path 경로를 '/과일 보고서' 라고 했으니, 종합해 보면 파일의 실제 경로는 '내드라이브/appsheet/data/testApp-3796008/과일 보고서'가 될 것입니다.

'과일 보고서' 폴더에 지정한 이름으로 파일이 생성된 모습

또, File Name Prefix 옵션으로 저장될 파일의 이름을 수식으로 지정할 수 있습니다. 저는 아래 수식으로 작성하였습니다.

TEXT(NOW(), "yyyy년 mm월 dd일 ") & "과일 보고서"

Disable Timestamp 를 활성화시키지 않으면 지정한 파일 이름 앞에 긴 날짜/시간 문자열이 붙게 됩니다. 저는 웬만하면 Timestamp는 비활성화 되도록 설정하고 있습니다.

이제 마찬가지로 Test 라는 버튼을 통해 기능이 잘 동작하는지 확인해 보시면 됩니다.

 

 

● Automation Test하기 

Automation 기능은 Event에 의해 실행되기 때문에 직접 테스트해보기가 꽤나 번거롭습니다. 데이터를 추가하는 이벤트 정도는 쉽게 발생시킬 수 있지만, 일주일을 기다린다거나 그 외 조건에 맞는 다양한 이벤트를 발생시키는 것은 쉬운 일이 아니죠.

그럴 때 유용하게 사용되는 것이 'Test'라는 기능입니다. Test 버튼은 Automation 기준 오른쪽 위에 위치하고 있습니다.

Test 버튼을 누르면 아래와 같은 화면이 표시됩니다. 하나씩 설명해 보도록 하겠습니다.

우선 첫번째 열인 Event Condition 은 어떤 행에 의해서 이 Automation이 실행될 것인지를 알려줍니다. 화면에 보이는 것은 '10kcal 이상 과일 추가 시 고칼로리 표시' 봇인데요, 위에서 보셨듯이 제 테이블에서 10kcal이 넘어가는 과일은 사과 뿐이기 때문에 첫번째 행만 True로 표시되고, 나머지 행들은 False로 표시됩니다.

그 다음 컬럼부터는 {중괄호}로 묶여 있는 긴 값과, Open 과 Execute 버튼이 보입니다. {중괄호} 내의 값과 Open 버튼은 아직은 신경쓰지 않으셔도 됩니다.

컬럼 이름을 보시면 Process, Run task "b908e740-8bb4-406d-9724-42981ba28962-고칼로리 표시", Run task "Task for 메일 보내기" 라고 되어 있죠? Process는 전체 프로세스를 실행시킬 때, 다음 열들은 프로세스 내의 각 task를 별도로 실행해 보고 싶을 때 Execute 버튼을 눌러주시면 됩니다. 만약 에러가 있다면 빨간 글씨로 표시되며, 에러가 없이 잘 실행되고 나면 Success 라는 창이 나오게 됩니다.

 

 

● Automation Monitor 하기

마찬가지로 Automation 우측 상단에 Monitor 라는 버튼이 있습니다. 이 버튼은 실제 Automation의 실행 과정과 결과에 대해 알려줍니다.

아래 보이는 것이 Monitor 화면입니다. 앱시트 앱을 모니터링 할 수 있는 전용 앱이라고 보시면 됩니다.

가장 중요한 것은 Bots 부분에 있는 Status 항목입니다. 초록색으로 Complete 라고 표시되었다면 Automation이 정상적으로 실행된 것이고, 빨간색 Error 로 표시되었다면 정상적으로 실행되지 않은 것입니다. 또한, 주황색 Pending 으로 표시된다면 아직 Automation이 실행중인 상태입니다.

Monitor를 통해 앱의 Automation이 잘 실행되었는지 확인할 수 있고, 문제가 생겼다면 어떤 부분에서 어떤 에러가 발생했는지에 대해 확인할 수 있기 때문에 Automation 이슈 문제가 생기는 경우 이 부분을 꼭 확인해봐야 합니다.

여기까지 두 가지 Automation 예시와, Automation Test 및 Monitor 기능에 대해서 알아보았습니다. Automation 을 어떻게 설정해야 할지 잘 모르셨다면 많은 도움이 될 겁니다. 그 외에도 많은 Task 및 활용법이 있지만 이 글에 다 담을 수는 없기에 제가 가장 자주 쓰고 중요하다고 생각하는 것들만 모아 두었습니다. 혹시 추가적인 설정 방법에 대한 질문이 있으시다면 댓글로 남겨주세요. 다음 시간에는 앱시트와 구글 Chat 을 연동하는 방법을 알아보도록 하겠습니다. 같이 열심히 공부해 보아요~

 

반응형
반응형

안녕하세요.

이번 시간에는 앱시트 자동화의 두번째 핵심 요소인 Automation 을 공부해 보도록 하겠습니다. Automation 이 Actions(Behavior) 와 어떤 차이점을 가지고 있는지, 언제 Automation 을 사용해야 하는지, Automation 에는 어떤 기능들이 있는지 확인해 보도록 하겠습니다.

꽤나 내용이 길어질 것 같아서 Automation 을 실제로 사용하는 방법과 예시 등에 대해서는 다음 글에서 따로 다루어야 할 것 같습니다.

그럼 시작해볼까요?

 

 

● Automation 이란?

Automation 은 'Event 에 따라 Process 를 진행하는 Bot' 을 의미합니다.

여기에서 Event 는 Process 를 진행시키기 위한 조건을 의미하며 크게 두 가지로 나눌 수 있습니다. 첫번째는 Data Change Event 로, 데이터가 생성, 수정 또는 삭제되는 것을 의미합니다. 두번째는 Schedule Event 로, 데이터와 관계 없이 특정 시간이 되었을 때 프로세스를 진행시킵니다.

또한 Process 는 Bot 이 Event 에 따라 수행하는 작업을 의미합니다. Process 에는 메일 보내기, 알림 보내기, 문자 보내기, 웹훅 요청 보내기, 파일 생성하기, 스크립트 실행하기, Action 실행하기 등이 있습니다.

종합해보면 Automation 을 사용한다면 '매주 자동으로 요약 보고서 생성하기', '새로운 데이터가 추가될 때마다 메일 보내기' 등을 설정할 수 있습니다.

 

 

● Automation 과 Actions 의 차이점

저번 글에서 설명드린 Actions 와 지금 설명드리는 Automation 에는 대표적으로 두 가지 차이점이 있습니다.

첫째, 실행 조건입니다. Actions 는 사용자가 직접 버튼을 눌러야 실행되지만, Automation 은 특정 Event 가 발생해야 실행이 됩니다. 물론 Automation 을 통해 Action 이 실행되는 경우나, Automation 의 Test 버튼을 눌러 실행시키는 경우는 논외입니다.

둘째, 할 수 있는 작업의 차이입니다. Actions 와 Automation 은 둘 다 Data action 을 실행할 수 있습니다. 다만 Actions 는 앱 내부에서 사용자가 버튼을 눌렀을 때를 기본적인 실행 조건으로 잡고 있기 때문에 특정 페이지로 이동하거나, 외부 페이지를 여는 등의 내부 작업에 조금 더 특화되어 있습니다. 그리고 Automation 은 앱 외부와 소통하거나 API 요청을 주고 받는 외부 작업에 더 특화되어 있습니다.

따라서 용도와 목적에 맞게 Actions 와 Automation 을 적절히 섞어가며 사용해야 합니다. 특히 Actions 를 통해 변경되는 데이터를 Automation 의 이벤트 조건으로 삼아 Automation 도 같이 실행되게 하는 등의 응용 작업도 가능합니다.

 

 

● Process 의 구성

Automation 의 Process 를 어떻게 정의하는지 조금 더 세부적으로 알아보도록 하겠습니다.

Automation 은 아래와 같이 구성되어 있습니다.

만들어진 봇(Bot) 은 이벤트(Event) 에 의해 프로세스(Process) 를 실행하며, 각 프로세스(Process) 는 여러 개의 단계(Step) 로 이루어져 있습니다. 단계(Step) 는 Task 와 Action 등의 작업을 진행하거나, 작업 진행을 위한 조건을 걸어주는 역할을 하게 됩니다.

Process 내에 Step을 생성하게 되면 아래 이미지와 같은 작업을 지정할 수 있습니다.

각 작업에 대해 설명해 보겠습니다.

작업 이름 설명
Run a task 메일을 보내거나 파일을 생성하는 등 Task 를 실행합니다. (자세한 내용은 아래에)
Run a data action 지정한 Actions 를 실행합니다.
Branch on a condition 조건 수식(Formula)에 따라 각 step 을 실행할지 말지를 결정합니다.
Wait 특정 조건이 만족되거나 지정한 기간이 될 때까지 기다립니다.
Call a process 다른 Bot 에서 지정한 Process 작업을 가져옵니다.
Return values 값을 return 합니다. return 된 값은 나중에 사용 가능합니다.

다음으로는 각 Task 에 대해 설명해 보겠습니다.

Task 이름 설명
Send an email 지정한 사용자에게 이메일을 보냅니다. 단, 외부로 이메일을 보내려면 앱이 배포되어 있어야 합니다. 이메일은
  1. 이메일 내에 앱시트 화면의 일부가 삽입되는 Embedded app view 와,
  2. 원하는 내용으로 메일을 구성할 수 있는 Custom template 이 있습니다.
Send a notification 지정한 사용자에게 앱 알림을 보냅니다.
Send an SMS 지정한 번호로 문자를 보냅니다.
Call a webhook 앱시트 내의 데이터를 활용하여 웹훅 요청을 보냅니다. Custom url, Slack Hook, AppSheet API 요청이 있습니다.
Create a new file 지정한 템플릿을 기반으로 작성된 새로운 파일을 생성합니다.
Call a script Apps Script 코드를 실행합니다.

앱을 처음 만드실 때는 Task 의 모든 부분을 마스터할 필요는 없습니다. 간단한 템플릿 작성법 정도야 일반인 개발자 수준에서도 커버 가능하지만, 웹훅을 보내거나 스크립트 코드를 작성하는 부분은 고급 과정에서 다루어야 할 어려운 작업들 중 하나이기 때문입니다. 또, 문자를 보내는 것도 외부 솔루션과의 연동이 필요하기 때문에 잘 사용하지 않습니다.

따라서 앱시트 중급 개발자 입장에서는 이메일을 보내는 것과, 앱 알림을 보내는 것, 그리고 파일을 생성하는 세 가지 정도만 공부해 두시면 됩니다. 나머지는 앱시트가 API 작업도 할 수 있구나, Apps Script 코드와 연동해서 조금 더 복잡한 작업도 처리할 수 있구나 정도로만 이해해 주시면 되겠습니다.

지금까지 Automation 의 정의와 Actions 와의 차이점, Process 의 구성에 대해 알아보았습니다. Actions 와 Automation 의 기능들을 활용하여 정말 다양한 기능들을 만들 수 있을 것 같지 않나요? 다음 시간에는 실제로 Automation 을 사용하는 방법을 여러 가지 예시와 함께 설명해 드리도록 하겠습니다. 같이 열심히 공부해 보아요~!!

반응형
반응형

안녕하세요.

이번에는 AppSheet 자동화의 핵심인 Actions(Behavior)와 Automation에 대해 자세히 알아보려고 합니다. 여기서 제가 말하는 자동화는, 사람이 해야 할 일을 최소화하기 위해 반복적으로 처리되는 작업을 미리 정의하는 것을 의미합니다.

AppSheet의 자동화는 무엇을 할 수 있으며, 어떻게 사용하는 것이 좋을까요? 저는 오늘 이 질문에 대한 대답을 가지고 왔습니다. 입문 글에서의 내용과 겹치는 부분도 있지만, 중급 수준에 맞게 조금 더 체계적이고 자세한 정보를 적어보도록 하겠습니다. 이번 글에서는 먼저 Actions에 대해서 다루어 보려고 합니다.

그럼 시작해볼까요?

 

 

● Actions 로 할 수 있는 것들

버튼을 클릭하는 등의 이벤트가 발생했을 때 발생하는 액션을 가리키는 Actions (이전 UI에서는 Behavior)에서는 크게 세 종류의 작업을 지정할 수 있는데요, 실행되는 액션이 앱에 대한 것이라면 App, 데이터에 대한 작업이라면 Data, 그 외 외부 솔루션과 관련된 작업에 대한 것이라면 External 이라고 분류할 수 있습니다.

이러한 Action 작업들은 보통 특정 행에 대해서 동작합니다. 예를 들어 1번 행의 디테일 페이지에서 정의된 버튼을 누르면 일반적으로 1번 행에 대해 작업이 실행됩니다.

하나씩 살펴보겠습니다. 먼저 App에 대해 정의할 수 있는 작업들입니다.

Action: App 설명
App: copy this row and edit the copy 행 데이터를 복사하고 복사한 행을 편집합니다.
App: edit this row 이 행을 편집합니다.
App: export this view to a CSV file (not a row-level action) 이 뷰의 데이터를 CSV 파일로 추출합니다. (행 단위 액션 아님)
App: go to another AppSheet app 다른 앱시트 앱으로 이동합니다.
App: go to another view within this app * 이 앱의 다른 뷰로 이동합니다.
App: import a CSV file for this view (not a row-level action) 이 뷰에 데이터를 CSV 파일로 입력합니다. (행 단위 액션 아님)
App: open a form to add a new row to this table (not a row-level action) ** 이 테이블에 새로운 행을 추가하기 위해 Form을 엽니다. (행 단위 액션 아님)
* 자주 쓰는 기능 중 하나로, 다른 뷰에 대한 바로가기를 만들 수 있습니다.                                                                                                                        ** 

* 자주 쓰는 기능입니다. 다른 뷰에 대한 바로가기를 만들 수 있습니다. 같이 쓰는 함수: LINKTOFILTEREDVIEW()

** 자주 쓰는 기능입니다. 연결된 테이블에 값을 추가하기 위한 Form을 열 때 선택된 행의 값을 추가할 행의 Initial 값으로 활용할 수 있습니다.

 

다음은 Data에 대해 정의할 수 있는 작업들입니다.

Action: Data 설명
Data: delete this row 이 행을 삭제합니다.
Data: execute an action on a set of rows 여러 행에 대해서 지정된 (다른) 액션을 수행합니다.
Data: set the value of some columns in this row* 이 행의 지정한 컬럼의 값을 설정한 값으로 변경합니다.
Data: add a new row to another table by using values from this row** 이 행의 값들을 이용하여 다른 테이블에 새 행을 만듭니다.

* 자주 쓰는 기능입니다. 데이터 수정에 대한 자동화 작업을 위해 활용할 수 있습니다.

** 자주 쓰는 기능입니다. Form이 열리지 않고 데이터가 바로 추가됩니다.

 

그리고 External에 대해 정의할 수 있는 작업들입니다.

Action: External 설명
External: go to a website* 웹사이트로 이동합니다.
External: open a file 외부 파일을 엽니다.
External: start an email (기본 메일 앱에서) 이메일을 작성합니다.
External: start a phone call (기본 전화 앱에서) 전화를 겁니다.
External: start a text message (기본 문자 앱에서) 문자를 보냅니다.

* 자주 쓰는 기능입니다. 홈페이지나 외부 사이트에 연결하고 싶을 때 사용합니다. 데이터에 파일 링크가 입력된 경우 open a file 대신 사용하기도 합니다.

 

그 외에, Grouped 라는 작업을 정의할 수 있습니다.

Action: Grouped 설명
Grouped: execute a sequence of actions* 여러 액션을 한번에 실행합니다.

* 자주 쓰는 기능입니다. 버튼을 한 번만 클릭해도 여러 개의 액션이 한번에 실행되어 보다 다양한 자동화 작업이 가능해집니다.

 

 

● Actions 를 사용하는 방법

Behavior 로 할 수 있는 것들이 뭔지 잘 파악하고 나면 본격적으로 Actions 를 사용해 보아야 할 것입니다. Actions 를 사용할 때 구체적으로 어떻게 설정해야 하는지 몇 가지 예시와 함께 설명해 보겠습니다.

  예시1. Actions 를 통해 데이터 변경하기

기본적으로 AppSheet 사용자가 데이터를 변경하기 위해서는 시스템에서 생성된 Edit 이라는 버튼을 눌러 편집을 진행한 뒤, 저장 버튼을 눌러 변경사항을 저장해 주어야 합니다. 다만 이는 사용자 입장에서는 꽤 번거롭게 느껴질 수 있습니다. 따라서 자주 이루어지는 편집 작업에 대해서는 Actions 로 지정하여 작업 소요를 줄여 주시는 것이 좋습니다.

또한 이 방법을 사용하게 되면 사용자가 무엇을 할 수 있으며 무엇을 해야 하는지 조금 더 직관적으로 확인할 수 있고, 데이터를 실수로 잘못 입력하지 못하게 됩니다.

다만 주의할 점은 Behavior 작업을 추가할 때 여러 사용자가 함께 작업을 진행했을 때를 고려해 주어야 한다는 것입니다. 예를 들어 아래와 같이 사과의 갯수에 1을 더해주는 Actions 와 사과의 갯수에 2를 곱해주는 Actions 가 있다고 가정해 봅시다.

한 사용자만 이 앱을 사용한다면 상관없지만, 만약 동시에 여러 사용자가 이 앱에 접속하여 한번에 +1과 *2 버튼을 누른다면 어떻게 될까요? 정답은 먼저 버튼을 누른 사용자의 작업만 반영이 됩니다. 나중에 버튼을 누른 사용자가 동기화를 하면 사과의 갯수가 먼저 버튼을 누른 사람의 값으로 변경됩니다. 만약 이러한 작업이 필요하다면 다른 방식으로 Actions 를 사용해 주어야 합니다.

그 방식은 사과 갯수라는 신규 테이블을 만든 후, +1 또는 *2 버튼을 눌렀을 때 바로 갯수가 바뀌는 것이 아니라, +1 또는 *2 버튼을 눌렀을 때 사과 갯수 테이블에 어떤 버튼을 눌렀는지에 대한 로그를 기록하게 하고, 사과의 갯수는 FORMULA를 통해 계산하는 방식입니다. 이렇게 하면 모든 Actions 작업이 누락되지 않고 진행될 것입니다.

  예시2. Actions 의 아이콘, 표시 방법과 표시 조건 정하기

Actions 는 최초 생성 시, 액션 작업이 지정된 테이블의 데이터를 사용하는 뷰 최상단에 종이비행기 모양의 아이콘 밑에 액션의 이름을 표시해주는 동그란 버튼 모양으로 보이게 됩니다.

Appearance 탭

앱의 아이콘과 표시 방법은 Behavior 메뉴에서 수정이 가능합니다. 먼저 Appearance 탭에서 Display name 을 변경하여 버튼의 이름을 바꿔줄 수 있고, Action icon 을 변경하여 버튼의 아이콘을 바꿔줄 수 있습니다. Prominence 또한 중요한데요, 어떤 옵션을 선택하는지에 따라 아래 이미지와 같이 표시가 됩니다.

Display as primary 옵션 선택 시
Display prominently 옵션 선택 시
Display inline 선택 후 Attach to column 옵션을 '갯수'로 지정할 시

또한 Do not display 옵션 선택 시 아이콘이 화면에서 사라집니다.

Behavior 탭

그 다음으로, 해당 Action의 Behavior 탭에서 앱이 표시되는 조건과, 버튼을 눌렀을 때 컨펌 메시지를 띄워서 한 번 더 확인할지를 결정할 수 있습니다.

Needs confirmation? 을 활성화 시키고 컨펌 메시지를 설정한 뒤 버튼을 누르면 아래와 같이 표시됩니다.

그 다음으로 Only if this condition is true 란에 적절한 FORMULA를 입력하여 앱에 버튼이 보이게 할지 말지를 선택할 수 있습니다. 예를 들어 [과일 아이디] = "사과" 와 같이 FORMULA 작성 후, 앱을 둘러보면 아래와 같이 [과일 아이디]가 "사과"일 때만 *2가 표시되는 것을 볼 수 있습니다.

그 외에도 CONTEXT("VIEWTYPE")="Detail" 과 같이 조건을 설정하면 Detail 뷰에서만 해당 버튼이 보이게 됩니다. 또한, 뷰마다 데이터 슬라이스를 만들어 버튼 표시를 제한하는 방법도 있습니다. 데이터 슬라이스를 만들 때 아래와 같이 해당 슬라이스에서 사용할 수 있는 버튼을 제한할 수 있습니다.

이후 해당 데이터 슬라이스를 뷰에 적용하면 그 뷰에서는 *2 버튼만 보이게 됩니다. 이 때 따로 지정하지 않으면 시스템에서 생성한 Actions 인 Add, Delete, Edit 버튼도 보이지 않게 됩니다. 참고하여 설정해 주시면 됩니다.

지금까지 Actions 로 할 수 있는 것들과 Actions 를 활용하는 방법에 대해 알아보았습니다. 이정도만 알고 사용해도 Actions 의 거의 모든 것을 알고 있다고 해도 과언이 아닙니다. 다음 시간에는 AppSheet 자동화의 두번째 핵심 기능인 Automation 기능에 대해 알아보도록 하겠습니다. 읽어주셔서 감사합니다. 같이 열심히 공부해 보아요~

반응형
반응형

본 사이트는 어떠한 단체나 기업과 무관한 독자적으로 운영되는 사이트 임을 명시합니다.

또한 모든 게시물은 특정 브랜드의 가치 손실 및 저작권 침해를 의도하지 않음을 알려드립니다.

게시글에 대한 문의는 댓글로 적어주시면 답변드리겠습니다.

This site is operated independently and has no affiliation with any group or company.

I also inform you that all postings do not intend to cause any loss of value to a particular brand or copyright infringement.

If you have any inquiries about the postings, please leave a comment and I will reply.

 
반응형
반응형

안녕하세요.

이번 시간에는 다양한 앱에서 쓰이는 Formula 예시들을 가져와 보았습니다. 입문 강의에서 다뤘던 내용보다는 조금 더 구체적이고 조금 더 실용적인 내용입니다. 입문 강의 내용은 아래 링크를 참고해 주시기 바랍니다.

 

[앱시트 입문] 07. 앱시트 앱 개발 Key Points - 외부 배포용 앱, 에러 핸들링, Formula 예시

안녕하세요. 앱시트 입문 개발자 분들을 위해 앱시트 앱 개발 Key Points를 정리해 보았습니다. 이 글은 앱시트를 스프레드시트와 연동해서 사용하시는 분들, 아직 앱시트의 에러 

appsheet.tistory.com

Formula 작성도 하다보면 생각보다 반복되는 내용이 많아서 그러한 수식들을 모아놓은 '나만의 라이브러리'를 작성하시는 것도 좋은 방법입니다. 공유하고 싶은 나만의 꿀팁이나, Formula 작성에 어려움을 겪고 계신 분들은 댓글로 남겨주시면 많은 사람들에게 도움이 될 것 같습니다.

그럼 시작해 볼까요?

 

 

● 캘린더 색깔 지정하기

먼저 가볍게 시작해 보겠습니다. 앱시트에서 캘린더를 쓰는 앱은 꽤 많습니다. 그런데 개발을 진행하다 보면 캘린더 색이 원하는대로 표시되지 않아 불편할 때가 있습니다. 예를 들어 [미완료]인 작업은 빨간색으로, [완료]된 작업은 초록 색으로 표시하고 싶은 경우입니다. 그럴 때는 새로운 가상 컬럼에 이렇게 Formula를 작성해 주시면 됩니다.

SWITCH(
    [상태],
    "미완료", "Red",
    "Green"
)

이후 캘린더 뷰에서 아래와 같이 Category를 설정해주면,

아래 이미지처럼 원하는대로 일정의 색을 바꿀 수 있습니다.

테스트: 미완료, 테스트2: 완료

 

 

● 첨부파일 템플릿 활용법

입력된 데이터를 바탕으로 견적서나 보고서 등을 자동으로 생성하는 앱의 경우 첨부파일 템플릿을 작성해 주어야 합니다. 이 때 변수들을 이중꺾음괄호 안에 넣게 되는데요, 이 때 변수 뿐만이 아니라 함수도 넣을 수 있습니다.

또한, 문서 템플릿에서 리스트를 가져오는 방법으로 Start-End 메소드를 사용할 수 있습니다. 이를 활용하면 템플릿 상에서 활성화 상태의 주문 리스트 정보를 가져오기 위해 아래와 같은 표를 작성할 수 있습니다.

상품 가격 수량 총 금액
<<Start: SELECT(주문[주문ID], [상태]="활성")>><<[상품ID].[상품 이름]>> <<[상품ID].[가격]>> 원 <<[수량]>> 개 <<[상품 ID].[가격] * [수량]>> 원<<End>>

복잡해 보일 수 있지만, 하나씩 뜯어서 보면 어렵지 않습니다.

  • Start-End 메소드로 리스트를 불러온다.
  • SELECT() 함수로 불러올 리스트를 결정한다.
  • 꺾음 괄호 안에 불러오고 싶은 <<변수>>를 지정한다.

아래는 이 테이블을 통해 만들어진 문서의 예시입니다.

상품 가격 수량 총 금액
앱시트 스타터 7,000 원 10 개 70,000 원
앱시트 코어 14,000 원 10 개 140,000 원

 

 

● SHOW? 의 조건 정하기

저는 SHOW? 의 조건으로 두 가지 정도의 방법을 사용합니다.

  • 첫 번째는 권한에 의한 설정입니다.

보통 사용자 Role이 Admin인 경우에 이렇게 Formula를 작성합니다.

USERROLE() = ADMIN

 

  • 두 번째는 사용자 입력값에 의한 설정입니다.

예를 들어, 아래와 같은 방법으로 Form 뷰에서 사용자가 [배송 방법]을 "배달"로 선택한 경우에만 [주소 입력] 이라는 컬럼이 보이도록 설정할 수 있습니다.

[배송 방법] = 배달

"수학", "과학", "영어" 세 개의 선택지를 가진 [좋아하는 과목] 이라는 이름의 EnumList 값에 따라 [수학 점수] 컬럼을 표시하기 위해 IN() 함수를 활용하면 아래와 같은 응용도 가능합니다.

IN(수학, [좋아하는 과목])

 

 

● 특정 뷰로 이동하기

기본적으로 앱시트에서 데이터를 볼 때, 그 데이터를 클릭하면 해당 데이터에 대한 디테일 뷰로 이동하게 됩니다. 그러나 지금 설명드리는 방법을 통해 해당 데이터를 클릭했을 때 일어날 일을 지정할 수 있습니다.

우선 아래와 같은 테이블을 만들어 줍니다.

링크ID 이름 이동할 뷰 설명
Link-1 1번 메뉴 Menu1 첫번째 메뉴로 이동합니다.
Link-2 2번 메뉴 Menu2 두번째 메뉴로 이동합니다.
Link-3 3번 메뉴 Menu3 세번째 메뉴로 이동합니다.
Link-4 4번 메뉴 Menu4 네번째 메뉴로 이동합니다.

이 테이블을 앱시트 뷰로 만들어주면 4 개의 항목이 만들어질 것입니다(보통은 카드 뷰나 덱 뷰 선호). 그 다음으로는 각 항목을 선택했을 때 실행할 액션을 아래의 Formula 와 함께 작성해 줍니다. 예를 들어, 저는 아래와 같이 작성하였습니다.

LINKTOVIEW([이동할 뷰])

이 액션을 실행하게 되면 [이동할 뷰] 컬럼에 적힌 이름을 가진 뷰로 이동하게 됩니다. 그 다음으로는 아래와 같이 뷰 선택 > Behavior > Event Actions 에서 데이터를 클릭했을 때(Row Selected) 실행할 액션을 선택합니다.

참고로 카드 뷰의 경우 Layout 란에서 지정해 주어야 합니다.

이렇게 하면 데이터를 클릭했을 때 원하는 메뉴로 이동할 수 있게 설정할 수 있습니다. 다른 Formula를 써서 얼마든지 응용 가능한지라 꽤 자주 쓰는 테크닉입니다.

 

 

● 통계를 위한 값 만들기

앱을 만들다 보면 통계 대시보드를 만들어야 할 때가 꽤 있습니다. 막상 통계 대시보드를 만들어보려고 하면 생각보다 쉽지 않은데요, 원리는 알고 보면 간단합니다. 결국 통계는 2차원 그래프고, 2차원 그래프는 x축과 y축을 뭘로 설정할지만 정하면 되는 거니까요.

간단하게 알아보겠습니다. 배송을 위한 앱에서 "승인 필요", "승인됨", "거부됨", "배송 완료" 의 4개의 값을 갖는 [배송 상태] 라는 Enum 타입의 컬럼에서 각 타입에 대해 최근 7일 간 주문이 몇 개씩 있는지 확인하기 위한 통계입니다. 이 경우 최근 7일 간의 데이터를 뽑아내기 위해 아래와 같은 Row filter condition을 갖는 데이터 슬라이스를 만들어 줍니다.

HOUR(TODAY() - [DateTime])/24  <= 7

그 다음으로는 차트 뷰를 만든 다음 만들어둔 데이터 슬라이스를 선택 후 View Options 를 아래와 같이 설정해주면 됩니다.

여기서 Group aggregate가 의미하는 것이 y축, Chart columns가 의미하는 것이 x축이 됩니다. 즉, 7일간 이루어진 주문 데이터(Delivery Status)에서 각 배송 상태에 대해서 항목의 갯수를 세어(COUNT) 표시해달라는 의미가 되는거죠. 실제 그래프는 아래와 같이 완성됩니다.

최근 7일간 이루어진 배송 건들

이렇게 다양한 앱에서 쓰이는 Formula 예시들을 가져와 보았는데요, 생각보다 Formula가 여기저기서 많이 쓰이고 있다는 것을 알 수가 있습니다. 조금 더 복잡한 예시를 가져와 볼까 생각도 해봤는데 설명만 복잡해지고 결국 기본 함수들을 잘 쓸 수 있다면 다 하실 수 있을 것 같아서 굳이 가져오지는 않았습니다. 그럼 글은 여기서 마무리 하고 다시 한 번 말씀드리자면, 공유하고 싶은 나만의 꿀팁이나, Formula 작성에 어려움을 겪고 계신 분들은 댓글로 남겨주시면 감사할 것 같습니다. 같이 열심히 공부해 보아요~

반응형
반응형

안녕하세요.

이번 글부터 앱시트 중급 가이드를 진행할 예정입니다.

앱시트 중급 개발자의 조건은 무엇일까요? 저는 이렇게 생각합니다.

  1. 앱을 만들고 이를 유지보수 할 수 있는 사람.
  2. 개발할 수 있는 것과 없는 것을 구분할 수 있는 사람.
  3. 앱시트의 대부분의 기능을 알고 이를 적절히 활용할 수 있는 사람

이번 시리즈를 통해서 당당한 앱시트 중급 개발자가 되시기를 바라겠습니다. 그럼, 첫번째 내용입니다.

앱을 아무리 꼼꼼히 개발해도 실제로 그 앱을 사용자들에게 배포하여 사용하기 시작하면 예상하지 못한 다양한 의견과 문제점들을 마주하기 마련입니다. 버그가 있거나, 사용이 편리하지 못하거나, 개발한 기능이 생각보다 유용하지 못한 것, 사용량에 따른 속도 저하 등의 문제점들인데요, 이럴 때는 앱에 새로운 업데이트 사항들을 적용해 주어야 합니다.

이번 글에서는 이러한 유지보수 과정에 있어서 앱시트가 얼마나 편리한지 소개하고, 유지보수에 관련된 다양한 방법 및 기능들에 대해 소개해 보려고 합니다.

그럼 시작해볼까요?

 

 

● 버전 기록

앱시트에서는 SAVE 버튼을 누를 때마다 새로운 앱의 버전으로 저장됩니다. 이를 버전 기록이라고 하는데요, 앱시트 편집기에서 Manage > Versions > Version History 메뉴로 들어가 'Get version history'를 누르면 현재 버전과 이전 버전의 앱을 확인하고, 그 버전으로 앱을 롤백할 수 있습니다. 버전 기록은 저장 후 즉시 목록에 나타나는 것은 아니며, 일정 시간(버전 별로 상이)이 지나면 자동으로 삭제됩니다.

만약 AppSheet Enterprise 버전을 사용하고 있다면 Stable 버전에 대한 이야기를 빼놓을 수 없을 것 같습니다. 이미 앱시트 입문 강의에서 간단히 소개드리긴 했었지만 다시 한 번 설명드리자면, Stable 버전이란 앱 개발자가 지정한 특정 버전으로, 사용자들은 해당 버전 기준의 앱에만 접속이 가능하며, 최신 업데이트 사항은 개발자가 또다른 Stable 버전을 갱신하기 전까지는 볼 수 없게 하는 기능입니다.

쉽게 말하면 이는 앱시트를 위한 배포 관리 기능 중 하나라고 보면 될 것 같습니다. 만약 다른 사용자들이 함께 앱을 사용하며, 앱에 대한 업데이트가 있을 예정이라면 Stable 버전은 꼭 지정해 두시는 것이 좋습니다. 이를 지정하지 않은 채 앱을 변경하다 보면 그 과정에서 사용자들이 에러 메세지를 보거나 앱을 사용하지 못하게 될 수도 있으니까요.

Stable 버전은 Manage > Versions > Stable Version 메뉴에서 'Make the current version the new stable version'이라는 버튼을 눌러 지정할 수 있습니다.

 

 

● 기존 앱 vs 앱시트 앱 유지보수 단계 비교

기존 앱 개발의 경우 유지보수 작업이 쉬운 편은 아니었습니다. 기존 앱 유지보수의 단계는 아래와 같습니다.

  1. 유지보수에 대한 요구사항을 정리하여 개발자에게 넘겨줍니다
  2. 개발자가 요구사항에 맞게 앱을 수정합니다
  3. 고객은 수정된 앱을 보고 다시 피드백을 제출합니다
  4. 고객의 마음에 들 때까지 2~3번 과정 반복
  5. 최종 앱의 버전에서 문제가 없는지 테스트를 진행합니다
  6. 앱을 다시 배포합니다

앱시트를 사용하면 이런 앱의 유지보수 작업을 최대한 간소화할 수 있습니다. 이미 배포된 Stable 버전의 앱이 있다는 가정 하에, 앱시트 앱은 다음과 같은 단계로 업데이트할 수 있습니다.

  1. 앱시트 편집기에서 현업 개발자가 직접 요구사항에 맞게 앱을 편집합니다.
  2. 편집이 완료된 후 앱에 문제가 없는지 테스트를 진행합니다
  3. 테스트 이후 앱의 Stable 버전을 갱신합니다.

이렇듯 앱시트를 사용하면 많은 커뮤니케이션 및 문서화 작업과 배포 작업이 생략되어 최대의 효율로 앱 유지보수가 가능하게 됩니다.

 

 

● 모니터링

앱을 유지보수하기 위해서는 사용자들이 정확히 어떤 작업을 통해 어떤 결과를 얻어냈는지 알 수 있어야 합니다. 앱의 관리자 및 개발자들은 모니터링 기능을 통해 사용자들이 어떤 작업을 했고, 어떤 결과값을 얻어냈는지 직접 확인할 수 있습니다. 모니터링은 앱 내부에서 수행되는 상호 작용에 대한 가시성과 투명성을 제공하여 앱에 대한 깊은 이해를 가능하게 한다는 면과, 애플리케이션에 발생하는 모든 오류를 해결하는 방법과 기능을 제공하고 있다는 점에서 아주 중요합니다. 앱시트의 모니터링은 아래와 같이 4가지로 분류할 수 있습니다.

    1. Automation 모니터링

→ Automation 작업에 대한 모니터링입니다. 봇에 대한 통계와 각 실행 작업에 대한 결과값 등을 한눈에 확인할 수 있습니다.

    2. 사용량 통계 모니터링

→ 몇 명의 사용자가 앱을 사용했는지, 각 사용자별로 얼마나 앱을 사용했는지 확인할 수 있습니다.

    3. 성능 모니터링

→ 각 동기화 작업을 진행하는 데 걸린 시간, 앱 버전에 따른 계산량 등을 확인할 수 있습니다.

    4. 사용자 활동 모니터링

→ 사용자의 작업 내용 및 출력된 결과값을 알려줍니다. 에러가 발생한 경우 에러의 원인도 확인할 수 있습니다.

 

이러한 모니터링 로그 자료들은 에러의 원인을 분석하거나 사용자들의 사용 경향을 파악하는데 아주 큰 도움을 줍니다. 또한, 모니터링 기록은 일정 기간이 지나면(버전 별로 상이) 자동으로 삭제됩니다.

 

 

● 앱 유지보수 시나리오

구글이 공식 문서에서 소개한 앱 유지보수 시나리오를 알려드립니다. AppSheet Core 버전에서 사용할 수 있는 방법이며, 구글에서 공식적으로 소개한 만큼 가장 안정적이고 효율적인 방법이라고 보셔도 좋을 것 같습니다. 그 과정은 아래와 같습니다.

  1. 앱 복사를 통해 Test environment를 생성하여 업데이트 내용 작업
  2. Manage > Versions > App upgrade > Copy app upgrade from 에 앱 이름 입력

이렇게 하게 되면 따로 Stable 버전을 지정하지 않고도 Stable 버전을 지정한 것과 같은 효과를 볼 수가 있습니다. 평범한 업데이트의 경우 이 방법을 사용하는 것이 안정성과 간편함을 동시에 보장하게 됩니다. 다만 데이터 소스 구조가 변경된 경우 업데이트에 다운타임이 필요합니다. 만약 업데이트 도중 사용자가 앱을 사용할 경우 오류가 발생할 수 있습니다. 데이터 소스 업데이트 방법은 데이터 > 각 변경된 테이블 > Storage > Source Path 에서 변경된 테이블을 지정해주면 됩니다.

지금까지 앱시트 앱을 유지보수하는 방법에 대해 알아보았습니다. 앱시트 앱 개발자 입장에서 꼭 한 번은 짚고 넘어가야 할 문제라서 다루어 보았는데요. 이론 위주의 내용이라 재미는 없으셨겠지만 이번 글을 통해 앱 유지보수에 어려움이 없는 진정한 중급 개발자로 거듭나시기를 바라겠습니다. 다음 시간에는 조금 더 재미있는, 자주 쓰이는 Formula 작성 예시에 대해서 알아보도록 하겠습니다. 같이 열심히 공부해 보아요~

반응형

+ Recent posts