はじめに
本記事は gusuku Deploit のハンズオン資料です。
今回は gusuku Deploit 中心のハンズオンとなるため、kintoneの基本的な操作部分は省略していますのでご了承下さい。
gusuku Deploit(グスク デプロイット)とは?
そもそも gusuku Deploit とは何なのか
kintoneによるアプリの運用・開発をサポートするサービス。
ざっくり言えば、kintone単体の機能だと実現が難しかったり、ひと手間がかかるような作業を、ブラウザ上から簡単な操作でできるようにしたサービスです。
※2018年2月にgusuku Customineが発表されたことを受け、既存の gusuku が gusuku Deploit(グスク デプロイット)と名称変更となりました!
gusuku Deploit の三大機能
gusuku Deploit には大きく分けて3つの機能があります。
基本機能をベースに、オプションという位置づけで
- kintoneデータのバックアップ&リストア機能
- Excelを使った帳票出力機能
- 基本機能
- kintoneアプリのフォーム設計情報の管理機能(バックアップ含む)
- kintoneアプリの配布機能
- オプション機能
- kintoneデータのバックアップ&リストア
- Excel帳票出力(プラグインを利用)
gusuku Deploit の基本機能を使ってみよう
gusuku Deploit はkintoneと同じ SaaS です。
ブラウザからアクセスして利用します。
また、原則kintoneとセットで利用するもので、単体では利用できません。
gusuku Deploit ログイン画面
https://app.gusuku.io/
gusuku Deploit を利用する前の事前準備
【オプションコンテンツ用】kintoneで利用するユーザーを登録
各自ご用意されたkintone環境(開発者アカウント)に管理者アカウントでログインして下さい。
cybozu.comの共通管理画面で、以下の組織とユーザーを登録します。
田中一夫: tanaka(営業部)
山田次郎: yamada(営業部)
鈴木光子: suzuki(営業部)
佐藤良枝: sato(経理部)
まず、「組織とユーザーの設定」から「営業部」「経理部」の2つの組織を追加します。
ユーザー情報は今回csvをご用意していますので、csvからインポートを行います。
その前に、システム管理 > セキュリティ > ログインの「ログインのセキュリティ設定」画面でパスワードが書き換わらないように「仮パスワードの変更」のチェックは外しておきます。
ユーザー管理 > 一括操作 > ファイルからの読み込みの画面でcsvファイルを参照して読み込みます。
ファイル読み込み後、各ユーザーごとの「ユーザー情報の編集」画面を開きます。
「利用するサービス」で「kintone」にチェックを付けて下さい。
最終的には以下のような形になればOK。
営業部
経理部
スペースを作成する
kintoneに「開発環境」「本番環境」というスペースを作成します。
実業務では通常のスペースやポータルであるケースもあるかと思います。
今回はハンズオンなので「本番環境」ということがわかりやすいように、ゲストスペースで本番環境を作成します。
- 開発環境: 通常のスペース
- 本番環境: ゲストスペース
開発環境(通常のスペース)
開発環境スペースということで、今回は非公開スペースで「参加メンバーだけにこのスペースを公開する」にチェックをいれます。
「スペースのポータルと複数のスレッドを使用する」のチェックは任意でOKです。
本番環境(ゲストスペース)
「スペースのポータルと複数のスレッドを使用する」のチェックは任意でOKです。
スペースにユーザーを追加
以下の図のように各スペースにユーザーを追加して下さい。
【注】本番環境はゲストスペースという性質上、組織単位でのユーザー指定ができないため、ユーザー単位での追加となります。参照:【補足】スペースの種類によるユーザー指定の差異
開発環境(通常のスペース)
本番環境(ゲストスペース)
開発環境にkintoneアプリを登録する
今回はサンプルアプリ(顧客情報アプリ・案件管理アプリの2つ)を用意しています。
zipのままアプリテンプレートとして読み込んで下さい。
gusuku Deploit を利用しよう
メールアドレスもしくはSNS連携でアカウントの新規登録
gusuku Deploit のログイン画面からアカウントの新規登録を行います。
メールアドレスを利用してアカウントを新規登録する場合は、他者と共有しているメールアドレスはできるだけ避けてください。
自分以外の担当者による誤登録防止のためです。
共有してるけど 他の担当者が勝手に登録することはない! っていう自信がある人は使ってもらってOKです
メールアドレスを利用して新規登録する場合、メールアドレスを入力し、「はじめてgusukuを利用します」にチェックを入れ「サインイン」をクリックします。
すると以下のようなダイアログが出ますので、メールが届いているかチェックして下さい。
以下のようなメールが届いていれば、メール本文記載のURLをクリック。
gusukuのサインアップを完了するには、以下のURLにアクセスし
確認コードを入力してください。
URL:
https://app.gusuku.io/mailconfirm/****** // このURLをクリック
確認コード:
*****
----------------------------------------
上記URLの有効期限は
2018/03/14 10:42
です。それまでに確認コードの入力を行ってください。
メール記載の確認コードと、ログイン用の任意のパスワードを設定してログインします。
パスワードは12文字以下で設定をしてもらう必要があります。
プロジェクトを作成する
gusuku Deploit に登録すると、チュートリアル画面が表示されますので、この手順に沿って作業を行っていきます。
プロジェクト名を新しく設定します。今回は営業支援用のアプリということで、プロジェクト名を「営業支援」としてみました。
gusuku Deploit で環境を作成する
gusuku Deploit ではkintoneのアプリはマトリックス(図のような表の中)で管理されます。
アプリのフォーム設計情報は、このマトリックス上にある範囲で管理されます。
関連レコードやルックアップなど、紐付いているアプリと相関的に見ることができるというのがメリット。
同じ行にあるアプリは
gusuku Deploit の管理上「同一構造のアプリ(=違う環境にある同一アプリ)」という意味になります。
【補足】アプリ単位でもう少しフォームの設計情報を詳しく見たいという時
例)アクセス権がどのように設定されているか
ルックアップや関連レコードでどのフィールドが紐付いているか...etc
kintoneアプリのフォーム設計情報をExcel形式でDLできます。こんな形で。
JSONオブジェクトをExcelでちょっと見やすくしてるような形ですが、それでもフィールド名やフィールドコード、フィールドタイプなどが一覧で見れるのはJavaScriptでカスタマイズする時などに有効です。
kintoneにアクセスせずに設計情報Excel見るだけでフィールドコードもフィールドタイプも一発でわかるので
フィールド名とフィールドコードがパッと見でわかりやすいのはもちろんですが、ルックアップ情報や関連レコード情報でどのアプリに紐付いてたっけ?というのもappidベースになっていて特定しやすいことも使いやすさのひとつ。
kintoneで見ると、アプリ名一緒だけど実は別のスペース上にあるアプリに紐付いてたなんてこともあるからね…
環境を作成する
一般的にはシステム開発の流れに沿って「開発環境→(ステージング環境)→本番環境」のような形で作成します。
逆でも動作的には問題ないけど、設計上矢印が左から右の向き(→)なので合わせてもらうほうがきっとわかりやすいはず
kintone側の環境名(スペース / ゲストスペース / ポータル)とgusuku Deploit 側の環境名を一致させる必要はありません
が、たぶん一致させるほうが管理面でもわかりやすいというのはあるかも
環境作成時に、kintoneの環境を登録します。
登録で必要なのはkintoneのURLにも含まれている以下の情報。
- kintoneのサブドメイン名
- スペースID
- スレッドID
- kintoneログインユーザー情報
- kintoneシステム管理者もしくは最低でもアプリ管理者の権限が付いているユーザーが必要
サブドメイン名・スペースID&スレッドIDの調べ方
kintoneのURLでスペースにアクセスした時に表示されるURLから確認ができます。
このURLの場合は、スペースIDは「2」スレッドIDも「2」となります。
新規環境作成で↑で調べた情報を入力していきます。まずは開発環境の作成から。
BASIC認証が有効な環境の場合:BASIC認証のアカウント情報も登録をして下さい。
次に、本番環境を、開発環境の後にくるように作成していきます。
「前の環境」で先に作成した開発環境を選択するのを忘れないようにしましょう。
また、本番環境はゲストスペースで作成しているので、スペース識別指定もゲストスペースを選択します。
kintoneアプリの登録
環境ができたところで、kintoneアプリを登録します。
アプリの登録に必要なのはkintoneのURLに含まれている以下の情報。
- kintoneアプリのアプリID(appid)
appidの調べ方
kintoneのURLでアプリにアクセスした時に表示されるURLから確認ができます。
作成した環境名の上をクリックします。
kintoneアプリは開発環境スペースに作成しているので、開発環境をクリックします。
アプリは2つあるので、顧客情報アプリと、案件管理アプリをそれぞれ登録します。
最終的に以下のような形になれば、kintoneのアプリがgusuku Deploit 上に登録されたことになります。
ここにアプリが登録されてはじめて、gusuku Deploit でフォームの設計情報の管理が始まります。
登録した段階でバージョンは「1」となります。
このバージョンを起点に「アプリの取り込み」や「配布」という作業が行われるごとにバージョンが上がっていきます。
gusuku Deploit を使ってkintoneアプリを本番環境に配布しよう
開発環境に登録したアプリを、いよいよgusuku Deploitを使って本番環境に配布します。
今回は、ルックアップの設定が入っているアプリとなります。
独立しているアプリであれば特に配布する順番は考慮しなくてもOKなのですが、今回はルックアップが設定されているアプリなので、配布する順番が重要になってきます。
【注意】ルックアップで紐付いているアプリの場合はマスタ(参照先)を先に配布しないと、以下のようなエラーが発生します。
アプリの配布方法
配布する時は2つのパターンがあります。
- マトリックス上から直接配布するパターン
- 詳細画面からバージョンを指定して配布するパターン
マトリックス上から配布した場合
最新のバージョンで「即時運用開始」(=アプリが公開された状態)で配布されます。
詳細画面から配布した場合
チェックを入れなかった場合は「運用開始前」(=アプリが公開される前の状態)となり、アプリは指定したスペース上には公開されない状態です。
その場合は、kintoneの設定画面から「アプリを公開」をクリックしてもらう必要があります。
初回の配布の時は配布先にはアプリがない状態なので、「即時運用開始」で問題ないと思われます
今回はマトリックス上から配布を行ってみます。
顧客情報アプリを配布した後に、案件管理アプリを配布して下さい。
配布する時にアクセス権やプロセス管理の設定も一緒に持っていきたいということであれば、配布の画面でチェックを入れることでアクセス権やプロセス管理の設定も一緒に配布することが可能です。
今回は特に設定は行っていないので、チェックは外しておきます。
配布が完了すると「未デプロイ」と空になっていたところに新しくappidがついたアプリが入りました。
kintoneにログインしてみると、ゲストスペース上でアプリを作成していないのにアプリが生成されています。
gusuku Deploit を利用することで、kintoneにログインすることなく、gusuku Deploit上の操作のみでアプリを配布することができるというところがメリットです。
また、今回はひとつのkintoneの中に開発環境・本番環境というスペースを分けて作成しましたが、gusuku Deploitでは、別々の契約(=ドメイン)をマトリックス上で管理することもできます。
別々の契約をgusuku Deploitで管理している例
このマトリックス上で並んでいるアプリであれば契約を越えて配布ができるので、今までであればA.cybozu.comという契約でアプリテンプレートを作成して、B.cybozu.comという契約でそのテンプレートからアプリを作る…というようにしていた人も、kintoneにログインせずにA.cybozu.comからB.cybozu.comにアプリを配布できるようになります。
gusuku Deploitでkintoneアプリの変更点を適用しよう
kintoneアプリでフィールドを追加(変更作業)
開発環境の[1]顧客情報アプリ に「顧客ランク」というフィールドを追加して保存します。
- フィールドタイプ: ドロップダウン
- 項目と順番&初期値: 図を参照
- フィールドコード: フィールド名と同一
アクセス権の追加
追加したフィールドに対してアクセス権を追加します。
「顧客ランク」フィールドを編集できるのは営業担当者のみとします。
- フィールドのアクセス権で「顧客ランク」を担当営業のみ「編集」「閲覧」ができるように
- それ以外の担当者は「閲覧」のみとする
gusuku Deploitにアプリの変更点を取り込む
kintoneの変更箇所は、「アプリの取り込み」という作業を行うことではじめてgusuku Deploitで管理されます。
gusuku Deploitでアプリの詳細画面を開き、「アプリ取り込み」をクリックします。
取り込む時にはメモの入力が必須です。
履歴として残るので、取り込み時点で行っている作業内容などを残しておくと良いかと思います。
「差分の確認」をクリックすると差分が表示されます。
Fields.properties[顧客ランク]: FieldProperties[type=DROP_DOWN] が追加されたフィールド。
JSONで取得したオブジェクトを単純に差分表示されているだけなので、一見するとちょっとわかりにくいですが、ここは今後もうちょっとわかりやすい表記になるかもしれない。
取り込んだ変更点を含めてアプリを配布する
「アプリ取り込み」と同じ詳細画面の「バージョン指定 / 他の環境への配布」で「本番環境」を選択
「即時運用開始」にチェックを入れます。
ここで「アクセス権の配布を試みる(配布先にユーザが存在しないと失敗します)」にチェックを入れるのを忘れないようにして下さい。
メモを入力して「保存して実行」をクリックします。
実際に変更点が適用されたか見てみよう
本番環境のアプリの設定を確認して、「顧客ランク」フィールドと、フィールドのアクセス権が設定されていることを確認して下さい。
【オプションコンテンツ】gusuku Deploit のバックアップオプションを利用してみよう
これはオプションコンテンツです。
時間があればハンズオンをやります。
【補足】スペースの種類によるユーザー指定の差異
アクセス権やスペースの設定でも共通で言えることですが、本番環境をゲストスペースで作成する場合は、ユーザー指定に注意が必要です。
通常のスペースの場合、組織単位でのユーザー指定が可能ですが、ゲストスペースでは組織単位では指定ができません。
そのため、組織単位で図のようにアクセス権を設定されている場合、
ゲストスペースでアクセス権等指定する場合は、ユーザー単位での指定となるということを覚えておいて下さい。
gusuku Deploit はkintone APIの制約に制限されるところもあるので、いろいろ試してみるとgusuku Deploit だけではなくてkintone APIにも詳しくなれちゃうかもしれません♪