メインコンテンツへスキップ
App は、ホームとなる Room を持つデータアプリケーションです。データベース App は標準のレコード画面を提供し、カスタム App は独自の画面やビジネスロジックを追加します。型付きのレコード定義と文書化された API を通じて、人とエージェントが同じデータを操作します。 新しい構造化データは App として作成します。先に「テーブル」というリソースを作る必要はありません。

データベース App とカスタム App の違い

  • データベース App — 既定の種類です。レコード(エンティティ、フィールド、リレーション)を定義すると、Kylon がデータベースを用意し、Data Viewer でテーブル、ボード、カレンダーの各ビュー、保存ビュー、フィルター、グルーピング、レコードのディスカッションを使えます。ソースリポジトリやデプロイは不要です。
  • カスタム App — 独自のソースコードを持つ App です。カスタムページ、ダッシュボード、フォーム、公開サイト、独自 API、サーバー側のビジネスロジックに使います。ドラフトから構築し、公開前にプレビューで確認します。レコードを保存する場合はデータベースを使いますが、静的サイトにレコード定義は必須ではありません。
標準のレコード体験では足りなくなったら、データベース App をカスタム App にアップグレードできます。

App を見つけて使う

Apps にはアクセスできる App が表示されます。ホーム Room からも開けます。個人のサイドバーに表示したい場合は既存の App をピン留めします。作成とピン留めは別の操作です。テンプレートカタログから選んだ Room に App をインストールすることもできます。外部サービスへの接続は別途認可が必要です。 Data Viewer ではレコードを閲覧・編集し、テーブル、ボード、カレンダーのビューを切り替え、レコードのディスカッションを開けます。エージェントは app docs <app_id> で契約を確認して app api で操作します。保存ビュー、フィルター、並び順、グループ、表示フィールドは app data-view で管理する共有設定であり、レコードのアクセス制限ではありません。

アクセスと共有

App の構築、公開、移動、削除、共有範囲の変更はホーム Room の権限に従います。利用できる相手は App の可視性で決まります。 Data Viewer にレコードごとのアクセス制御はありません。App に入れる相手は、そこで公開されているすべてのレコードを読めます。フィルタービューで機密データを分離することはできません。エージェントが共有範囲を広げるときは、人の承認が必要です。 Share で適切なリンクを取得します。private と workspace のリンクはサインインが必要で、Room のメッセージやファイルへのアクセスは付与しません。古いカスタム App は、ワークスペース全体に共有する前に更新・再公開が必要な場合があります。

データベース App のライフサイクル

  1. app create で App を作成する。--runtime-kind custom_app を指定しない限り、データベース App になります。
  2. データベースをプロビジョニングし、スキーマを定義する。
  3. app register でエンティティとフィールドを登録し、Data Viewer と App API にデータの形を伝える。
  4. 運用する: app docs <app_id> で生成されたコントラクトを読み、app api で呼び出し、共有ビューは app data-view で調整します。
これらの手順は データベース App を作る(英語)で順に説明しています。App のレコードの変化に反応させたいときはオートメーションを使います。

カスタム App のドラフトと公開

カスタム App は、公開済みのリリースと作業中のドラフトを持ちます。ドラフトには独立したプレビューデータベースがあり、そこで編集したテストデータは公開版へコピーされません。スキーマと初期データの変更はバージョン管理されたマイグレーションに記述し、レビュー前にプレビューへ、公開時に本番へ適用します。 準備が完了したプレビューを確認して、そのデプロイを指定して公開します。公開はデプロイ済みコードを更新する操作であり、利用中のレコードを固定する操作ではありません。ドラフトの公開ボタンを使うか、確認したプレビューの公開をエージェントに依頼します。権限を持つ人は、その App に対するエージェントの公開を24時間または無期限で事前承認し、後から取り消せます。共有範囲を広げる判断は別途人が行います。 詳しくはカスタム App を構築・公開する(英語)を参照してください。

外部サービス

新しい App に外部サービスへの認可はありません。構築したエージェントが利用できる接続でも、App 用に明示的な認可が必要です。app connections list、grant、revoke で確認・管理します。認証情報はサーバー側に置き、App connections proxy(英語)経由で使用します。

App が管理するオートメーション

App の登録情報やソースでオートメーションを宣言できます。Room の一覧に Managed by App と表示され、一時停止、再開、手動実行、クレジット保護を操作できます。定義の変更は App の宣言で行います。オートメーションを参照してください。

従来のテーブル

App が登場する前、構造化データは独立したテーブルに置かれていました。既存のテーブルは、リソースごとの切り替え(カットオーバー)まで引き続き利用できます。table、row、field、view コマンドは、まだアップグレードされていないテーブルにのみ使えます。移行するには table upgrade-plan <table> を実行し、続けて table upgrade-to-app <table> を実行します。カットオーバー後は、置き換え先の App だけを使います。新しいテーブルは作成しないでください。

リファレンス

コマンド全体は kylon workspace app(英語)に記載されています。ワークスペースで最も大きなサブコマンドなので、フラグを覚えようとせず、生成されたリファレンスを参照してください。