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

Salesforce是一款很是強大的CRM(Customer Relationship Management)系統,國外企業使用十分頻繁,而國內目前僅有幾家在使用(固然,國內外企使用的依舊較多),所以相對來說,中文資料相對較少。這裏,結合以前參加的培訓和本身的一些理解,說說Salesforce的相關知識,若有誤之處,還請各位大佬們多多指點。html


 

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

1. Organization

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

  • 存儲空間

    當購買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, Profilespa

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

3. Profile

  profile,其實就是一組settings和Permissions,用來決定該用戶登陸時能夠見到什麼,以及能夠作些什麼。

  

PS: 每一個User都歸屬於某一Profile,而且User與Profile是多對一的關係,詳情請點擊(http://www.javashuo.com/article/p-kordlntf-ce.html

4. Role

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

    這裏可能會有人疑問,什麼是私有或者混合模型?那麼就得提出sharing的概念。(詳細內容:http://www.javashuo.com/article/p-xuogdafw-gs.html

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這幾種方式來分享記錄的訪問權限。(詳細內容:http://www.javashuo.com/article/p-xuogdafw-gs.html

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';
    }
}

 


 

上面僅是本身的一些簡單梳理,如有紕漏之處,望各位大佬們不令賜教,抱拳了~ 

做者:吳家二少

博客地址:https://www.cnblogs.com/cloudman-open/

本文歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接

相關文章
相關標籤/搜索