1. 程式人生 > >Salesforce學習之路-admin篇(一)幾個簡單概念

Salesforce學習之路-admin篇(一)幾個簡單概念

Salesforce是一款非常強大的CRM(Customer Relationship Management)系統,國外企業使用十分頻繁,而國內目前僅有幾家在使用(當然,國內外企使用的依舊較多),因此相對來講,中文資料相對較少。這裡,結合之前參加的培訓和自己的一些理解,說說Salesforce的相關知識,如有誤之處,還請各位大佬們多多指點。


 

在剛接觸Salesforce時,自己申請個試用版(https://login.salesforce.com/.),註冊後便急急火火參考官網各種教程(https://trailhead.salesforce.com),但總覺得雲裡霧裡,總結起來就是亂(主要概念和配置太多)學起來相當吃力,直到清楚相關概念後,再回過頭學習,發現輕鬆不少,所以下面先談談Salesforce的幾個基本概念。

1. Organization

在學習salesforce,經常會看到Org這一名詞,其實就是Organization(組織)。如果一家企業想要使用Salesfroce產品,首先得向Salesforce公司購買一個Org instance,其實就是給你一個使用者名稱和密碼,登入後,可以建立使用者,配置業務邏輯以及二次開發等等。

  • 儲存空間

    當購買Org instance後,它會限制儲存空間外,主要分為Data Storage, File Storage以及Big Object Storage(如果不夠用,可加錢擴充套件空間,類似國內的某些雲盤)

  • License

    每個Org都會配置制定數量的License,每建立一個User都需要消耗一個User License(一般建立使用者時使用Salesforce License)

  • API Request

    這裡需要注意的是,除了Storage和License外,Salesforce還有API的數量限制,畢竟高請求意味著高併發,消耗的效能更多,所以這肯定是個賣點指標啦。正常情況下,API Request是夠用的,但是如果設計大量資料的操作還是要關注的,防止請求數量被使用完。

PS: 當然,在Org的資訊中,還有Language, Time Zone, Fiscal Year以及Currencies等相關概念,但這些相對簡單,大家看一眼就明白,這裡就不說了。

2. User

  user,某個可登陸該Org的人,可以是developer, sales也可以是Partner。一般主要包含一下幾個屬性:personal, Security & Access, Locale

      

其中,最重要的概念是Role,User Liencese, Profile

PS: User一經建立便無法刪除,只能去掉Active選項,該設計理念是為了方便查詢某些歷史記錄。當然,inactive後,License 便會釋放掉。

3. Profile

  profile,其實就是一組settings和Permissions,用來決定該使用者登入時可以見到什麼,以及可以做些什麼。

  

PS: 每個User都歸屬於某一Profile,並且User與Profile是多對一的關係,詳情請點選(https://www.cnblogs.com/cloudman-open/p/11552089.html)

4. Role

  在私有或者混合模型中,Role層次結構允許更高級別的User繼承了直系底層User的許可權。比如:如果EMEA Sales Rep是某個case的owner,那麼他的直系領導們(EMEA Sales Director, VP of Global Sales, CEO)都擁有訪問這個case的許可權,並且許可權的繼承是單項的。

    這裡可能會有人疑問,什麼是私有或者混合模型?那麼就得提出sharing的概念。

5. Sharing

  針對所有的sObjects,除了對該sObject schema的訪問許可權外(對該sObject具有增刪改查許可權),對其中的某條記錄也有嚴格的控制。如上述的role中所說,EMEA Sales Rep是某個case的owner,那麼在Case這個Object中,EMEA Sales Rep便有該條記錄的訪問許可權,其他的case記錄對他來說是不感知的。

  那麼問題來了,除了該條記錄的owner之外,還有誰可以該條記錄的增刪該查許可權呢?

   這裡可以看出,針對每個sObject我們都可以設定訪問許可權:Private, Public Read Only, Public Read/Write。

  • private:只有該條記錄的擁有者才擁有讀寫許可權。
  • Public Read Only: 除了擁有者之外,其他人都是隻讀許可權。
  • Public Read/Write:所有人都有讀寫許可權。

PS: 當然,這裡的設定只是預設的訪問許可權,除此之外,還有Role hierarchy,Sharing Rules,Team and Manual Sharing這幾種方式來分享記錄的訪問許可權。(具體的內容,會在後面的帖子中分享)

6. sObjects

  sObjects(Salesforce Objects), 是Salesforce平臺封裝的物件,與傳統的資料庫table有異曲同工之妙。

  sObject分為標準物件和自定義物件,標準物件是平臺自動生成的物件例如:Account, Contact, Lead, Opportunity;而自定義物件可以按照各自業務需求自行設定,但是Salesforce為在API Name中自動加上“__c”這樣的字尾(customize)。

  每個物件都可以定義多個欄位,並且每個欄位可以是字串,數字,公式,日期等型別。

 

  針對每個欄位,都可通過Field-Level Security設定訪問許可權。

  當然,你可以設定Trigger,類似於資料庫操作,before/after insert/update/del,例如:

trigger PairPtAttachToAccount on Pt_Attach__c (before insert) {
    for(Pt_Attach__c ptAttach: trigger.New) {
        List<Webex_Account__c> accounts = [select Id, Account_Id__c from Webex_Account__c];
        for(Webex_Account__c account: accounts) {
            if(ptAttach.Account_Id__c == account.Account_Id__c){
                ptAttach.Webex_Account__c = account.Id;
                break;
            }
        }
        ptAttach.Site_Name__c = ptAttach.Site_Name__c + '.webex.com';
    }
}

 


 

上面僅是自己的一些簡單梳理,若有紕漏之處,望各位大佬們不令賜教,抱拳了~&n