@salesforce/afv-skills 1.6.6 → 1.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,100 +0,0 @@
1
- # Updating Experience Site URLs
2
-
3
- Experience sites have a three-component architecture with two distinct URL patterns. Understanding this structure is critical when updating site URLs.
4
-
5
- ## Architecture Overview
6
-
7
- Every Salesforce Experience Site consists of three components:
8
-
9
- 1. **Network** (metadata: `Network`) - Network configuration
10
- 2. **ChatterNetwork Site** (metadata: `CustomSite`) - Authentication endpoints and core site services
11
- 3. **ChatterNetworkPicasso Site** (metadata: `DigitalExperienceConfig` + `DigitalExperienceBundle`) - Customer-facing pages and content
12
-
13
- ## URL Pattern
14
-
15
- These three components use **two different URLs**:
16
-
17
- - **Primary URL** (ChatterNetworkPicasso): Used for customer-facing pages
18
- - Defined in: `DigitalExperienceConfig` → `<urlPathPrefix>`
19
- - Example: `mysite`
20
-
21
- - **Secondary URL** (Network + CustomSite): Used for authentication endpoints and other services
22
- - Defined in: `Network` → `<urlPathPrefix>` AND `CustomSite` → `<urlPathPrefix>`
23
- - Example: `mysitevforcesite`
24
- - **Must be synchronized** - both files must have identical values
25
-
26
- By default, Salesforce differentiates these URLs by appending `vforcesite` suffix to the Network/CustomSite URL.
27
-
28
- ## URL Update Workflow
29
-
30
- When updating site URLs, follow this workflow:
31
-
32
- ### Step 1: Discover All URL References
33
-
34
- Search for all occurrences of `urlPathPrefix` across the project metadata files.
35
-
36
- **For agents**: Use the `search_files` tool with these parameters:
37
- - path: `force-app/main/default`
38
- - regex: `urlPathPrefix`
39
- - file_pattern: `*.xml`
40
-
41
- **For humans**: Use your IDE's search functionality or command line tools:
42
- ```bash
43
- # Using grep
44
- grep -r "urlPathPrefix" force-app/main/default --include="*.xml"
45
-
46
- # Using VS Code: Ctrl+Shift+F (Windows/Linux) or Cmd+Shift+F (Mac)
47
- # Search for: urlPathPrefix
48
- # Files to include: *.xml
49
- ```
50
-
51
- ### Step 2: Identify URL Groups
52
-
53
- Determine which files belong to which URL group:
54
-
55
- - **Primary URL Group**: `DigitalExperienceConfig`
56
- - **Secondary URL Group**: `Network` AND `CustomSite`
57
-
58
- ### Step 3: Update URLs Consistently
59
-
60
- Update the `<urlPathPrefix>` value in each file:
61
-
62
- - **DigitalExperienceConfig**: Update to new primary URL
63
- - **Network**: Update to new secondary URL (typically primary URL + `vforcesite`)
64
- - **CustomSite**: Update to **same value as Network** (must be synchronized)
65
-
66
- ### Step 4: Validate Naming Convention
67
-
68
- Ensure URL values follow best practices:
69
- - Use lowercase letters only
70
- - Avoid special characters except hyphens where appropriate
71
- - Keep URLs concise and meaningful
72
-
73
- ### Step 5: Verify Consistency
74
-
75
- Before deploying, confirm:
76
- - [ ] Primary URL in `DigitalExperienceConfig` is set correctly
77
- - [ ] Secondary URL in `Network` matches `CustomSite` exactly
78
- - [ ] URLs are properly differentiated (typically via suffix)
79
- - [ ] All URL values follow naming conventions
80
-
81
- ## Example URL Configuration
82
-
83
- ```
84
- ChatterNetworkPicasso Site (Primary):
85
- DigitalExperienceConfig: <urlPathPrefix>bestsupport</urlPathPrefix>
86
-
87
- Network + ChatterNetwork Site (Secondary):
88
- Network: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
89
- CustomSite: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
90
- ```
91
-
92
- ## Common Pitfalls to Avoid
93
-
94
- ❌ **Don't** update only one or two files - all three must be updated
95
- ❌ **Don't** use different values in Network and CustomSite
96
- ❌ **Don't** use the same URL for both Primary and Secondary groups
97
- ❌ **Don't** skip the discovery step with `search_files`
98
- ✅ **Do** use `search_files` to find all occurrences first
99
- ✅ **Do** maintain URL differentiation between the two groups
100
- ✅ **Do** follow lowercase naming conventions