Freigabemodell
Freigabearchitektur
Abschnitt betitelt „Freigabearchitektur“flowchart TB
subgraph SHARING["SHARING ARCHITECTURE"]
subgraph OTM["ObjectTeamMember__c"]
OTM1["OWD: Private"]
OTM2["Sharing: Custom via ObjectTeamMember__Share"]
OTM3["RowCause: ManualAccess__c"]
end
subgraph TSC["Team_Sharing_Config__c"]
TSC1["OWD: Public Read Only"]
TSC2["All users can read, admins modify"]
end
subgraph PARENT["Parent Objects<br/>(Account, Case, etc.)"]
P1["Requires: Private or Public Read Only OWD"]
P2["Sharing: Via [Object]Share"]
P3["RowCause: Manual"]
end
end
Wie Freigabe funktioniert
Abschnitt betitelt „Wie Freigabe funktioniert“ObjectTeamMember__c
Abschnitt betitelt „ObjectTeamMember__c“- OWD: Private
- Freigabemechanismus: Benutzerdefinierte Freigabe über
ObjectTeamMember__Share - RowCause:
ManualAccess__c
Wenn ein Teammitglied hinzugefügt wird, erstellt das System einen ObjectTeamMember__Share-Datensatz, damit das Teammitglied seinen eigenen Teammitgliedschaftsdatensatz sehen kann.
Team_Sharing_Config__c
Abschnitt betitelt „Team_Sharing_Config__c“- OWD: Public Read Only
- Alle Benutzer können die Konfiguration lesen (erforderlich für Komponenten-Rendering)
- Nur Administratoren können Konfigurationen ändern
Übergeordnete Objekte
Abschnitt betitelt „Übergeordnete Objekte“- Anforderung: Objekte müssen Private oder Public Read Only OWD haben
- Freigabemechanismus: Über Standard-
[Object]Share-Tabellen (z. B.AccountShare,CaseShare) - RowCause: Manual
Zugriffsebenenmapping
Abschnitt betitelt „Zugriffsebenenmapping“Wenn ein Teammitglied mit einer Zugriffsebene hinzugefügt wird, wird es auf den Salesforce-Freigabedatensatzzugriff gemappt:
| ObjectTeamMember__c Access_Level__c | [Object]Share AccessLevel | Beschreibung |
|---|---|---|
| Read Only | Read | Teammitglied kann den Datensatz anzeigen |
| Read/Write | Edit | Teammitglied kann den Datensatz anzeigen und bearbeiten |
Lebenszyklus von Freigabedatensätzen
Abschnitt betitelt „Lebenszyklus von Freigabedatensätzen“Freigaben erstellen
Abschnitt betitelt „Freigaben erstellen“Wenn ein Teammitglied hinzugefügt wird:
ObjectTeamMember__c-Datensatz wird eingefügt- Trigger wird ausgelöst und stellt
ShareRecordQueueablein die Warteschlange - Queueable erstellt zwei Freigabedatensätze:
- Parent-Freigabe:
[Object]Share-Datensatz, der dem Benutzer Zugriff auf den übergeordneten Datensatz gewährt - Teammitglied-Freigabe:
ObjectTeamMember__Share-Datensatz, der dem Benutzer Sichtbarkeit seiner Teammitgliedschaft gewährt
- Parent-Freigabe:
Freigaben aktualisieren
Abschnitt betitelt „Freigaben aktualisieren“Wenn sich die Zugriffsebene eines Teammitglieds ändert:
ObjectTeamMember__c-Datensatz wird aktualisiert- Trigger wird ausgelöst und stellt
ShareRecordQueueablein die Warteschlange - Queueable löscht alte Freigabe und erstellt neue mit aktualisierter Zugriffsebene
Freigaben löschen
Abschnitt betitelt „Freigaben löschen“Wenn ein Teammitglied entfernt wird:
ObjectTeamMember__c-Datensatz wird gelöscht- Trigger wird ausgelöst und stellt
ShareRecordQueueablein die Warteschlange - Queueable löscht beide Freigabedatensätze (Parent und Teammitglied)
Bulk-Neuberechnung
Abschnitt betitelt „Bulk-Neuberechnung“Wenn eine Freigabekonfiguration umgeschaltet wird:
- Deaktiviert:
SharingRecalculationBatchentfernt alle Freigabedatensätze für dieses Objekt - Reaktiviert:
SharingRecalculationBatcherstellt Freigabedatensätze für alle vorhandenen Teammitglieder neu
Unterstützte Share-Objekte
Abschnitt betitelt „Unterstützte Share-Objekte“Standardobjekte
Abschnitt betitelt „Standardobjekte“| Objekt | Freigabetabelle |
|---|---|
| Account | AccountShare |
| Contact | ContactShare |
| Case | CaseShare |
| Lead | LeadShare |
| Opportunity | OpportunityShare |
| Campaign | CampaignShare |
| Order | OrderShare |
Benutzerdefinierte Objekte
Abschnitt betitelt „Benutzerdefinierte Objekte“Benutzerdefinierte Objekte folgen dem Muster: ObjectName__c → ObjectName__Share
Das System verwendet eine fest codierte Whitelist für Standardobjekte und leitet den Freigabetabellennamen für benutzerdefinierte Objekte automatisch ab.
Bereitstellungsanforderungen
Abschnitt betitelt „Bereitstellungsanforderungen“Org-Anforderungen
Abschnitt betitelt „Org-Anforderungen“- Salesforce Enterprise Edition oder höher (für Freigabemodellunterstützung)
- Objekte müssen Private oder Public Read Only OWD haben, um von der Freigabe zu profitieren
Benutzeranforderungen
Abschnitt betitelt „Benutzeranforderungen“- Benutzer benötigen zugewiesenen entsprechenden Permission Set
- Benutzer benötigen Basiszugriff auf Objekte (z. B. Account-Lesezugriff, um Account-Teams zu verwenden)