Sales cloud\Service cloud\other clouds 这些都是基于salesforce platform
核心platform可开发data model / application用于desktop / mobile
heroku可开发用其他语言开发的可扩展的web app, 也提供数据库工具
salesforce api 可用于数据集成和身份认证
mobile sdk
DreamHouse app例子: 安装package,导入数据
Metadata的力量
object 是datatable, fields是column, record是row。 这对于standard/custom object都成立。它们是底层database的抽象。
比如detail 页面上每个字段是metadata,然后每个字段值是实际数据。
metadata构成了org的结构,它保存了你的配置。
这种metadata-driven的开发模式是salesforce与其他开发的一个区别。
这种特性可以自动生成user experience比如dialog/record list/detail page等
Schema Builder可用来查看object之间的关系
无代码开发: salesforce鼓励无代码开发,提供了一些预先创建的组件和工具。
Low code: validation rule 这类需要包含一些逻辑/判断/数据库操作的开发称为低代码开发。
Salesforce language
主要有三种salesforce 编程技术:
lightnig component framework : 是一种UI framework. 此外还有lightning web component. 包含标签、controller\helper等。另外它支持mobile
apex : @InvocableMethod (label = 'xxxxx') 这个label会在process builder中使用 (而不是使用class method name)
visualforce: 它与lightning component最主要的区别是,lightning component本身是组件,可以彼此合成之后组成更大的页面。而VF本身就是页面。另外lightning component可支持mobile. 它使用<apex:xxx>标签,可以用controller指定apex.
Extend the salesforce platform
Salesforce api
Soap api: 把系统数据与其他app的集成
rest api: 获得系统数据
metadata api 管理自定义系统结构
tooling api 构建自定义开发工具
marketing cloud api 以rest api的形式暴露market cloud的功能,并且以soap api的形式获得大多数邮件功能的权限
bulk api 加载、删除、异步查询大批量数据
streaming api 发送/接收消息通知(notifications / custom events)
chatter rest api 构建chatter / community / recommendation / file / topic等
mobile sdk
Heroku 是在AWS上构建的,意味着你可以省去很多服务器之类的担心。Heroku Connect统一了salesforce data和heroku postgres data, 所以你不必管理平台之间的数据同步。
IoT, Bots and More
IoT = Internet of Things 物联网, 用于智能仪器的操纵。
Bots 是一种自动应答机器人
它由一个apex implements BotHandler 实现
Einstein Vision API, Einstein Analytics 和platform event 等等
Custom and standard objects
data model = object + fields
Salesforce Object 包括: standard / custom / external / platform events / BigObjects
创建的时候,要认真命名,不要随意,尽量不要重复,避免以后的混乱。尽量加description. 适当加help text.
如果必要,设置为required.
Object的关系主要有两种
lookup
master-detail: detail端不是独立的。当master被删掉时,detail也被删掉。
hierarchy: 仅在user上
添加relation即意味着增加data model的复杂度。因此在修改/删除object/records/fields时要特别小心
Schema Builder不仅可以展示object/field关系,而且可以定义field permission,创建object,创建field.
在左侧side bar里面拖拽object type / field type到目标区域,填上其他信息保存。
Data management
Import data
Salesforce提供的两种方式
Data import wizard : contact / lead / account 和custom objects 最多 5万条
Data loader 最多500万 任意object type ,可以界面操作也可命令行,命令行的情况下,字段mapping等内容需事先提供配置文件,好处是可以实现用api call自动运行。
上传之前要整理好文件,包括去除duplicate, 去除不必要的信息,纠正拼写错误,检查命名习惯等。
还要检查picklist values, 暂停workflow等。
import wizard 遇到不存在的picklist value时, 如果字段是restricted, 它会使用default value !!
checkbox字段,在上传文件中用1, 0代替
对于 picklist, multi-picklist,checkbox, 如果没有field mapping则会使用default value.
date/time 会使用当前用户的locale
validation rule仍会起作用,如果验证失败会报错。可考虑暂时关闭。
Export data - 主要是用于daba backup
两种主要方式:
Data export wizard: 每7天或每29天手工导出一次。可自动化导出。导出成.zip然后发邮件给你。在邮件发出后48小时后zip会被删掉。
Dataloader
【好吧 report export不算是一种方式。】