Logo TucarioThe Tucario Blog

Model współdzielenia w Salesforce: zespoły, role i co dalej [Framework]

Kiedy wybrać team sharing w Salesforce, a kiedy hierarchię ról. Framework decyzyjny dla architektury modelu współdzielenia w organizacjach enterprise o złożonych wzorcach współpracy.

Agnieszka Bajdek

Konsultantka Salesforce, Tucario

4 min czytania

Udostępnij artykuł

Team Sharing w Salesforce to model uprawnień, który rozszerza dostęp do rekordów poza własność rekordu i hierarchię ról (role hierarchy). Umożliwia współpracę międzydziałową: właściciel rekordu lub administrator może udostępnić konkretne rekordy zespołom, grupom publicznym lub pojedynczym użytkownikom — bez zmiany ustawień org-wide defaults i bez przebudowy hierarchii ról.

Wybór między hierarchią ról a współdzieleniem zespołowym

Jak w praktyce działa team sharing?

Team sharing opiera się na regułach współdzielenia (sharing rules), które przyznają dostęp do konkretnych rekordów na podstawie członkostwa w zespole, a nie miejsca w strukturze organizacyjnej. Gdy użytkownik dołącza do zespołu, automatycznie uzyskuje dostęp do rekordów udostępnionych temu zespołowi.

Najważniejsze mechanizmy to:

  • Manual sharing — właściciel rekordu udostępnia pojedyncze rekordy ręcznie
  • Sharing rules — administrator definiuje współdzielenie oparte na kryteriach
  • Apex managed sharing — współdzielenie programistyczne dla złożonych scenariuszy
  • Zespoły — Account Teams, Opportunity Teams, Case Teams

Uwaga wdrożeniowa: reguły współdzielenia zespołowego są ewaluowane w czasie rzeczywistym. Zmiany w składzie zespołu działają natychmiast, bez konieczności pełnego przeliczenia współdzielenia (sharing recalculation).

Czas przeliczania współdzielenia to metryka, która zaskakuje większość organizacji. Widziałam wdrożenia, w których dodanie jednej dodatkowej reguły opartej na kryteriach wydłużyło recalc z minut do godzin. Organizacje, które dobrze sobie z tym radzą, traktują sharing rules jak dług techniczny: regularnie je przeglądają, usuwają nieużywane i konsolidują nakładające się kryteria, zanim wydajność stanie się problemem.

Jakie problemy rozwiązuje team sharing?

Tradycyjna hierarchia ról działa pionowo: menedżer widzi to, co widzą jego podwładni. Ale współczesne organizacje nie działają wyłącznie w pionie.

Typowe wyzwania, które adresuje team sharing:

  1. Międzydziałowe zespoły dealowe — sprzedaż, dział prawny i finanse muszą wspólnie pracować na tej samej szansie sprzedaży, choć nie łączy ich żadna linia raportowania
  2. Specjaliści regionalni — ekspert produktowy potrzebuje wglądu w konta z wielu terytoriów
  3. Dostęp projektowy — czasowy dostęp na potrzeby konkretnej inicjatywy
  4. Współpraca z partnerami — zewnętrzni partnerzy potrzebują ograniczonego dostępu do wybranych rekordów

Scenariusz, z którym spotykam się najczęściej: zespoły muszą współpracować na obiektach niestandardowych (custom objects) — projektach, zleceniach, rekordach specyficznych dla klienta — a standardowe współdzielenie do tego nie pasuje. Dotychczas oznaczało to albo skomplikowany kod współdzielenia w Apex, którego nikt nie chce utrzymywać, albo rekordy współdzielenia zarządzane ręcznie przez administratora, które rozjeżdżają się ze stanem faktycznym w ciągu kilku tygodni. Organizacje, które przechodzą na współdzielenie zespołowe na obiektach niestandardowych, zwykle raportują dwie rzeczy: mniej pracy administracyjnej i mniej zgłoszeń typu „nie widzę tego rekordu“.

Kiedy wybrać współdzielenie zespołowe, a kiedy hierarchię ról?

Decyzja zależy od wzorca dostępu:

Scenariusz Rekomendowane podejście
Menedżer potrzebuje wglądu w rekordy swojego zespołu Hierarchia ról
Współpraca międzydziałowa na wybranych rekordach Team sharing
Dashboardy zarządu obejmujące całą organizację Hierarchia ról
Czasowy dostęp projektowy Team sharing
Ograniczenia dostępu wynikające z compliance Sharing rules + zespoły

Kwestia wydajności: nadmiar reguł współdzielenia może pogorszyć wydajność zapytań przy dużej skali. Testuj na wolumenach danych zbliżonych do produkcyjnych, zanim wdrożysz zmiany.

Jak wdrożyć team sharing w swojej organizacji?

Krok 1: zdefiniuj model współdzielenia

Zacznij od zmapowania wzorców współpracy:

  • Kto musi udostępniać rekordy komu?
  • Czy wzorzec dostępu jest czasowy, czy stały?
  • Jaki poziom dostępu jest potrzebny (Read, Edit)?

Krok 2: skonfiguruj zespoły i grupy

Dla standardowego współdzielenia zespołowego w Salesforce:

Setup → Users → Public Groups → New Group
Setup → Accounts → Account Teams → Enable

Jeśli potrzebujesz elastycznych struktur zespołowych, rozważ Flexible Team Share, który rozszerza natywną funkcjonalność zespołów na dowolny obiekt.

Krok 3: utwórz reguły współdzielenia

Przejdź do Setup → Sharing Settings i utwórz reguły współdzielenia oparte na kryteriach lub na właścicielu, odwołujące się do Twoich zespołów.

Krok 4: przetestuj i zweryfikuj

Użyj przycisku Sharing Hierarchy na rekordzie, aby sprawdzić, czy przyznane dostępy działają zgodnie z oczekiwaniami.

Każdy model współdzielenia, który wdrażałam, przechodzi ten sam test: tworzę użytkowników dla każdej kombinacji roli i profilu, a następnie systematycznie sprawdzam, do czego mają dostęp, a do czego nie. Czy widzą rekord? Czy mogą go edytować? Czy widzą rekordy powiązane? To żmudne, ale pominięcie tego kroku to najprostsza droga, by błędy współdzielenia trafiły na produkcję. A błędy są zawsze te same: ktoś założył, że dostęp będzie kaskadował, albo permission set przyznaje więcej, niż się spodziewano. Testy wyłapują to, zanim zrobią to użytkownicy.

Jakie są najczęstsze pułapki team sharingu?

Nadmierne udostępnianie i osierocone rekordy współdzielenia wokół jednego rekordu

1. Nadmierne udostępnianie

Zbyt szerokie otwarcie dostępu przeczy sensowi całego modelu bezpieczeństwa. Zacznij restrykcyjnie i rozszerzaj dostęp dopiero wtedy, gdy potrzeba zostanie faktycznie wykazana.

2. Osierocone rekordy współdzielenia

Gdy użytkownicy opuszczają zespoły, rekordy manual sharing mogą pozostać w systemie. Wdróż procedury regularnego czyszczenia.

3. Wydajność przy dużej skali

Duża liczba reguł współdzielenia wymaga przemyślanego indeksowania i optymalizacji zapytań. Monitoruj wydajność zapytań SOQL.

4. Brak spójnych wzorców

Gdy różne zespoły implementują współdzielenie każdy po swojemu, powstaje chaos. Udokumentuj i ustandaryzuj swoje podejście.

Architecture Decision Record: dokumentuj decyzje dotyczące modelu współdzielenia w ADR-ach. Przyszli administratorzy będą Ci wdzięczni.

Najważniejsze wnioski

  • Team sharing uzupełnia hierarchię ról, a nie ją zastępuje — używaj go do poziomych wzorców współpracy
  • Zacznij od jasnych wymagań, zanim cokolwiek wdrożysz. Zmapuj, kto potrzebuje dostępu do czego
  • Testuj na dużej skali, na wolumenach danych zbliżonych do produkcyjnych, przed wdrożeniem
  • Dokumentuj decyzje w architecture decision records — z myślą o utrzymaniu
  • Rozważ pakiety zarządzane (managed packages) takie jak Flexible Team Share przy złożonych strukturach zespołowych

Powiązane artykuły

Agnieszka Bajdek

Konsultantka Salesforce, Tucario

Konsultantka Salesforce w Tucario — firmie konsultingowo-produktowej Salesforce. Pracuje z enterprise’owymi orgami nad modelem współdzielenia i dostępów, konfiguracją orgów i rozwiązaniami, które da się utrzymać na co dzień.

Odkryj powiązane treści według tematu