雄司はじめに皆様こんにちは、テラスカイの丸山と申します。今期よりチームのサブイマネージャを担当しております。モットーは「スベることを恐れない」です。Communityでのレコードの共有方法について書かせて頂きます。Communityとは?ご存知の方もいるかとは思いますが、代理店のようなパートナー企業の方が使えるポータルサイトです。"別の代理店のデータは見えてはいけない"、"同じ代理店に所属するユーザにはデータを見せたい"と言った要件が出てくると思います。その際、レコードの公開範囲を設定する必要があります。データの共有設定方法は?どんな方法があるの?方法はいろいろあるかとは思いますが、主に下記の方法があります。共有ルール手動共有パートナースーパーユーザトリガ共有これらについて、設定方法やメリット・デメリットを交えてご紹介していきたいと思います。※以下、取引先(Account)オブジェクトに代理店の情報を格納している前提で説明します。1.共有ルール共有ルールを使って同じ代理店に所属するユーザに共有する方法です。パートナー取引先として有効化されている代理店に対してロールが自動で作成されますので、共有するレコードと共有先のユーザに同じ代理店のロールを設定します。簡単ですね!ただし、代理店が増える度に共有ルールを追加することになりますので、代理店数が多いとこの方法では一苦労するかもしれません。各レコードの共有ボタンより、直接共有を追加する方法です。この方法であれば、共有ルールでは対応できない共有も追加してあげることができます。データ作成の度にこの作業を行うのは骨が折れるかと思います。基本的な共有は共有ルールで行い、追加で手動共有、という運用がベターかもしれませんね。3.パートナースーパーユーザパートナースーパーユーザアクセスを有効化する方法です。こちらは同じロールに所属しているユーザのデータは参照可能、というものになります。この方法であれば、共有ルールや直接共有なんて設定しなくても簡単じゃん!と思われるかもしれませんが、執筆時点ではスーパーユーザ機能に対応しているオブジェクトはケース、リード、カスタムオブジェクト、および商談のみと限定されており、取引先や取引先責任者にはアクセスができないので注意が必要です。4.ApexトリガApexトリガを使えば、複雑な条件や特定のユーザまたは複数のユーザに一括で共有を追加することも可能です。Apexトリガは個別開発となるため、開発工数が増えることになります。当然ながら起動条件やガバナ制限の考慮も必要になりますね。さいごにいかがでしたか?ブログ初投稿だったので、幾夜も思い悩みました。Communityの導入に携わる方々の参考になれば幸いです。関連するキーワードセキュリティCommunitySalesforceTerraSkyBaseについてTerraSkyBaseはクラウドサービスを手掛ける株式会社テラスカイのコンテンツプラットフォームです。