构建 Skill Align – 第5部分:字段级安全、页面策略与 Lightning 页面
Source: Dev.to
请提供您希望翻译的具体文本内容(除代码块和 URL 之外),我将把它翻译成简体中文并保持原有的 Markdown 格式。
记录级治理回顾
在 Skill Align 中建立记录级治理后,我将注意力转向更深入的系统控制。
不仅仅是: 谁可以查看记录。
而是:
- 谁可以影响记录的生命周期
- 谁可以修改其状态
- 谁可以塑造操作流程
今日重点
- 字段级安全 (FLS)
- 页面布局策略
- Lightning 记录页面架构
- 相关列表治理
对象治理模型
Each object in Skill Align serves a deliberate architectural purpose.
目录对象 – 稳定的参考数据
These define standardized reference information used across the system.
| 对象 | 目的 | OWD | 可编辑者 |
|---|---|---|---|
| Skill | • 定义已批准的技能 • 支持匹配逻辑和报告 • 随时间保持稳定 | Public Read‑Only | 仅限经理 |
目录的稳定性确保报告的一致性和匹配的准确性。
状态对象 – 表示业务定义状态
State objects define structured requirements or capability conditions.
| 对象 | 描述 | OWD | 所有者 |
|---|---|---|---|
| Employee Skill | 当前拥有的记录能力 | Private | 员工 |
| Project Skill Requirement | 项目所需的能力 | Private | 经理 |
状态对象定义所需或当前存在的内容——而非过程转换。
事务对象 – 表示生命周期移动
These objects move through lifecycle stages and require controlled transitions.
| 对象 | OWD | 所有者 |
|---|---|---|
| Project | Private | 经理 |
| Project Candidate | Private | 经理 |
| Project Assignment | Private | 经理 |
所有权不是装饰性的元数据——它驱动责任、可见性和控制。
字段级安全:生命周期授权
在 Skill Align 中,FLS 直接映射到生命周期权限——它决定谁可以更改系统状态。
受控生命周期字段
- 状态(项目分配) – 仅限经理编辑。
- 员工可以查看分配状态,但不能修改。
- 这将分配权限集中化,防止生命周期绕过。
目录稳定性控制(Skill 对象)
- 仅限经理编辑。
- 员工不能重新定义技能定义。
目录一致性保护:
- 匹配准确性
- 报告完整性
- 系统可信度
Source: …
页面布局策略
什么是页面布局?
- 定义 记录详细信息 部分显示的 字段
- 确定显示的 相关列表
- 控制可用的 标准/自定义按钮
- 提供 基本的分区分组
注意: 页面布局 不 强制安全性。
安全性由 OWD、角色层级、权限集和字段级安全(FLS)强制执行。
页面布局提供结构一致性——而非访问控制。
按对象划分的页面布局架构
| 对象类型 | 对象名称 | 布局策略 | 理由 |
|---|---|---|---|
| 目录 | 技能 | 单一布局 | 稳定的参考数据 |
| 州 | 员工技能 | 单一布局 | 通过 FLS 实现治理 |
| 州 | 项目技能需求 | 单一布局 | 结构化的需求定义 |
| 事务 | 项目候选人 | 仅经理布局 | 员工无访问权限 |
| 事务 | 项目分配 | 中性布局 | 通过 FLS 控制生命周期 |
| 核心 | 员工 | 单一布局 | 通过 Lightning 页面实现角色区分 |
布局有意保持最小化且一致。
为什么页面布局仍然必需(即使在 Lightning 中)
什么是 Lightning 记录页面?
Lightning 记录页面使用 Lightning App Builder 构建,控制:
- 页面结构(选项卡、分区、列)
- 组件放置
- 条件可见性
- 应用/配置文件激活
它定义 页面的呈现方式。
Lightning 记录页面 vs. 页面布局
一个常见的误解是 Lightning 替代了页面布局。事实并非如此。
- 页面布局 → 定义 字段结构。
- Lightning 记录页面 → 定义 页面框架。
记录详细信息 组件会从分配的页面布局中提取字段。即使在 Lightning 页面上进行视觉重新设计,结构基线仍然是页面布局,因此页面布局仍是基础。
动态表单:呈现转移,而非治理转移
动态表单允许将字段直接放置在 Lightning 记录页面上,绕过记录详细信息组件。
启用后:
- 字段放置在 Lightning App Builder 中控制。
- 页面布局不再控制该页面的字段位置。
但:
- 相关列表仍依赖页面布局(除非使用动态相关列表)。
- FLS 仍然强制编辑权限。
- 页面布局仍作为结构性后备。
动态表单转移的是 呈现 控制,而不是 治理 控制。安全性仍然取决于 FLS。
激活策略:分配 Lightning 记录页面
在设计完 Lightning 记录页面后,激活决定了 谁可以看到它。Salesforce 提供了三种主要的激活模型。
1. 组织默认
该页面成为该对象在整个组织中 所有用户 的默认页面。
使用场景:
- 体验不随角色而变化。
- 需要结构上的一致性。
- 不需要上下文专门化。
在 Skill Align 中,组织默认激活用于:
- Employee(员工)
- Skill(技能)
- Project(项目)
- Employee Skill(员工技能)
这些对象保持稳定,不需要根据上下文变化 UI。组织默认确保在所有应用中的体验一致。
2. 应用默认
该页面仅在 特定应用 中激活。用户在该应用中访问对象时会看到分配的 Lightning 记录页面。
使用场景:
- 同一对象在不同应用中表现不同。
- 需要上下文体验,但不改变治理结构。
- 责任随运营环境而异。
应用默认激活用于:
- Project Assignment(项目分配)
- Project Candidate(项目候选人)
- Project Skill Requirement(项目技能需求)
这些对象对责任敏感,受益于上下文交互。应用级激活在保持相同数据模型和安全结构的前提下,实现了用户体验的专门化。
3. 应用 + 配置文件(细粒度激活)
最细粒度的模型。您可以为以下组合激活页面:
- 特定应用
- 特定配置文件
- 可选记录类型
使用场景:
- 基于角色的 UI 差异至关重要。
- 同一对象必须为不同角色呈现不同外观。
- 权限和责任差异显著。
注意: 该模型功能强大——但必须谨慎使用。过度使用基于配置文件的激活会碎片化用户体验并增加治理复杂度。从架构角度来看,仅在功能差异化能够证明其必要性时才应采用。
相关列表治理
相关列表强化生命周期的清晰度。
员工显示
- 技能
- 项目分配
项目显示
- 技能需求
- 候选人
- 分配
生命周期流程变得可见:
Skill Requirement → Candidate → Assignment
没有对外责任的对象不会暴露不必要的相关列表。
安全层回顾
- OWD → 记录限制
- Role Hierarchy → 组织监督
- Permission Sets → 人员能力控制
- FLS → 字段级生命周期授权
- Page Layout → 结构一致性
- Lightning Record Page → 体验个性化