afv-library/skills/omnistudio-epc-catalog-generate/references/naming-conventions.md

81 lines
1.7 KiB
Markdown
Raw Normal View History

<!-- Parent: omnistudio-epc-catalog-generate/SKILL.md -->
# CME EPC Naming Conventions
Use deterministic naming across products, attributes, and offer bundles. Names should remain stable across environments and releases.
## Product Name
Format:
```text
<Business Domain> <Tier/Variant> (<Channel or Variant Tag>)
```
Examples:
- `Business Internet Essential (VPL)`
- `Business Internet Premium (FTTC)`
## Product Code
Format:
```text
<PREFIX>_<ENTITY>_<DOMAIN>_<VARIANT>
```
Examples:
- `VEPC_OFFERING_BUSINESS_INTERNET_ESSENTIAL`
- `VEPC_SPEC_BUSINESS_ROUTER_ADVANCED`
Rules:
- Uppercase with underscores only
- No environment suffixes (`_DEV`, `_UAT`, `_PROD`)
- Stable after go-live
## Attribute Code
Format:
```text
VEPC_ATTR_<DOMAIN>_<ATTRIBUTE_NAME>
```
Examples:
- `VEPC_ATTR_DOWNLOAD_SPEED`
- `VEPC_ATTR_CONTRACT_TERM`
## Attribute Category Code
Format:
```text
VEPC_ATTRIBUTE_CATEGORY_<DOMAIN_BLOCK>
```
Examples:
- `VEPC_ATTRIBUTE_CATEGORY_INTERNET_DETAILS`
- `VEPC_ATTRIBUTE_CATEGORY_CONTRACT_DETAILS`
## Offer Bundle Composition
When naming bundles and child items:
- Bundle parent `ProductCode` should indicate offering intent (`VEPC_OFFERING_*`)
- Child product codes should represent reusable specs (`VEPC_SPEC_*` recommended)
- Sequence values (`SeqNumber`, `ChildLineNumber`) should be unique per parent and spaced for future inserts
## Anti-Patterns
| Bad pattern | Why to avoid |
|---|---|
| `Product1`, `Offer_New`, `CatalogItemA` | Non-descriptive and unstable |
| Mixed abbreviations without glossary | Hard to maintain and search |
| Date/version in `ProductCode` | Breaks long-term references |
| Same `ProductCode` in multiple products | Downstream ambiguity |