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的概念。(详细内容:https://www.cnblogs.com/cloudman-open/p/11587425.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这几种方式来分享记录的访问权限。(详细内容:https://www.cnblogs.com/cloudman-open/p/11587425.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/

本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接

Salesforce学习之路-admin篇的更多相关文章

  1. Salesforce学习之路-admin篇(三)role hierarchy & sharing

    1. Role Hierarchy 在私有或者混合模型中,如果在organization-wide defaults设置某个对象为Private,那么对象的记录只有拥有者可以查看.但是,role hi ...

  2. Salesforce学习之路-developer篇(五)Aura组件原理及常用属性

    很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...

  3. Salesforce学习之路-developer篇(五)一文读懂Aura原理及实战案例分析

    1. 什么是Lightning Component框架? Lightning Component框架是一个UI框架,用于为移动和台式设备开发Web应用程序.这是一个单页面Web应用框架,用于为Ligh ...

  4. Salesforce学习之路-developer篇(一)利用VS Code结合Git开发Salesforce

    Part 1: 从Git中克隆代码到本地 git clone https://github.com/git/git Part 2: 在VS Code中安装Salesforce和Git插件 在VS Co ...

  5. Salesforce学习之路-developer篇(二)利用Jenkins和Bitbucket实现Salesforce的CI/CD功能

    上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...

  6. Salesforce学习之路-developer篇(三)利用Visualforce Page实现页面的动态刷新案例学习

    Visualforce是一个Web开发框架,允许开发人员构建可以在Lightning平台上本地托管的自定义用户界面.其框架包含:前端的界面设计,使用的类似于HTML的标记语言:以及后端的控制器,使用类 ...

  7. Salesforce学习之路-developer篇(四)Visualforce结合Reports展示图表

    Salesforce作为一款CRM系统,个人觉得最重要的环境便是在于数据的展示和联动,而Salesforce也本身提供了相当强大的功能,Report在展示图表的方面十分强大,前段时间更是宣布以157亿 ...

  8. STM32学习之路入门篇之指令集及cortex——m3的存储系统

    STM32学习之路入门篇之指令集及cortex——m3的存储系统 一.汇编语言基础 一).汇编语言:基本语法 1.汇编指令最典型的书写模式: 标号 操作码        操作数1, 操作数2,... ...

  9. Salesforce学习之路(十三)Aura案例实战分析

    Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...

随机推荐

  1. Maven 项目使用mybatis的环境搭建-基于xml形式实现查询所有的功能

    首先了解一下什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. ...

  2. 从原理层面掌握@ModelAttribute的使用(核心原理篇)【一起学Spring MVC】

    每篇一句 我们应该做一个:胸中有蓝图,脚底有计划的人 前言 Spring MVC提供的基于注释的编程模型,极大的简化了web应用的开发,我们都是受益者.比如我们在@RestController标注的C ...

  3. (五)c#Winform自定义控件-复选框

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  4. Nginx 502 Bad Gateway 错误的解决方法

    502 bad gateway 的解决方法 通用配置 proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 32k; # ...

  5. 通过livy向CDH集群的spark提交任务

    场景 产品中需要通过前端界面选择执行某种任务(spark任务),然后通过livy 的restful api 提交集群的spark任务 简单介绍下livy,翻译自官网: Livy是基于Apache许可的 ...

  6. ngxin安装之yum安装

    nginx部署至yum安装 1. 配置nginx所需的YUM源 [root@nginx]# cat /etc/yum.repos.d/yum.repo [nginx-stable] name=ngin ...

  7. malloc和free

    1.系统使用红黑树管理空闲堆空间,malloc是申请了堆一块内存的使用权,拿到了这个钥匙,然后红黑树该块的空闲标记被去除. 2.free后,红黑树重新标记该块内存为空闲,其他程序就可以申请到此块内存. ...

  8. c++ 按位或

    |=是位操作运算符的一种,其形式为:a|=b代表的含义为a=a|b;即把a和b做按位或(|)操作,结果赋值给a.按位或的计算规则为:1 逐位进行计算:2 计算数的同位上值,如果均为0,则结果对应位上值 ...

  9. Windows上IDEA搭建最新Spark2.4.3源码调试的开发环境

    相信很多同学都想通过阅读一些框架的源码,来提高自己的代码能力,但往往在第一步,搭建环境的时候就碰了壁. 本篇就来介绍下如何在Windows下,将最新版的Spark2.4.3编译,并导入到IDEA编译器 ...

  10. HDU 6363

    题意略. 思路: 这里有两个结论需要注意: 1.gcd(a ^ x - 1,a ^ y - 1) = a ^ gcd(x,y) - 1 2.gcd(fib[x],fib[y]) = fib[gcd(x ...