本篇參考:http://salesforce.vidyard.com/watch/bLE3QNRSej2iasw9vvc6Tkide
http://salesforce.vidyard.com/watch/kXk6BaNlWJP27UyFO8vNUgui
前一篇講了custom community的開啓以及簡單的使用,custom community當然比較好,可是訪問的數據有限,若是須要和CRM數據相關的(Lead/Opportunity等),咱們須要使用partner community license。本篇主要講解partner community的啓用以及數據權限的控制。spa
一. partner community的啓用3d
某個公司有某些產品使用salesforce進行銷售,其有不少重要客戶購買了產品做爲了資產,當客戶購買產品使用之後以爲很好而且想做爲合做夥伴共同進行協同銷售,此客戶即可以同時變成partner account,而且其對應的contact能夠做爲partner contact去共享數據操做。partner community的啓用步驟以下:orm
1. account page layout將Mobile & Lightning Actions中的Enable as Partner以及Disable Partner Account 兩個action移到page layout中;blog
2. contact page layout將Mobile & Lightning Actions中的Enable Partner User以及Disable Partner User兩個action移到page layout中;開發
這兩步作好之後咱們就能夠轉換一個account變成一個partner account了,demo中使用Edge Communications這個名字的account,咱們申請的dev環境默認就有此客戶的數據信息。get
3. 當quick action處顯示的按鈕爲disable Partner Account說明咱們已經成功的enable partner account,Account的表中有字段 IsPartner來標記它是否爲一個partner account,默認狀況下咱們須要點擊Enable Partner Account按鈕變成一個partner account。權限控制
4. 當咱們對account轉換成partner account之後,即可以對他們的contact轉換成partner contact.默認顯示的quick action爲Enable Partner User,點擊此按鈕之後會跳轉到建立user的頁面,咱們只須要license選擇 Partner Community,Profile選擇Partner Community User便可。固然,若是 Partner Community User這個標準的profile搞定不了,建議你們能夠克隆一下這個profile,而後按照項目需求設置相關的權限。下圖中展現了Disable Partner User說明已經啓用成功,點擊Disable按鈕則會禁用。產品
這個是咱們建立的user信息,咱們默認建立的時候,理論上role是不用操做和選擇的,這裏是由於咱們設置了account role的層數超過了1,因此這裏能夠選擇,下面的章節會對數據訪問權限等進行講解。經過圖中信息咱們能夠看到當前的user上有一個字段爲contact,當contact掛值狀況下,表明這個user是一個community user。
5. 咱們建立一個template爲 Partner Central的community,配置好之後選擇Administrator|members將Partner Community User設置到available,而後settings將community 狀態設置成active便可。
二. Who see What
當咱們建立好partner community而且已經對account / contact轉換成相關的 partner account / partner contact之後,下一步應該考慮的是誰能看到什麼,怎麼設置默認權限,怎麼擴展權限,下面的內容將簡單的介紹一下community下的數據權限以及共享的簡單管理。
1. community role hierarchy
Salesforce針對數據的權限管理能夠大概分4層,Org-Wide Defaults / Role Hierarchy / Sharing Rules / Manual Share。這四層不論是內部仍是外部community針對數據權限控制都適用。
Org-Wide Default是最基本的控制,經過 profile / permission set來設置人員對於某個某些表的CRUD / View All / Modify All的權限。
Role Hierarchy在Salesforce中是一個特別經常使用的功能,你的上級領導業務上能夠看到他的全部的下屬的數據,這個就是基於role hierarchy默認實現,若是涉及到某些隱私的數據須要只有owner以及管理員能夠查看的狀況下,須要在sharing setting的grant access via role hierarchy反選。下圖中VP Channel Sales做爲Role中的最高點,默認狀況下,他就能夠看到US Channel Sales Director等全部的Role的數據,前提是grant access via role hierarchy勾選的狀況下。
Sharing Rules在咱們的項目開發中更是不可或缺的功能,當默認的sharing規則不能搞定全部的場景,某些場景可能級別低的針對某種場景也要協同合做的時候,能夠基於Sharing Rule設置自定義的共享規則來設置其餘 User / Group / Role的共享權限。好比account的industry 爲Energy狀況下須要共享給Group 名稱爲 Energy Core Members的全部成員有Read Only權限,不管members的Role是什麼,這時候就要用到了Sharing Rules了。
Sharing Rule有兩種實現,基於owner的以及基於條件的,這兩種經常使用功能你們不懂得自行補齊基礎知識。
Manual Sharing是針對數據owner的權利,數據的owner能夠將本身own的數據共享給別人去賦予別人對某條數據的權限。
在數據權限管理上,內部和外部是同樣的操做。在以前的custom中,咱們知道沒有role的概念,在partner community中,咱們能夠進行role的設置從而實現role hierarchy。在salesforce中最多能夠設置3層,在community setting中便可配置。固然,salesforce並不建議你們多配置層級,多配置層級會影響performance,因此一層能搞定的業務用一層,一層搞不定的用兩層,若是業務有必要的需求狀況下再用3層。
設置完之後,編輯之前的community user,即可以選擇這個community user的對應的role了,community user選擇的role的名字爲account 的name + manager / user等命名,設置完之後便實現了community 的role hierarchy。
2. community sharing setting
上面有提到過 sharing setting能夠擴展share權限。咱們在sharing setting處能夠設置內部和外部的基於某些表的訪問權限,salesforce要求的是針對外部的訪問權限應該小於等於內部的人的權限,即內部的人員對某個表的數據權限必定要高於外部。若是默認的sharing setting / sharing set以及role hierarchy知足不了狀況下,咱們能夠對外部的community 用戶設置sharing setting來擴充他們的數據訪問權限。下面的demo爲咱們設置若是Account的Industry 爲Energy狀況下,咱們須要共享給Group名稱爲Partner_Managers_and_Channel_Director的全部用戶,這個group中咱們放置了partner role爲Edge Communities Partner Manager。Sean的用戶咱們的角色爲這個manager,用來進行權限的共享實驗。
咱們先對Sean這個帳號訪問某個不是他own的account,demo中使用的是United Oil & Gas Corp. 咱們使用UserRecordAccess來查看當前的用戶對這條記錄的訪問權限發現他如今對這條記錄沒有read | edit權限,即當前這個community user訪問community也看不到這條記錄。
咱們以這個contact login as community查看的效果以下,圖中他能看到的account就只有他own的或者他的下屬的account。
默認的navigation menu可能沒有accounts,咱們應該按照下方的步驟,在community builder中操做而後publish。
點擊Add New Menu Item放在Sales 一級menu下按照圖配置便可。
接下來經過sharing setting對group進行share,從而實現community manager能夠看到industry爲energy的數據。而且賦予的權限爲read only。
從新運行之後能夠看到這個community user對這條記錄擁有了read 權限,可是沒有edit權限。
總結:篇中主要介紹了partner community的啓用,以及partner community的數據權限相關的內容,篇中有錯誤地方歡迎指出,有不懂的歡迎留言。