コミュニティ Experience Cloudのロール、データ共有について

・ロール階層は最大 3 階層まできます。

・外部ユーザ作成時に、取引先単位で自動的に作成されます。

   それぞれは以下となります。
      〇〇〇 顧客 ユーザ
      〇〇〇 顧客 マネージャー
      〇〇〇 顧客 エグゼクティブ
   標準オブジェクトのUserRoleで以下のようにになります。
portalrole: Worker,Manager,Executive
portaltype: Partner or CustomerPortal (カスタマーユーザ)
portalaccountid:関連取引先のID

共有セットを利用してデータを共有すると、上記のロール階層でのデータのアクセス制限が機能できなくなります。

・常識ですが、同一ロール階層のユーザ同士はデータの参照はできないです

・ロール有効化しづつ、一部のロール見えたくない場合、以下で手動で共有レコードを作成する。
・手動でロールに共有する場合:

① ○○○○_share のObjectに以下のようにレコードを作成する。

Member__share s = new Member__share();
s.parentid = 'xxxxxx';
s.UserOrGroupId='xxxxxx';
s.AccessLevel = 'Edit';
insert s;

※ parentid :共有したいレコードId
※ UserOrGroupId ← Select id FROM Group Where Type = 'Role' and relatedid='UserRoleのID'