コンテンツにスキップ

Data Model

This content is for the 1.0 version. Switch to the latest version for up-to-date documentation.

このコンテンツはまだ日本語訳がありません。

flowchart TB
    PARENT["<b>Parent Record</b><br/>(Account, Case, etc.)<br/>───────────<br/>• Id<br/>• OwnerId<br/>• Name"]

    PARENT -->|"Record_Id__c<br/>(Text - composite key)"| 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/>(Standard Object)<br/>───────────<br/>• Id<br/>• Name<br/>• Email"]

    OTM -->|"Triggers share<br/>record creation"| SHARE

    SHARE["<b>[Object]Share</b><br/>(AccountShare, CaseShare, etc.)<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 : "triggers creation"

    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
    }

Stores team member assignments linking a user to a parent record.

FieldTypeDescription
Record_Id__cTextComposite key in format ObjectName:RecordId
User_Id__cLookup(User)The team member user
Access_Level__cPicklistRead Only, Read/Write
Role__cPicklistOwner, Manager, User
End_Date__cDateOptional expiration date for temporary access

Per-object configuration for team sharing.

FieldTypeDescription
Object_Api_Name__cTextAPI name of the configured object
Object_Label__cTextDisplay label for the object
Is_Active__cCheckboxWhether team sharing is active for this object

App-level configuration stored as Custom Metadata.

FieldTypeDescription
IsActive__cCheckboxMaster toggle for the app
Cleanup_Batch_Size__cNumberBatch size for cleanup jobs
Enable_Batch_Logging__cCheckboxEnable debug logging in batch jobs
Enable_Expired_Member_Cleanup__cCheckboxEnable automatic cleanup of expired members
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 -->|"Configures behavior"| TSC

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

    TSC -->|"Enables object"| PARENT["<b>Parent Objects</b><br/>(Account, Case, etc.)"]
flowchart TB
    PARENT["Parent Record<br/>(Account, Case, etc.)"]
    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