本篇參考:http://salesforce.vidyard.com/watch/bLE3QNRSej2iasw9vvc6Tk
http://salesforce.vidyard.com/watch/kXk6BaNlWJP27UyFO8vNUg
前一篇講了custom community的開啟以及簡單的使用,custom community固然比較好,但是訪問的數據有限,如果需要和CRM數據相關的(Lead/Opportunity等),我們需要使用partner community license。本篇主要講解partner community的啟用以及數據權限的控制。
一. partner community的啟用
某個公司有某些產品使用salesforce進行銷售,其有很多重要客戶購買了產品作為了資產,當客戶購買產品使用以后覺得很好並且想作為合作伙伴共同進行協同銷售,此客戶便可以同時變成partner account,並且其對應的contact可以作為partner contact去共享數據操作。partner community的啟用步驟如下:
1. account page layout將Mobile & Lightning Actions中的Enable as Partner以及Disable Partner Account 兩個action移到page layout中;
2. contact page layout將Mobile & Lightning Actions中的Enable Partner User以及Disable Partner User兩個action移到page layout中;
這兩步做好以后我們就可以轉換一個account變成一個partner account了,demo中使用Edge Communications這個名字的account,我們申請的dev環境默認就有此客戶的數據信息。
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的數據權限相關的內容,篇中有錯誤地方歡迎指出,有不懂的歡迎留言。