学习目标
在本项目中,你将:
- 创建自定义对象、站点对象和联结对象(junction object),让现有应用更高效。
- 自定义页面布局、创建关系并添加筛选器,让应用用户轻松访问所需信息。
- 为应用添加自定义字段,以捕获对招聘流程至关重要的信息。
项目背景
AW Computing 实施 Salesforce 6 个月以来,销售和收入一路攀升,随之而来的是各部门扩充人员的需求。人力资源副总裁 Ling Wu 请你帮助她的招聘团队更高效地处理招聘流程。
在这个项目中,你将发挥出色的管理员技能,创建自定义对象、关系、页面布局等,让 HR 团队在现有 Recruiting 应用上轻松访问所需数据。动手之前,先在 Trailhead Playground 中安装一个非托管包(unmanaged package),它会添加元数据和自定义配置,让接下来的动手实践更真实、更有意义。
获取 Trailhead Playground 用户名和密码
先打开 Trailhead Playground,滚动到页面底部点击 Launch。如果 Playground 中有标为 Get Your Login Credentials 的选项卡,按以下步骤操作:
- 点击 Get Your Login Credentials 选项卡,记下用户名。
- 点击 Reset My Password,系统会向该用户名关联的邮箱发送一封邮件。
- 点击邮件中的链接。
- 输入新密码并确认,点击 Change Password。
如果没有该选项卡,则从 App Launcher 找到并打开 Playground Starter 应用,按步骤操作。若找不到 Playground Starter,可参考 Salesforce 帮助中的「Find the Username and Password for Your Trailhead Playground」。
安装非托管包
拿到 hands-on org 的用户名和密码后,开始安装基础招聘应用包:
- 点击安装链接(
login.salesforce.com/packaging/installPackage.apexp?p0=04t0P000000N9rs)开始安装。 - 用 hands-on org 的用户名和密码登录。
- 选择 Install for Admins Only,点击 Install。
- 出现 Installation Complete 提示后点击 Done。随后你会收到一封安装成功的邮件。
该包提供 Position、Candidate 等预建对象及其基础字段,以及 Recruiting 应用框架——整个项目都是在此基础上做扩展。
创建 Review 自定义对象
包就位、Recruiting 应用打开后,就可以开工了。清单上的第一件事是创建用于「评价」的自定义对象 Review:
- 点击 Setup 图标,选择 Setup。
- 点击 Object Manager。
- 点击 Create,选择 Custom Object,填写详情。
字段配置如下:Label=Review、Plural Label=Reviews、Record Name=Review Number、Data Type=Auto-Number、Display Format=REV-{0000}、Starting Number=1。
- Optional Features 区域勾选 Allow Reports 和 Track Field History。
- Deployment Status 区域确保选中 Deployed。
- Search Status 区域选择 Allow Search。
- Object Creation Options 区域勾选 Add Notes and Attachments related list to default page layout。
其余保持默认,点击 Save,你的第一个自定义对象就创建好了。
创建 Job Posting Site 自定义对象
本单元创建 Job Posting Site 自定义对象,用来追踪职位都发布在哪些平台上,随后添加自定义字段,并把它集成到 Recruiting 应用中。
创建 Job Posting Site 对象
Ling Wu 的请求之一是帮助团队追踪哪些网站托管着 AW Computing 的空缺职位。为此,创建一个带 Job Posting Site URL 字段、Status 选项列表、Technical Site 复选框和 Description 文本域的 Job Posting Site 对象:
- 从 Setup 点击 Object Manager。
- 点击 Create,选择 Custom Object,填写详情。
字段配置:Label=Job Posting Site、Plural Label=Job Posting Sites、Record Name=Site Name、Data Type=Text。
- Optional Features 区域勾选 Allow Reports 和 Track Field History。
- Deployment Status 区域确保选中 Deployed。
- Search Status 区域选择 Allow Search。
- Object Creation Options 区域勾选 Add Notes and Attachments related list to default page layout 和 Launch New Custom Tab Wizard after saving custom object。
其余保持默认,点击 Save。随后会启动 Custom Tab Wizard:Object 选择 Job Posting Site,Tab Style 点击放大镜选择 Real Estate Sign,点击 Next;配置文件保持默认点击 Next;取消勾选 Include Tab,勾选 Append tab to users' existing personal customizations,点击 Save。
在新对象上创建自定义字段
接下来创建几个自定义字段,进一步优化 HR 团队的使用体验。在 Object Manager 仍停留在 Job Posting Site 时,点击 Fields & Relationships 再点击 New,逐个创建:
- Job Posting Site URL — Data Type 选 URL,Next,Field Label 填
Job Posting Site URL,Next、Next、Save & New。 - Status — Data Type 选 Picklist,Next,Field Label 填
Status,选择「Enter values, with each value separated by a new line」并逐行输入Active、Inactive,Next、Next、Save & New。 - Technical Site — Data Type 选 Checkbox,Next,Field Label 填
Technical Site,Next、Next、Save & New。 - Description — Data Type 选 Text Area,Next,Field Label 填
Description,Next、Next、Save。
将 Job Posting Site 添加到 Recruiting 应用
让对象在 Recruiting 应用内可访问:
- 从 Setup 点击 Home。
- 在 Quick Find 输入
app manager,选择 App Manager。 - 点击 Recruiting 旁的向下箭头,选择 Edit。
- 点击 Navigation Items。
- 在搜索框输入
Job。 - 选择 Job Posting Sites,点击右箭头移到 Selected Items。
- 点击 Save。
现在 HR 招聘人员有了一个工具,可以查看职位发布在哪里、发布是否活跃等信息。招聘流程正变得越来越顺畅,不过还有更多要做的——接下来创建自定义联结对象。
创建 Job Posting 联结对象
本单元创建联结对象(junction object)来建模多对多关系:一个职位可以发布在多个站点上,一个站点也承载多个职位。
创建 Job Posting 联结对象
提升 HR 招聘应用效率的下一步,是创建一个名为 Job Posting 的联结对象。联结对象是带两个主从关系(master-detail)的自定义对象,是建立多对多关系的关键。
一个 job posting 恰好位于职位(Position)和招聘网站之间:一个职位可以多次发布,一个招聘网站可以有多个 job posting,但一个 job posting 始终代表单个职位在单个招聘网站上的发布。本质上,Job Posting 对象与 Position、Job Posting Site 对象之间都是多对一关系,通过这两个多对一关系,Position 与 Job Posting Site 之间就形成了多对多关系。
- 从 Setup 点击 Object Manager。
- 点击 Create,选择 Custom Object,填写详情:Label=Job Posting、Plural Label=Job Postings、Record Name=Job Posting Number、Data Type=Auto number、Display Format=
JOBPOST-{0000}、Starting Number=1。 - 其余保持默认,点击 Save。
接着创建 Job Posting 与 Position 的主从关系:在 Object Manager 仍停留在 Job Posting 时,点击 Fields & Relationships 再点击 New,Data Type 选 Master-Detail Relationship,Next,Related to 选 Position,Next,Field Label 填 Position,Next、Next、Next、Save & New。
再创建 Job Posting 与 Job Posting Site 的主从关系:Data Type 同样选 Master-Detail Relationship,Next,Related to 选 Job Posting Site,Next,Field Label 填 Job Posting Site,Next、Next、Next、Save。
修改页面布局
先在 Position 页面布局的 Job Posting Site 相关列表添加字段:
- 从 Setup 点击 Object Manager。
- 点击 Position,再点 Page Layouts。
- 点击 Position Layout 旁的向下箭头,选择 Edit。
- 滚动到 Job Postings 相关列表,点击表头编辑。
- 添加 Job Posting Site: Site Name、Job Posting Site: Status、Job Posting Site: Technical Site,点击 Add。
- 在 Selected Fields 区域选择 Job Posting: Job Posting Number,点击 Remove。
- 点击 OK,再点击 Save。
再到 Job Posting Site 页面布局添加字段:Setup → Object Manager → Job Posting Site → Page Layouts,点击 Job Posting Site Layout 旁向下箭头选择 Edit,滚动到 Job Postings 相关列表点击表头编辑,添加 Position: Status、Position: Title,从 Selected Fields 移除 Job Posting: Job Posting Number,点击 OK、Save。
下面通过创建一个 Job Posting 记录来测试刚才的成果。
点击 App Launcher 图标打开 App Launcher,点击 Recruiting。先创建一个 Position 记录:Title=Super Sales Rep、Department=Sales、Approval Status=Approved、Location=US、Job Description=Sales rep to join the AW Computing team serving the eastern region of AMER,点击 Save。
再创建一个 Job Posting Site 记录:Site Name=Example Jobs、Job Posting Site URL=wwww.examplejobs.salesforce.com、Status=Active,点击 Save。在刚创建的 Job Posting Site 记录上点击 Related 选项卡,在 Job Postings 相关列表点击 New,Position 搜索并选择 Super Sales Rep,点击 Save。
通过创建联结对象并自定义页面布局,你离完成任务又近了一步。接下来为 Position 创建自关系,帮助 HR 团队更高效地招聘。
创建与 Position 对象的自关系
本单元用自引用查找关系(self-referencing lookup)建模职位层级,并添加查找筛选器约束数据质量。
创建查找关系
当 HR 团队成员在招聘应用中查看某个职位时,Ling Wu 希望每位招聘人员都能识别出其他技能相似或职位描述相似的开放职位,从而更容易为候选人匹配合适的岗位。
可以通过查找关系(lookup relationship)实现:查找关系把两个对象链接起来,既可以把对象与另一个标准或自定义对象链接,也可以把对象与自身链接——后者称为自关系(self relationship)。
- 从 Setup 点击 Object Manager。
- 点击 Position。
- 点击 Fields & Relationships,再点 New。
- Data Type 选择 Lookup Relationship。
- 点击 Next。
- Related To 下拉框选择 Position。
- 点击 Next。
- Field Label 改为
Related Position,Field Name 改为Related_Position。 - 点击 Next、Next、Next。
- Related List Label 改为
Related Positions。 - 点击 Save。
添加查找筛选器
现在添加按部门和记录 ID 的查找筛选器,帮助招聘人员缩小搜索范围。
- 点击 Related Position 旁的向下箭头,选择 Edit。
- 在 Lookup Filter 区域点击 Show Filter Settings。
- 第一行筛选:第一列选 Related Position、第二列选 Department,点击 Insert。
- Operator 选 equals。
- Value/Field 选 Field。
- 第一列选 Position、第二列选 Department,点击 Insert。
再填下一行筛选条件:
- 第二行筛选:第一列选 Position、第二列选 Record ID,点击 Insert。
- Operator 选 not equal to。
- Value/Field 选 Field。
- 第一列选 Related Position、第二列选 Record ID,点击 Insert。
- Filter Type 确保选 Required。
- 「If it doesn't, display this error message on save」输入:
The related position must be in the same department. You cannot relate a position to itself. - 点击 Save。
现在通过在 Recruiting 应用中查看职位来测试:点击 App Launcher 图标打开 App Launcher,点击 Recruiting,打开一个 Position 记录,在 Related Position 字段选择 Super Sales Rep,点击 Save。可以看到 Super Sales Rep 作为 Awesome Sales Rep 的 Related Position 显示出来。
借助关系和筛选器,招聘人员的工作效率更高了。再接再厉,接下来创建自定义字段。
创建自定义招聘字段
最后一个单元添加自定义选项列表和文本字段,捕获面试结果信息,丰富招聘数据模型。
创建自定义选项列表
这一步帮助 HR 招聘人员监控面试流程,添加捕获面试结果信息的自定义字段。Ling Wu 希望面试官从核心胜任力(Core Competencies)和领导力技能(Leadership Skills)两方面对每位候选人评分,并反馈是否推荐录用。为此,在 Review 对象上设置自定义字段。
先创建 Core Competencies 和 Leadership Skills 选项列表,让面试官按 1 到 5 快速评分:
- 从 Setup 点击 Object Manager,选择 Review。
- 点击 Fields & Relationships,再点 New。
- Data Type 选 Picklist,点击 Next。
- Field Label 输入
Core Competencies。 - 选择「Enter values, with each value separated by a new line」,逐行输入
1、2、3、4、5。 - Help Text 输入
For this category, rate candidate on a scale of 1 (lowest) to 5 (highest)。 - 点击 Next、Next、Save & New。
- 重复步骤 3–7,用
Leadership Skills和Experience作为 Field Label 再创建两个选项列表。
创建自定义文本字段
接下来创建文本字段,让面试官就核心胜任力、经验、领导力技能为候选人添加评论:
- Data Type 选 Text Area,点击 Next。
- Field Label 输入
Core Competencies Comments。 - 点击 Next、Next、Save & New。
- 重复步骤 1–3,用
Leadership Skills Comments和Experience Comments作为 Field Label 再创建两个文本域。
创建一个允许面试官推荐录用的复选框字段:Data Type 选 Checkbox,Next,Field Label 输入 Recommend for Hire,Help Text 输入 Do you recommend that we hire this candidate?,Next、Next、Save & New。
创建一个文本字段说明推荐理由:Data Type 选 Text Area,Next,Field Label 输入 Reason Recommended,Next、Next、Save & New。
创建 Interviewer 查找关系字段:Data Type 选 Lookup Relationship,Next,Related To 选 Interviewer,Next,Field Label 输入 Interviewer,Next、Next、Next、Save & New。
最后创建 Job Application 主从关系字段:Data Type 选 Master-Detail Relationship,Next,Related To 输入 Job Application,Next,Field Label 输入 Job Application,Next、Next、Next、Save。
大功告成!AW Computing 的 Recruiting 应用已经就绪——你创建了自定义对象、站点对象、联结对象,添加了自定义字段,自定义了页面布局,HR 团队能更好、更快地为不断壮大的团队匹配合适的新人才。

















