• 无需软件或硬件 – 无需购买、安装、配置和管理硬件及软件,您只要连接到 Internet,便可以利用 Force.com 来访问功能强大的企业应用程序平台。
• 即付即用定价 – 使用 Force.com 时,其上运行的平台和应用程序将通过 Internet 作为服务提供给用户,您也可以通过订阅来获取它们。
• 成效显著 – 利用 Force.com 平台,组织不必再在日常维护上浪费资源,从而可以开始创建真正具有商业价值的新应用程序。
个人认为全面Force 开发需要了解的内容有:
1, 元数据驱动开发,是Force平台的核心,通过配置和鼠标点击的方式完成应用系统开发,而不是敲击代码。
2, Visualforce页面,基于XML的标记语言,为开发人员提供了有效方式来构建应用程序和自定义 Salesforce 用户界面
3, Apex语言 ,非常像Java的强类型的面向对象的编程语言,通过触发器触发一个Apex代码,如删除前(before delete)。
4, 工作流 ,不提供图形化的节点拖放方式,但是通过配置的方式可以完成大部分的工作。
5, 报表,提供几种基本的报表类型,不能完成具有中国国情的特殊报表。
6, 权限及完全设置,比较强大,由于在元数据层面考虑了权限设置,所以可以实现非常复杂的情况,但是配置略显复杂。
7, 其它辅助实施,如基础设置、导入导入、桌面集成、移动集成、Email、Google套件等。
Force入门在其网站上有一本书《Force平台基础云中的定制应用程序开发简介》。无论是这本书还是Force平台的本身都不复杂,只是翻译的都比较晦涩,本来计划按照这本书的例子用大家都可接受的语言介绍,然而看到它的版权声明“在得到出版方许可之前,不得以任何形式或手段(电子的、机械的、影印、录制等)复制、转换本文的任何部分”,只好放弃。 下面主要介绍的就是元数据驱动开发,首先介绍基础界面和权限,然后以简单的一个例子介绍如何创建一个Force应用。
界面介绍
Force平台的地址是http://www.salesforce.com/platform ,使用申请到的用户名/密码进入,可能被告知计算机并没有被启用,那么进入申请时的邮箱,用所发送的链接启用计算机。进入Force平台后,第一个界面如下:
简单介绍界面区域:
两个红点:
右上角的红点的位置“招聘”是指应用的名称,我们可以通过Force.com平台创建多个应用,通过下拉列表进行切换。
右上角的偏左红点的位置“设置”是进行配置的入口。
区域A: 选项卡(TAB菜单),点击该TAB菜单,会连接到一个对象的主界面。
区域B: 当点击时出现对象的下拉列表,可以选择对象创建一条新的记录,
区域C: 浏览或操作过的最近几条记录,可以属于不同的对象,如客户、项目、人员等。
区域D: 回收站,删除的记录会放入回收站。
区域E: 主显示区域。
权限介绍
Force平台的权限设计比较复杂,可以实现对数据行级(记录)权限控制、列级(字段)权限控制,可以实现读取、创建、修改等操作行为的权限控制,可以实现对应用、 选项卡(TAB页)、对象、页面等元素进行权限控制。
经典的RBAC 权限模型中只有角色一个概念,而在Force平台中承担角色概念的元素有 “简档”、“角色”、“用户组”。数据行级(记录)的权限控制基于对“角色”和“用户组”的赋权;其他的如列级(字段)、应用、选项卡(TAB页)、对象、页面等都是基于“简档”赋权。 一个用户只能拥有一个“简档”和“角色”,但是可以拥有多个“用户组”,角色有层次继承关系;角色的权限可以继承、用户组的权限可以组合、简档可以通过复制获得继承的能力。
“简档”在《Force平台基础云中的定制应用程序开发简介》里面被翻译为“配置文件”,但 “简档”更像RBAC中的角色,虽然不像RBAC中的角色那样可以通过权限组合获得灵活性,但承担的赋权任务和大多数的普通应用中的角色的任务一致。
第一个Force应用
我们的第一个Force应用选择做一个非常简单的项目管理,包含两张表:项目信息表和人员信息表。一个项目必须指定一个项目负责人,项目负责人的信息存储在人员信息表中。在Force平台中用对象的概念表达数据中的一张表,但是Force对象比数据表要复杂的多,因为平台的完整功能被隐藏于对象内部,每个Force对象都有一些内置特性,比如用户界面、权限设置、工作流、报表等。一个对象可以被认为是一个最简单的应用。
Force平台有一些内置对象,salesforce赫赫有名的CRM中的一些对象被内置到Force平台中。我们要创建的“项目”对象和“项目人员”对象属于定制对象,定制对象和内置对象是统一的,可以按照一致的方法进行关联和调用。Force平台内置对象中有“用户”及“联系人”,但是我们为了练习的方便并没有重用它们,而是创建了新的定制对象“项目人员”。
创建应用
下面第一步我们先创建“项目管理”应用。
点击上文“界面介绍”中的 设置 进入配置界面,如下图:
点击 应用 程序设置 -->创建--->应用程序,看到应用程序列表,包括内置应用和自定义应用,如下图:
点击“新建”创建新的自定义应用,应用程序标签和应用程序名称的区别是:前者用于显示,可以用来国际化,比如我们填写的是中文;后者用于api调用,调用时名称为应用程序名称加__c,projectmanager的api调用名称为projectmanager__c。 如下图:
点击 下一步,可以为应用程序插入一个自定义图标,
点击 下一步,可以为应用程序定义选项卡(TAB菜单),即当打开这个应用程序后,我们可以看到的义选项卡(TAB菜单),现在可以不选择,以后还可以进行修改。
点击 下一步,为应用程序设置权限,设置各个简档的可见性,是否为某个简档默认可见。
创建自定义对象
点击 程序设置 -->创建---> 对象,进入自定义对象列表,可以看到我们以前创建的自定义对象,如下图:
点击 “ 新建自定义对象”,进入新建界面,我们输入自定义对象的“标签”、“对象名”、“备注”等,“上下文相关帮助设置”指对象对应的帮助界面,可以自定义,也可以使用标准的帮助界面。 如下图:
点击“ 保存”,进入自定义对象编辑界面,如下图,其包含下列部分:
1,标准字段
创建自定义对象后自动创建的字段,包括:名称、创建人、所有人、上次修改人,全部不可删除,在Force平台 的权限实现上和行级权限相关。
2,自定义字段和关系
类型及关系有:
引用
1) 公式 根据您定义的公式表达式派生其值的只读字段。任何来源字段有所更改,该公式字段均将更新。
2) 自动编号 系统使用您定义的显示格式生成的序列编号。该编号对于每条新记录会自动递增。
3) 查找关系 创建一个将此对象链接到另一对象的关系。 关系字段允许用户单击查找图标,以从弹出列表中选择值。 另一对象是列表中值的源。
4) 主-详细信息关系 创建一个此对象(子级或"详细信息")与另一对象(父级或"主")之间的特殊父子关系类型。
查找关系和主-详细信息关系的区别是:前者为引用关系,后者是组合关系,新建一条“子表”记录时,必须指定父表记录;当父表记录删除时,子表相关记录会级联删除。
5) URL 允许用户输入任何有效的网址。如果用户单击该字段,将在单独的浏览器窗口中打开该 URL。
6) 百分比 允许用户输入百分比数字(例如,"10"),并自动向数字添加百分号。
7) 文本区(长) 允许用户输入多行文本,最多可输入 32000 个字符。
8) 电话 允许用户输入任何电话号码。自动将其转换为电话号码格式。
9) 电子邮件 允许用户输入电子邮件地址,对其进行验证以确保格式正确。如果对于一个联系人和潜在客户指定了此字段,则用户单击“发送电子邮件”时可以选择地址。
10) 复选框 允许用户选择"真"(选取)或"假"(不选取)值。
11) 文本区域(富) 允许用户输入格式化文本、添加图片和链接。 最多有 32000个 字符在分开行上。
12) 货币 允许用户输入美元或其他货币金额,并将字段自动转换为货币金额格式。
13) 日期 允许用户输入日期或从弹出式日历中选择日期。
14) 日期/时间 允许用户输入日期和时间,或从弹出式日历中选择日期。当用户单击弹出式日历中的某个日期后,该日期和当前时间将输入到"日期/时间"字段。
15) 数字 允许用户输入任何数字。将删除前置零。
16) 文本 允许用户输入任何字母和数字组合。
17) 文本区 允许用户输入多行文本,最多可输入 255 个字符。
18) 选项列表 允许用户从定义的列表中选择值。
19) 选项列表(多项选择) 允许用户从定义的列表中选择多个值。
2) 自动编号 系统使用您定义的显示格式生成的序列编号。该编号对于每条新记录会自动递增。
3) 查找关系 创建一个将此对象链接到另一对象的关系。 关系字段允许用户单击查找图标,以从弹出列表中选择值。 另一对象是列表中值的源。
4) 主-详细信息关系 创建一个此对象(子级或"详细信息")与另一对象(父级或"主")之间的特殊父子关系类型。
查找关系和主-详细信息关系的区别是:前者为引用关系,后者是组合关系,新建一条“子表”记录时,必须指定父表记录;当父表记录删除时,子表相关记录会级联删除。
5) URL 允许用户输入任何有效的网址。如果用户单击该字段,将在单独的浏览器窗口中打开该 URL。
6) 百分比 允许用户输入百分比数字(例如,"10"),并自动向数字添加百分号。
7) 文本区(长) 允许用户输入多行文本,最多可输入 32000 个字符。
8) 电话 允许用户输入任何电话号码。自动将其转换为电话号码格式。
9) 电子邮件 允许用户输入电子邮件地址,对其进行验证以确保格式正确。如果对于一个联系人和潜在客户指定了此字段,则用户单击“发送电子邮件”时可以选择地址。
10) 复选框 允许用户选择"真"(选取)或"假"(不选取)值。
11) 文本区域(富) 允许用户输入格式化文本、添加图片和链接。 最多有 32000个 字符在分开行上。
12) 货币 允许用户输入美元或其他货币金额,并将字段自动转换为货币金额格式。
13) 日期 允许用户输入日期或从弹出式日历中选择日期。
14) 日期/时间 允许用户输入日期和时间,或从弹出式日历中选择日期。当用户单击弹出式日历中的某个日期后,该日期和当前时间将输入到"日期/时间"字段。
15) 数字 允许用户输入任何数字。将删除前置零。
16) 文本 允许用户输入任何字母和数字组合。
17) 文本区 允许用户输入多行文本,最多可输入 255 个字符。
18) 选项列表 允许用户从定义的列表中选择值。
19) 选项列表(多项选择) 允许用户从定义的列表中选择多个值。
3,验证规则
根据表达式,验证字段或字段组合的有效性,如判断某个日期不能大于2012年。
4,触发器
Force.com 为对象提供了一组事件,触发器是当这些事件触发时执行的自定义Apex代码。
5,页面布局
页面布局一般指单条记录的表单视图的布局,默认情况下只支持两列,可以通过鼠标进行拖放以改变字段的位置。
6,搜索布局
搜索布局其实不是“布局”,而是决定搜索结果显示哪些字段。
7,标准按钮和链接
Force平台提供的标准按钮和链接,可以执行查看、修改、删除、复制等标准操作,可以使用Custom S-Control或 Visualforce页面改写。Custom S-Control指Java 小程序、Active-X 控件、Excel 文件或自定义 HTML Web 表单,但2010 年 3 月后已经不提供支持(以前的可以编辑)。
8,自定义按钮和链接
当Force平台提供的标准按钮和链接时,需要进行扩展的,自定义的按钮或链接库可以执行Javascript,可以链接URL、Custom S-Control或 Visualforce页面。
9,其他Apex等扩展编程的内容 这儿不多做介绍。
创建自定义字段
了解到“自定义对象”的相关部分后,我们为“工程”对象创建一个自定义字段。
首先点击 新建,进入字段类型选择界面,上文有对各种类型的介绍,我们选择“文本 ”类型,如下图:
点击“ 下一步”进入字段名称、长度编辑界面,如下图:
点击“ 下一步”进入字段级别的权限控制,控制简档的可见及只读权限,如下图:
点击“ 下一步”把字段加入页面布局,:
我们用同样的方法加入“工程状态”,“负责人”,“计划开始时间”,“计划结束时间”,“实际开始时间”,“实际结束时间”,“工程描述”等字段,由于“负责人”的类型为查找关系,查找对象为“人员信息”,则在创建“负责人”之前我们首先要创建“人员信息”自定义对象。
修改布局
在“页面布局”中,我们可以修改字段的位置和顺序,大部分情况下我们可以接受默认布局,如下图:
“搜索布局”由于显示的列太少,是我们必须要修改的(几乎所有的搜索布局都要做修改),如下图,我们增加需要的列:
创建选项卡(Tab页)
点击 应用程序设置-->创建-->选项卡,进入选项卡列表,然后点击“ 新建”,我们为自定义对象“工程”创建选项卡,一个对象只能创建一个选项卡,如下图:
点击“ 下一步”,设置简档是否默认打开,如果不是默认打开,需要点击“界面介绍”中A区域中的“+”查看,如下图:
点击“ 下一步”,设置需要在那些应用中使用该选项卡,只在“项目管理”中使用,如下图:
我们用同样的方法配置“人员信息”的选项卡。
查看配置结果
经过上述的配置,我们看在Force平台的执行引擎下显示的结果吧。
在下图中我们看到上文创建的两个选项卡“工程”以及“人员信息”,“工程”选项卡列出了工程信息类表。
下图是创建创建工程的界面,有文本下拉框,日期选择框,查找框等。
当点击负责人的查找框时,弹出一个人员查找界面,我们可以查询选择一个人员,如下图:
至此,我们一个简单的Force工程创建完毕,操作过程中感觉访问速度较慢,很多操作不符合中国习惯,但 Force平台确实很强大,需要了解其更深入内容可以去查看他们提供的帮助手册,可惜翻译质量不敢恭维。