カスタムオブジェクトがあり、さまざまなカスタムオブジェクトのrcordsを顧客に公開するSalesforceアプリケーションがあります。Salesforce APEXベースの共有。私は正しい方向にいますか?
お客様は、お客様が自分のアカウントに属するレコードのみを表示できるようにする必要があります。これらのレコードが設定されている(さまざまなレベルの処理でさまざまなシステムユーザが所有しているため)、所有者ベースの共有は使用できません。動的ではないため、基準ベースの共有は使用できません( "レコード "と同じアカウントに属しているすべてのカスタマーポータルユーザーとこのレコードを共有します。
私はApexベースの共有を使用する必要があることを知っています。私は共有オブジェクトと共有テーブルを読みました。しかし、私はこれにどのようにアプローチしますか?
私は、挿入時に共有オブジェクトを作成し、顧客ポータルグループに属し、そのアカウントがレコードのアカウントと等しいすべてのユーザーIDを取得し、それらをレコードの共有オブジェクトに関連付けるトリガを書くことができます。
しかし、私はこれが過労だと感じますか?私たちの顧客から5人のユーザーがいると言うと、1日に作成された500のレコードがあると言うことができます。つまり、1人の顧客に対して2500人の共有オブジェクトを意味します... 10人の顧客に対して、このようにスケール...
私はここですか?
もう1つの問題は、新しい顧客がその顧客チームに参加した場合です。別のプロセスが古いレコードの共有を更新しない限り、古いレコードは表示されません。
これを行うにはより良い/エレガントな方法がありますか?私はグループに共有オブジェクトを追加することを考えました...しかし、ただ1つのグループ "Customer portal group"があり、そのグループをユーザーのアカウントにどのように関連付けるのですか?
これについてのご意見をお待ちしております。
こんにちはラルフ、お返事ありがとうございました。私は大量のユーザーを読んで、その限界のいくつかが私の必要性を気にかけないと思った。たとえば、ロールや頂点ベースのセキュリティを使用することはできません。オブジェクトを1つしか表示できないが、他のオブジェクトを表示できないユーザーの間でユーザーをグループ化する必要がある場合はどうなりますか? –
答えとしてマーク...このルートに行くことを終了しました。 –
うん、あなたは標準の共有フレームワークのいずれかを得ることはありません。彼らは、ログインしようとしているユーザーのアカウントや連絡先を見たいレコードと比較することに基づいて、基本的なものをいくつか持っています。それ以外に、あなたはまた、あなたがオブジェクトにアクセスするユーザーのためにVisualforceページを作成する必要がありますを意味し、独自の共有モデルを実装する必要があります。 –