Przejdź do głównej zawartości

Model danych

flowchart TB
    PARENT["<b>Rekord nadrzędny</b><br/>(Account, Case, itd.)<br/>───────────<br/>• Id<br/>• OwnerId<br/>• Name"]

    PARENT -->|"Record_Id__c<br/>(Text - klucz złożony)"| OTM

    OTM["<b>ObjectTeamMember__c</b><br/>───────────<br/>• Record_Id__c<br/>• User_Id__c<br/>• Access_Level__c<br/>• Role__c<br/>• End_Date__c"]

    OTM -->|"User_Id__c"| USER

    USER["<b>User</b><br/>(Obiekt standardowy)<br/>───────────<br/>• Id<br/>• Name<br/>• Email"]

    OTM -->|"Wyzwala utworzenie<br/>rekordu udostępnienia"| SHARE

    SHARE["<b>[Object]Share</b><br/>(AccountShare, CaseShare, itd.)<br/>───────────<br/>• ParentId<br/>• UserOrGroupId<br/>• AccessLevel<br/>• RowCause = 'Manual'"]
erDiagram
    PARENT_RECORD ||--o{ ObjectTeamMember__c : "Record_Id__c"
    User ||--o{ ObjectTeamMember__c : "User_Id__c"
    ObjectTeamMember__c ||--o| OBJECT_SHARE : "wyzwala utworzenie"

    PARENT_RECORD {
        Id Id PK
        Id OwnerId
        String Name
    }

    ObjectTeamMember__c {
        Id Id PK
        Text Record_Id__c FK
        Lookup User_Id__c FK
        Picklist Access_Level__c
        Picklist Role__c
        Date End_Date__c
    }

    User {
        Id Id PK
        String Name
        String Email
    }

    OBJECT_SHARE {
        Id Id PK
        Id ParentId FK
        Id UserOrGroupId FK
        String AccessLevel
        String RowCause
    }

Przechowuje przypisania członków zespołu łączące użytkownika z rekordem nadrzędnym.

PoleTypOpis
Record_Id__cTextKlucz złożony w formacie ObjectName:RecordId
User_Id__cLookup(User)Użytkownik będący członkiem zespołu
Access_Level__cPicklistRead Only, Read/Write
Role__cPicklistOwner, Manager, User
End_Date__cDateOpcjonalna data wygaśnięcia dla dostępu tymczasowego

Konfiguracja udostępniania per obiekt.

PoleTypOpis
Object_Api_Name__cTextNazwa API skonfigurowanego obiektu
Object_Label__cTextEtykieta wyświetlana dla obiektu
Is_Active__cCheckboxCzy udostępnianie zespołowe jest aktywne dla tego obiektu

Konfiguracja na poziomie aplikacji przechowywana jako Custom Metadata.

PoleTypOpis
IsActive__cCheckboxGłówny przełącznik dla aplikacji
Cleanup_Batch_Size__cNumberRozmiar partii dla zadań czyszczenia
Enable_Batch_Logging__cCheckboxWłącz logowanie debugowania w zadaniach wsadowych
Enable_Expired_Member_Cleanup__cCheckboxWłącz automatyczne czyszczenie wygasłych członków
flowchart LR
    MDT["<b>FlexiTeamShare_Config__mdt</b><br/>(Custom Metadata)<br/>───────────<br/>• IsActive__c<br/>• Cleanup_Batch_Size__c<br/>• Enable_Batch_Logging__c<br/>• Enable_Expired_Member_Cleanup__c"]

    MDT -->|"Konfiguruje zachowanie"| TSC

    TSC["<b>Team_Sharing_Config__c</b><br/>───────────<br/>• Object_Api_Name__c<br/>• Object_Label__c<br/>• Is_Active__c"]

    TSC -->|"Włącza obiekt"| PARENT["<b>Obiekty nadrzędne</b><br/>(Account, Case, itd.)"]
flowchart TB
    PARENT["Rekord nadrzędny<br/>(Account, Case, itd.)"]
    USER["User"]
    OTM["ObjectTeamMember__c"]
    SHARE["[Object]Share"]
    TSC["Team_Sharing_Config__c"]
    MDT["FlexiTeamShare_Config__mdt"]

    PARENT --> OTM
    USER --> OTM
    OTM --> SHARE
    MDT --> TSC
    TSC --> PARENT