Customineでカスタマイズされたアプリを、そのままDeploitで配布したとき、カスタマイズを実行する環境によっては以下のようなエラーが出てしまいます。
Customineが作成したカスタマイズファイルは、そのアプリでしか動作しないようになっているため、他のアプリに同じカスタマイズファイルを適用しても実行できません。
なおCustomineプロジェクトを参照した状態でCustomineカスタマイズを作成すると、別環境に同じようなアプリがあっても関係なく、対象のアプリに対してしか有効でないカスタマイズファイルになります。
このエラーを回避するには、Customineプロジェクトに対するカスタマイズを外し、Deploitで作成したプロジェクトに対してカスタマイズを設定しなおす必要があります。
Deploitで作成したプロジェクトを参照した状態でCustomineカスタマイズを作成すると、複数の環境のアプリを同じアプリとして扱い、各環境のアプリに対して有効なカスタマイズファイルになります。
設定手順
1.Deploitにプロジェクトと環境を用意する
プロジェクト・環境の作成手順については「チュートリアル」をご覧ください。
2.各環境にアプリを登録する
アプリの登録については「gusuku チュートリアル Step2」の「kintoneアプリの追加」をご覧ください。
アプリが複数ある場合には、アプリテンプレートでまとめて別環境に持っていく方法をお勧めします。
Deploitでアプリを追加する際、「開発環境」と「本番環境」のアプリを正しく紐付けるために、必ず「詳細設定」で「kintoneアプリ紐付け設定」を行ってください。
これにより、どの環境のアプリがどの環境のアプリと紐付いているかという指定が可能になります。
各環境にアプリを登録すると、このような状態になります。
これは、開発環境のスペースと本番環境のスペース両方に「テストA」というアプリが存在し、それぞれがDeploitに登録されている状態です。
3.カスタマイズしているアプリからカスタマイズを取り除く
Customineで「アプリスロットの開放」を行うことでアプリからJavaScriptファイルを削除することができます。アプリスロットを解放する方法については「不要なアプリスロットをどうすれば解放できますか?」をご覧ください。
4.カスタマイズを入れなおす
Customineで元のカスタマイズをコピーし、Deploitで作成したプロジェクトのアプリへのカスタマイズとして再度登録する必要があります。
カスタマイズのコピーは、ファイルへの書き出しとファイルの読み込みを使うことで楽になります。「カスタマイズのファイルへの書き出し・読み込み方法」をご覧ください。
今回の場合は、ドライブ画面で「新規のカスタマイズ作成」で対象アプリを選択し、カスタマイズ画面を開いてから読み込む必要があるのですが、対象アプリを選択する際には注意が必要です。
「gusukuプロジェクト」でDeploitで作成したプロジェクトを選択してからアプリを選択する必要があります。
また、読み込み時には「現在のカスタマイズに追記する形で読み込む」から読み込む必要があります。
Deploitで作成したプロジェクトに対するカスタマイズは、ドライブ画面では各環境のアプリへのリンクが表示されます。(下の画像内の上がDeploitで作成したプロジェクトに対するカスタマイズ、下がCustomineプロジェクトに対するカスタマイズです)
この状態になった後、Deploitでアプリを再度取り込んで別環境に反映すると、カスタマイズも正常に動作します。