consumer-goods-tpe-dashboard-configure
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseConsumer Goods TPE Dashboard Configure
消费品行业TPE仪表盘配置
Bring a TPM org from bare state to a running TPE dashboard in one guided session, driven entirely by CLI + REST/anonymous-Apex against an already-authenticated org — never a password or interactive login on the user's behalf.
sfPersona: a Salesforce TPM System Admin setting up TPE dashboards for their org.
Delegates three of its twelve steps to standalone sibling skills (own , own inputs, self-contained per this repo's skills architecture rules — no shared files):
SKILL.md- Step 7 →
consumer-goods-tpe-datakit-deploy - Step 9 →
consumer-goods-rtr-datacloud-export-configure - Step 12 → (optional, only if the customer wants custom KPIs on the base dashboards)
consumer-goods-tpe-dashboard-custom-kpi-configure
Every other step runs directly in this skill.
通过一次引导式操作,将处于初始状态的TPM组织配置为可运行的TPE仪表盘,全程基于已完成身份验证的组织,通过 CLI + REST/anonymous-Apex驱动——无需用户提供密码或进行交互式登录。
sf角色:为所在组织配置TPE仪表盘的Salesforce TPM系统管理员
将12个步骤中的3个委托给独立的关联技能(每个技能拥有独立的、独立输入,遵循本仓库的技能架构规则实现自包含——无共享文件):
SKILL.md- Step 7 →
consumer-goods-tpe-datakit-deploy - Step 9 →
consumer-goods-rtr-datacloud-export-configure - 步骤12 → (可选,仅当客户需要在基础仪表盘上添加自定义KPI时执行)
consumer-goods-tpe-dashboard-custom-kpi-configure
其余所有步骤均直接在本技能中执行。
Inputs to collect first
需预先收集的输入项
Ask before starting. Do not guess.
- TPM System Admin username — must already be authenticated via CLI. Verify with
sf(nevernode ./scripts/sf-rest.js org-status --target-org <username>directly — seesf org display --json).references/phases-1-6.md - Dry-run? — offer by default. In dry-run, every read/verify/check step still runs; every write/trigger/install step is skipped and recorded as .
pending — not run (dry-run)
Also detect the installed package namespace and version-gate the org (Consumer Goods Cloud >= 262.2 required) before Phase 1 — see "Namespace detection" in .
references/phases-1-6.md开始前请询问用户,请勿自行猜测。
- TPM系统管理员用户名——必须已通过CLI完成身份验证。请使用
sf进行验证(切勿直接使用node ./scripts/sf-rest.js org-status --target-org <username>——详见sf org display --json)。references/phases-1-6.md - 是否执行试运行?——默认提供该选项。试运行模式下,所有读取/验证/检查步骤仍会执行;所有写入/触发/安装步骤将被跳过,并记录为。
pending — not run (dry-run)
此外,在第1阶段开始前,需检测已安装包的命名空间并对组织进行版本校验(要求Consumer Goods Cloud >= 262.2)——详见中的「命名空间检测」部分。
references/phases-1-6.mdPhase list
阶段列表
| Phase | Step | Summary | Details |
|---|---|---|---|
| Setup | — | Collect inputs, detect namespace, version-gate the org | |
| 1 | Tenant pairing | Ask user to confirm Hyperforce Processing Service pairing (not verifiable programmatically) | |
| 2 | TPM Admin permission set(s) | Ask user to confirm org-specific persona permission sets are assigned | |
| 3 | GenieAdmin / TableauEinsteinAdmin | Query, and on confirmation assign, these two permission sets | |
| 4 | SSOT package | Verify the | |
| 5 | Enable Tableau Next | Ask user to confirm manual UI enablement (not verifiable programmatically) | |
| 6 | C360 SDM | Verify or trigger + poll the C360 Unified Semantic Model app install | |
| 7 | TPM Accruals Data Kit | Delegated to | |
| 8 | Business Period export | Anonymous-Apex export via a Hyperforce-substrate Sales Org, poll, then confirm the | |
| 9 | RTR Data Cloud export | Delegated to | |
| 10 | TPM_PROMOTION_MEASURE Data Transform | Ask (credit consumption), then run and poll the Data Transform | |
| 11 | TPE Analytics App install | Trigger + poll the async app-framework install (~15-20 min) | |
| 12 | Customize KPIs (optional) | Delegated to | |
references/phases-7-12.mdscripts/poll-status.js| 阶段 | 步骤 | 概述 | 详情 |
|---|---|---|---|
| 准备阶段 | — | 收集输入项、检测命名空间、组织版本校验 | |
| 1 | 租户配对 | 请用户确认Hyperforce Processing Service配对(无法通过编程方式验证) | |
| 2 | TPM管理员权限集 | 请用户确认已分配组织特定角色的权限集 | |
| 3 | GenieAdmin / TableauEinsteinAdmin | 查询并在确认后分配这两个权限集 | |
| 4 | SSOT包 | 验证 | |
| 5 | 启用Tableau Next | 请用户确认已通过手动UI操作启用(无法通过编程方式验证) | |
| 6 | C360 SDM | 验证或触发并轮询C360 Unified Semantic Model应用的安装 | |
| 7 | TPM应计数据套件 | 委托给 | |
| 8 | 业务周期导出 | 通过基于Hyperforce底层架构的销售组织执行Anonymous-Apex导出,轮询并确认 | |
| 9 | RTR数据云导出 | 委托给 | |
| 10 | TPM_PROMOTION_MEASURE数据转换 | 询问用户(涉及积分消耗),然后运行并轮询数据转换任务 | |
| 11 | TPE分析应用安装 | 触发并轮询异步应用框架安装(约15-20分钟) | |
| 12 | 自定义KPI(可选) | 委托给 | |
references/phases-7-12.mdscripts/poll-status.jsScripts
脚本
- — authenticated REST calls; also exposes
scripts/sf-rest.js(stripsorg-statusbefore printing).accessToken - — generic async-status poller, reused by Phases 6 and 11.
scripts/poll-status.js - — extracts the actual per-requirement failure reason for a
scripts/find-failure-reason.jsapp-framework install (Phase 11), including "DMO not available" detection.FailedStatus - — renders an anonymous-Apex template with
scripts/render-apex.jssubstitutions; loads--varto escape substituted literals.scripts/soql-escape.js - — escapes a value for safe interpolation into a single-quoted SOQL/Apex string literal.
scripts/soql-escape.js - — triggers and polls a named Data Transform (Phase 10).
scripts/run-data-transform.js - — anonymous-Apex template for Phase 8.
scripts/schedule-business-period-export.apex
- — 已认证的REST调用;同时提供
scripts/sf-rest.js功能(打印前会移除org-status)。accessToken - — 通用异步状态轮询工具,供第6和第11阶段复用。
scripts/poll-status.js - — 提取
scripts/find-failure-reason.js状态下应用框架安装(第11阶段)的具体需求失败原因,包括检测「DMO不可用」情况。FailedStatus - — 通过
scripts/render-apex.js替换渲染anonymous-Apex模板;加载--var对替换的字面量进行转义。scripts/soql-escape.js - — 对值进行转义,使其可以安全插入到单引号包裹的SOQL/Apex字符串字面量中。
scripts/soql-escape.js - — 触发并轮询指定名称的数据转换任务(第10阶段)。
scripts/run-data-transform.js - — 第8阶段使用的anonymous-Apex模板。
scripts/schedule-business-period-export.apex
Report
报告
At the end of a run, give the user a structured status per phase (1-12): pass / blocked / pending, with the specific blocking reason and remediation click-path where applicable. Call out anything skipped due to dry-run, a declined confirmation, or (Phase 12) the customer opting out of KPI customization.
运行结束后,向用户提供各阶段(1-12)的结构化状态:通过/阻塞/待处理,并在适用情况下提供具体阻塞原因和补救操作路径。需特别说明因试运行、用户拒绝确认或(第12阶段)客户选择不进行KPI自定义而跳过的内容。