ローカルでの変更の開発とテスト
学習の目的
- カスタマイズの連動関係を含む変更セットを作成する。
- 別の環境へのリリース接続を承認する。
- 変更セットを組織にアップロードする。
- 変更セットをコピーする必要がある状況を説明する。
切り離して開発
計画を立てた Calvin と Ella は、次の開発とローカルテストのフェーズに進みます。これらのフェーズを終了した時点で、それぞれ統合テスト環境にアップロードする変更セットと、アプリケーションにリリースする必要のある手動変更のリストが出来上がります。
カスタマイズの作成
Calvin は、Zephyrus の新しい語学研修プログラムのために次の 2 つのカスタムオブジェクトを作成します。
- Language Course (語学コース) オブジェクト - Zephyrus 独自の語学コースの情報を保存する。
- Language Course Designer (語学コース制作者) オブジェクト - Zephyrus 独自の語学コースの制作者の情報を保存する。
では、Calvin と一緒にカスタムオブジェクトを作成して微調整し、リリースに向けて準備しましょう。
カスタムオブジェクトの作成
Language Course (語学コース) オブジェクトから始めます。Calvin はこのオブジェクトを Developer Sandbox で作成します。
- Sandbox にログインした後、[設定] を起動します。
- [オブジェクトマネージャ] タブをクリックします。
- 右上にある [作成] | [カスタムオブジェクト] をクリックします。
- [表示ラベル] に、「Language Course」(語学コース) と入力します。[オブジェクト名] 項目と [レコード名] 項目は自動的に入力されます。
- [表示ラベル(複数形)] に、「Language Courses」(語学コース) と入力します。
- [新規カスタムタブウィザードを起動する] チェックボックスをオンにして、[保存] をクリックします。
- 目的のタブスタイルを選択し (このカスタムオブジェクトはコースを表すため Calvin は [黒板] を選択)、[次へ]、[次へ]、[保存] の順にクリックします。
次に Language Course Designer (語学コース制作者) オブジェクトを作成します。
- [設定] から、[オブジェクトマネージャ] タブをクリックします。
- 右上にある [作成] | [カスタムオブジェクト] をクリックします。
- [表示ラベル] に、「Language Course Designer」(語学コース制作者) と入力します。[オブジェクト名] 項目と [レコード名] 項目は自動的に入力されます。
- [表示ラベル (複数形)] に、「Language Course Designers」(語学コース制作者) と入力します。
- [新規カスタムタブウィザードを起動する] チェックボックスをオンにして、[保存] をクリックします。
- 目的のタブスタイルを選択し (Calvin は [プレゼンター] を選択)、[次へ]、[次へ]、[保存] の順にクリックします。
これらの変更を終了した Calvin は、チームの変更追跡ツールに変更箇所をメモします。
カスタムオブジェクト項目の定義
計画ステップで Calvin と関係者が両方のカスタムオブジェクトの項目定義を作成していたため、Calvin はここで簡単に項目を作成できます。
Language Course (語学コース) オブジェクトで重要となる項目は、どの語学コース制作者がクラスを作成したかを指定するものです。では、Calvin が 2 つの新しいカスタムオブジェクトを関連付けるこの項目をどのように作成するのか見てみましょう。
- [設定] から、[オブジェクトマネージャ] | [Language Course (語学コース)] に移動します。
- [項目とリレーション] をクリックします。名前項目など、すでにいくつかの項目が存在します。
- 右上にある [新規] をクリックします。
- データ型に、[主従関係] を選択します。
- [次へ] をクリックします。
- [関連先] メニューから [Language Course Designer (語学コース制作者)] を選択して、[次へ] をクリックします。
- 次のとおり入力します。
- 項目の表示ラベル: Language Course Designer(語学コース制作者)
- 説明: The author of this language course (この語学コースの作成者)
- [次へ]、[次へ]、[次へ]、[保存] の順にクリックします。
ここでも Calvin はチームの変更追跡ツールに変更箇所をメモします。
カスタムオブジェクトのローカルテスト
Calvin は自分の新しいカスタムオブジェクトを自身の環境でテストして、意図したとおりに動作することを確認し、必要に応じて変更します。カスタマイズが要件を満たしていることを確認したら、Calvin は変更をアーティファクトという変更セットにまとめます。このアーティファクトは共有の Developer Pro Sandbox に簡単に移動でき、この Sandbox でリリースの他のカスタマイズと統合できます。
送信変更セットの作成
Calvin は自身の Developer Sandbox で、Developer Pro Sandbox に移行する新しい変更セットを作成します。この変更セットには、Calvin がカスタマイズで作業した新しいメタデータコンポーネントと変更済みのメタデータコンポーネントが含まれます。Calvin が完全な変更セットを作成するためには、カスタマイズを対象環境で機能させるために必要なすべてのコンポーネントを含める必要があります。
Calvin は変更追跡ツールのレポートを確認して、新しい送信変更セットに次のものを 2 セット追加しなければならないことを確かめます。
- カスタムオブジェクト自体
- 作成したカスタムオブジェクトをサポートするコンポーネント
新しい Language Course (語学コース) カスタムオブジェクトは Language Course Designer (語学コース制作者) と主従関係にあります。つまり、Language Course (語学コース) コンポーネントは Language Course Designer (語学コース制作者) コンポーネントに連動します。この連動関係は、(語学コース制作者) コンポーネントが組織に存在しなければ、Language Course (語学コース) コンポーネントがその組織に存在できないことを意味します。
- [設定] から、[クイック検索] ボックスに「送信変更セット」と入力し、[送信変更セット] を選択します。
- [新規] をクリックします。
- 変更セットの名前を入力し、[保存] をクリックします。Calvin はこの変更セットに「Language Training」(語学研修) という名前を付けます。
- [変更セットコンポーネント] セクションで、[追加] をクリックします。
- コンポーネントの種別と追加するコンポーネントを選択して、[変更セットに追加] をクリックします。Calvin はコンポーネントの種別に [カスタムオブジェクト] を選択し、[Language Class (語学クラス)] と [Language Course Designer (語学コース制作者)] の両方を選択して、[変更セットに追加] をクリックします。
-
[連動関係を参照/追加] をクリックして、変更セットに追加したコンポーネントが他のカスタマイズと連動していないか確認します。
- 追加する連動コンポーネントを選択し、[変更セットに追加] をクリックします。
Calvin は、テストに使用する Sandbox にどの連動関係が存在するかまだわからないため、すべての連動関係を選択します。
コンポーネントの削除または名前変更
ここで面白い点は、変更セットを使用して新規コンポーネントや変更済みコンポーネントを追加できるのに、変更セットを使用してコンポーネントの削除や名前変更ができないことです。
- コンポーネントを削除する場合は、対象組織の Web インターフェースを使用します。
- コンポーネントの名前を変更する場合は、対象組織でコンポーネントを削除してから、変更セットに新しいコンポーネントをアップロードします。
プロファイルと権限セット
プロファイルや権限セットを含む独自の変更セットを作成する場合は、特別な考慮事項があります。先に進む前に、プロファイルや権限セットのリリースと取得に関するドキュメントを確認してください。
リリース接続の承認
セキュリティ対策として、変更セットを受け入れる組織で、その変更セットを受け入れるための接続を承認する必要があります。Calvin は Developer Pro Sandbox でリリース接続を承認し、Developer Sandbox から送信される変更セットを受信できるようにします。
- 受信変更を受け取る組織にログインします。Calvin の場合は、Zephyrus の共有 Developer Pro Sandbox です。
- [設定] から、[クイック検索] ボックスに「リリース設定」と入力し、[リリース設定] を選択します。
- 送信変更セットを受信する組織の横にある [編集] をクリックします。Calvin の場合は、カスタムオブジェクトを作成した Developer Sandbox です。
- [変更着信を許可] を選択して、[保存] をクリックします。
Calvin は自身の Developer Sandbox と、インテグレーションに使用する共有 Developer Pro Sandbox の接続を承認しました。この接続が確立されると、Developer Pro Sandbox が、Calvin の Developer Sandbox でアップロードされた変更セットを受け入れます。必要に応じて Calvin は、Developer Pro Sandbox でこの接続を無効にできます。
変更セットのアップロード
接続が承認されたら、Calvin は Developer Sandbox の自身の変更セットを Developer Pro Sandbox にアップロードします。
- 送信変更セットのある組織にログインします。Calvin の場合は、自身の Developer Sandbox です。
- [設定] から、[クイック検索] ボックスに「送信変更セット」と入力し、[送信変更セット] を選択します。
- アップロードする変更セットを見つけます。この場合は、Language Training (語学研修) 変更セットです。
- [アップロード] をクリックして、対象組織を選択します。Calvin は Developer Pro Sandbox を選択します。
対象組織へのアップロードが完了した時点で送信変更セットの詳細ページにメッセージが表示され、メール通知を受け取ります。
Calvin と組織の他のシステム管理者は、Developer Pro Sandbox で、アップロードされた変更セットをリリースする前に、その内容を確認できます。
あと一歩
Calvin の変更は準備できました。Ella も自身の開発者組織で変更を行って、変更セットにまとめました。新しい変更セットを Developer Pro Sandbox に移行するプロセスはどちらも同じです。
- Ella の Developer Sandbox と Developer Pro Sandbox 間のリリース接続を承認します。
- 変更セットを Ella の Sandbox から Developer Pro Sandbox にアップロードします。
両者の変更セットが Developer Pro Sandbox に届いたら、チームがインテグレーションテストプロセスに進むことができます。