Skip to content

OWD 表与注册对象集对不上:仍列已删除的 Competitor,且缺 Event(三语) #790

Description

@yinlianghui

现象

content/docs/administration/sharing-and-security.mdx 及其 zh-Hans / zh-Hant 的「Layer 1 — Org-Wide Defaults」表,与编译后 stack 的注册对象集有两处对不上(实测 origin/main @ cdbd863,objectstack.config.ts 注册 17 个对象):

  1. 多一行 Competitor(en:39 / zh-Hans:39 / zh-Hant:39,| Competitor | Public Read-Only | Shared battlecard library |)—— crm_competitor 已随 demo-only competitor 模块删除,.changeset/dangling-competitor-grants.md 记录了同批清掉的四个 profile 授权(fix(security): grant the six objects that had no permissions at all (#488) #547 遗留)。文档这一行活了下来:读者会拿着它去 Setup 里找一个不存在的对象。同源残留还有 content/docs/administration/profiles.mdx:40「Curates the competitor battlecards」。
  2. 缺 Event 一行 —— crm_event(private,Activity model: first-class meetings/events + call logging on every sales object #592 随活动模型加入)在表里完全没有。sharing-and-security.mdx 的 OWD 表漏列 Event Attendee — 「the four parent-derived objects」实为五个 #710 把它的子对象 Event Attendee 补进表后,表里会出现「Controlled by Parent (Event)」,而 Event 本身查无此行。

为什么没被守卫抓住

#710 落地的 OWD 守卫(test/sharing-coverage.test.ts)只对 parent-derived 行双向锁定:所有 sharingModel: 'controlled_by_parent' 的对象都必须在三语表里有行,且没有行可以冒充 parent-derived。private / public_read 行不在其管辖内 —— 正是这两处缺陷所在的区域(口径与理由写在 #710 的 PR body 与该守卫的文件头)。

修法

三语各删一行 Competitor、补一行 Event(private,理由措辞参照 crm_task 那行);评估把 profiles.mdx:40 的 competitor 战卡说明一并清掉;再决定要不要把 #710 的守卫从 parent-derived 子集扩到全集 —— 表若确定就是全对象清单,扩到全集后这两处会同时转红,不必留人肉巡检。

发现自 #710(OWD 表补 Event Attendee)的实施过程,不在该 PR 的 scope 内。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocumentationImprovements or additions to documentationpm:dispatchedDispatched to a dev agent by /pm-dispatchpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions