はじめに
Edison Matchでは、表示する項目やEdison Matchから起動するフローの指定など、アプリの設定全般をJSONに定義します。
人材と募集をマッチングする設定JSONをデフォルトで人材オブジェクトレコードページに設定していますが、画面に表示する項目や操作するオブジェクトを変更する場合は、このページを参考に変更してください。
設定JSONサンプル
{
"search": {
"base": "MatchingTargets__c",
"target": "MatchingCandidates__c",
"icon":{"category":"standard","name":"search"},
"query": {
"sections": [
{
"title": "Base Infomation",
"items": [
{
"type": "normal",
"field": "Name",
"operator": "=",
"default": "Name"
}
]
}
]
}
},
"searchResult": {
"icon":{"category":"standard","name":"record"},
"output": {
"sobject": "MatchingResults__c",
"targetIdField": "MatchedCandidate__c",
"baseIdField": "MatchedTarget__c"
},
"flows": [
{
"label": "Sample Flow",
"apiName": "SampleFlow",
"inputVariable": "ids"
}
],
"columns": ["Name","Text__c","Url__c"]
},
"matchResult": {
"icon":{"category":"standard","name":"app"},
"columns": ["Name","MatchedTarget__c","MatchedCandidate__c"]
}
}
設定JSONレイアウト
設定JSONの各項目の説明を記します。
※表中の【リレーション】マーク
「オブジェクトのカスタマイズ」で用意した「マッチング候補データ格納オブジェクト 」がリレーションオブジェクトパターンの場合の設定値
| フィールド名 | 型 | 必須/任意 | 説明 |
|---|---|---|---|
| search.title | string | 任意 | 検索フォーム欄のタイトル 未設定の場合は「検索条件」と表示 表示例は「≪補足≫ コンポーネントのタイトル」参照 |
| search.icon | object | 任意 | 検索フォーム欄のタイトルに表示するアイコン 未設定ならcategory=”standard”, name=”search” が適用 |
| search.icon.category | string | 必須 ※search.iconを設定するなら必須 | 検索フォーム欄のタイトルに表示するアイコン 指定方法は「≪補足≫ コンポーネントのicon」参照 |
| search.icon.name | string | 必須 ※search.iconを設定するなら必須 | 〃 |
| search.base | string | 必須 | オブジェクトのカスタマイズで用意したマッチング先データ格納オブジェクト(※)のAPI参照名 |
| search.target | string | 必須 | オブジェクトのカスタマイズで用意したマッチング候補データ格納オブジェクト(※)のAPI参照名 【リレーション】 子オブジェクトのAPI参照名 |
| search.query | object | 必須 | 検索フォームに表示する検索条件 |
| search.query.sections | array<object> | 必須 | セクションごとに表示する検索条件 詳細は「≪補足≫ 検索フォームのセクション」参照 |
| search.query.sections[].title | string | 必須 | セクションのタイトル 詳細は「≪補足≫ 検索フォームのセクション」参照 |
| search.query.sections[].items | array<object> | 必須 | 検索項目 |
| search.query.sections[].items[].type | string | 必須 | 固定値”normal” |
| search.query.sections[].items[].field | string | 必須 | 検索項目のAPI参照名 検索条件に指定できないデータ型は「≪補足≫ 検索フォームの項目(fields)」を参照 【リレーション】 親オブジェクトと子オブジェクトのAPI参照名を指定可能 親オブジェクトの項目のAPI参照名は [「{親オブジェクトリレーション名}.{項目のAPI参照名}」形式で指定してください 例: ParentObj__r.ParentItem__c |
| search.query.sections[].items[].operator | string | 必須 | 画面初期表示時の比較演算子 fieldsに指定した項目のデータ型に応じて指定可能なoperatorが異なります。「≪補足≫ 検索フォームの比較演算子(operator)」を参照してください。 |
| search.query.sections[].items[].default | string | 必須 | 画面初期表示時の検索初期値 詳細は「≪補足≫ 検索フォームの初期値(default)」を参照 |
| searchResult.title | string | 任意 | 検索結果欄のタイトル 未設定の場合は「検索結果」と表示 表示例は「≪補足≫ コンポーネントのタイトル」参照 |
| searchResult.icon | object | 任意 | 検索結果欄のタイトルに表示するアイコン 未設定ならcategory=”standard”, name=”record” が適用 |
| searchResult.icon.category | string | 必須 ※searchResult.iconを設定するなら必須 | 検索結果欄のタイトルに表示するアイコン 指定方法は「≪補足≫ コンポーネントのicon」参照 |
| searchResult.icon.name | string | 必須 ※searchResult.iconを設定するなら必須 | 〃 |
| searchResult.output | object | 必須 | 検索結果を出力するマッチング結果格納オブジェクトについての設定 |
| searchResult.output.sobject | string | 必須 | オブジェクトのカスタマイズで用意した、マッチング結果格納オブジェクトのAPI参照名 |
| searchResult.output.baseIdField | string | 必須 | マッチング結果格納オブジェクト上のマッチング先データ格納オブジェクト参照項目 |
| searchResult.output.targetIdField | string | 必須 | マッチング結果格納オブジェクト上のマッチング候補データ格納オブジェクト参照項目 |
| searchResult.columns | array<string> | 必須 | 検索結果に表示するマッチング候補データ格納オブジェクトの項目のAPI参照名の配列 最大50項目指定可能。 ただし、項目数が少ないほどスムーズに検索結果が表示されるため、20項目程度が推奨 【リレーション】 親オブジェクトの項目のAPI参照名の配列 |
| searchResult.flows | array<object> | 任意 ※フローの準備で用意したフローを呼び出す場合のみ設定要。 | 検索結果のレコードIDを受け渡すフローの設定 呼び出すフローの分だけ以下のオブジェクトを指定 |
| searchResult.flows[].label | string | 必須 ※searchResult.flowsを設定するなら必須 | 画面上に表示するフローの名称 表示例は「≪補足≫検索結果から呼び出すフロー」参照 |
| searchResult.flows[].apiName | string | 必須 ※searchResult.flowsを設定するなら必須 | 起動するフローのAPI参照名 |
| searchResult.flows[].inputVariable | string | 必須 ※searchResult.flowsを設定するなら必須 | フローの準備で用意したフローに応じて以下のどちらか設定 ・recordId:画面フローに渡すレコードIDが1件だけの場合。 recordIdを入力値として指定したフローに、Edison Matchから複数件のレコードを渡した場合、レコードの件数と同じ回数フローが繰り返し呼び出される。 ・ids:画面フローに渡すレコードIDが複数件の場合 |
| matchResult.title | string | 任意 | マッチング結果欄のタイトル 未設定の場合は「マッチング結果」と表示 表示例は「≪補足≫ コンポーネントのタイトル」参照 |
| matchResult.icon | object | 任意 | マッチング結果欄のタイトルに表示するアイコン 未設定ならcategory=”standard”, name=”app” が適用 |
| matchResult.icon.category | string | 必須 ※matchResult.iconを設定するなら必須 | 検索フォーム欄のタイトルに表示するアイコン 指定方法は「≪補足≫ コンポーネントのicon」参照 |
| matchResult.icon.name | string | 必須 ※matchResult.iconを設定するなら必須 | 〃 |
| matchResult.columns | array<string> | 必須 | マッチング結果欄に表示するマッチング結果格納オブジェクトの項目のAPI参照名の配列 |
≪補足≫ コンポーネントのicon
iconはLightning Design Systemページにあるnameとcategoryの組み合わせで指定できます。
categoryは画面右下のCategoriesから選択できます。

≪補足≫ コンポーネントのタイトル
設定JSONのsearch.titleに設定した文言は、検索フォーム冒頭のアイコンの横に表示されます。
searchResult.title、matchResult.titleも同様です。

≪補足≫ 検索フォームのセクション
sectionsで要素を分けて設定すると、検索フォーム画面上も別々のセクションとして表示されます。
titleに各セクションの表題を設定し、itemsの中に各セクションに検索条件として表示させたい項目を設定してください。

≪補足≫ 検索フォームの項目(fields)
以下のデータ型は検索条件として指定できません。
- テキスト (暗号化)
- テキストエリア
- テキストエリア (リッチ)
- ロングテキストエリア
≪補足≫ 検索フォームの比較演算子(operator)
データ型ごとの使用可能な比較演算子は以下の通りです。
| データ型 | 使用可能な比較演算子 |
|---|---|
| テキスト URL 電話 メール | = (次と一致する) != (次と一致しない) LIKE (次を含む) BEGIN_WITH (次で始まる) END_WITH (次で終わる) IS_NULL (値が空である) IS_NOT_NULL (値が空ではない) |
| チェックボックス 参照項目 | = (次と一致する) != (次と一致しない) IS_NULL (値が空である) IS_NOT_NULL (値が空ではない) |
| 日付 日付/時間 時間 地理位置情報 通貨 数値 パーセント 選択リスト | IN (次の範囲に含まれる) NOT IN (次の範囲に含まれない) IS_NULL (値が空である) IS_NOT_NULL (値が空ではない) |
| 選択リスト (複数選択) | = (次と一致する) != (次と一致しない) INCLUDES (次を含む) EXCLUDES (次を含まない) IS_NULL (値が空である) IS_NOT_NULL (値が空ではない) |
≪補足≫ 検索フォームの初期値(default)
検索フォームの初期値には、以下3パターンの表示が可能です。
【パターン1】マッチング先データ格納オブジェクトの項目の値
【画面表示例】
マッチング先データ格納オブジェクトのテキストという項目の値を
検索フォームの検索条件テキストの初期値として設定する例。

【設定JSON設定方法】
search.query.sections[].items.defaultに、表示させたいマッチング先データ格納オブジェクト項目のAPI参照名を設定します。
以下は検索フォームに表示しているマッチング候補データ格納オブジェクトのEdisonMatch__ConditionText__cに、マッチング先データ格納オブジェクトのEdisonMatch__Text__cの値を表示する設定例です。
{
"search": {
"title": "案件検索",
"base": "EdisonMatch__MatchingTargets__c",
"target": "EdisonMatch__MatchingCandidates__c",
"query": {
"sections": [
{
"title": "文字列系",
"items": [
{
"type": "normal",
"field": "EdisonMatch__ConditionText__c",
"operator": "=",
"default": "EdisonMatch__Text__c"
}
]
},
以下略
【パターン2】固定値
【画面表示例】
検索フォームの検索条件テキストの初期値に「StaticText」という固定値を表示する例。

【設定JSON設定方法】
search.query.sections[].items.defaultに、固定値を定義するvalueというkeyを持ったオブジェクトを定義します。
以下は検索フォームに表示しているマッチング候補データ格納オブジェクトのEdisonMatch__ConditionText__cに、「StaticText」という固定値を表示する例です。
{
"search": {
"title": "案件検索",
"base": "EdisonMatch__MatchingTargets__c",
"target": "EdisonMatch__MatchingCandidates__c",
"query": {
"sections": [
{
"title": "文字列系",
"items": [
{
"type": "normal",
"field": "EdisonMatch__ConditionText__c",
"operator": "=",
"default": {
"value": "StaticText"
}
}
]
},
以下略尚、search.query.sections[].items.default.valueの定義方法は、検索対象のマッチング候補データ格納オブジェクトのデータ型に応じて異なります。
| データ型 | 設定例 | 説明 |
|---|---|---|
| Name テキスト 電話 URL | “default”: { “value”: “sample” } | valueには文字列を設定 |
| メール | “default”: { “value”:”sample@test.co.jp” } | valueにはメールアドレス形式の文字列を設定 |
| チェックボックス | “default”: { “value”: true } | valueには真偽値(true/false)を設定 ダブルクォーテーションは不要 |
| 日付 | “default”: { “value”: “2023-10-02” } | valueにはyyyy-mm-dd形式の文字列を設定 |
| 日付/時間 | “default”: { “value”: “2023-10-02 02:10” } | valueにはyyyy-mm-dd HH:mm形式の文字列を設定 |
| 時間 | “default”: { “value”: “12:10” } | valueにはHH:mm形式の文字列を設定 |
| 数値 通貨 パーセント | “default”: { “value”: “1234567.001” } | valueには数値をダブルクォーテーションで囲んだ文字列を設定 小数、マイナス値設定可能 |
| 選択リスト | “default”: { “value”: “A” } | valueには指定した項目の選択肢にある値を設定 選択肢にない項目が入力された場合、画面に表示されない |
| 選択リスト (複数選択) | “default”: { “value”: “A;B;C” } | valueには指定した項目の選択肢にある値を設定 複数の選択肢を設定する場合は、セミコロンで連結すること。 選択肢にない項目が入力された場合、画面に表示されない。選択肢に存在する項目のみ表示される。 |
| 地理位置情報 | “default”: { “value”: { “latLng”: {“latitude”:35.53278253295881, “longitude”:139.69711350599303 }, “radius”: 80 } } | valueには以下それぞれ数値設定 (ダブルクォーテーション不要) default.value.latLng.latitudeは検索中心地点の緯度、 default.value.latLng.longitudeは検索中心地点の軽度、 default.value.radiusは検索範囲の半径(単位:キロメートル)。 |
【パターン3】空白
【画面表示例】
検索フォームの検索条件テキストの初期値を空白で表示する例。

【設定JSON設定方法】
search.query.sections[].itemsのdefaultをkeyごと除去します。
以下は検索フォームに表示しているマッチング候補データ格納オブジェクトのEdisonMatch__ConditionText__cを空白表示する例。
field=EdisonMatch__ConditionText__cのitemsにdefaultが存在しないことがわかります。
{
"search": {
"title": "案件検索",
"base": "EdisonMatch__MatchingTargets__c",
"target": "EdisonMatch__MatchingCandidates__c",
"query": {
"sections": [
{
"title": "文字列系",
"items": [
{
"type": "normal",
"field": "EdisonMatch__ConditionText__c",
"operator": "="`
}
]
},
以下略
≪補足≫検索結果から呼び出すフロー
searchResult.flows[].labelには、画面でフローボタンを押した際に表示されるラベルを設定します。

searchResult.flows[].apiNameには、フローのAPI参照名を設定します。

設定JSONをアプリに設定
デフォルトでは人材オブジェクトのレコードページで「ページの編集」を押して、Lightningアプリケーションビルダーを表示します。検索フォームコンポーネントのプロパティに「設定JSON」という項目があるので、そちらに入力してください。(Record Id,Object Nameは入力不要です。)
オブジェクトのカスタマイズで人材以外のオブジェクトを使用するようにした場合は、そのオブジェクトのレコードページに設定してください。
コンポーネントをまだ配置していない場合はコンポーネントの配置をカスタマイズを参考に配置してから設定JSONを設定してください。
