mirror of
https://github.com/forcedotcom/afv-library.git
synced 2026-07-30 11:43:26 +08:00
move url update into its own doc md file
Signed-off-by: Daily Dai <lei.dai@salesforce.com>
This commit is contained in:
parent
2c04de5aff
commit
e701e00a7c
@ -102,6 +102,7 @@ Before doing anything, you **MUST ALWAYS** load them first if they match user in
|
|||||||
- [handle-component-and-region-ids.md](docs/handle-component-and-region-ids.md) - **UUID generation (CRITICAL)** for component and region ids used in views and themeLayout.
|
- [handle-component-and-region-ids.md](docs/handle-component-and-region-ids.md) - **UUID generation (CRITICAL)** for component and region ids used in views and themeLayout.
|
||||||
- [handle-ui-components.md](docs/handle-ui-components.md) - Component discovery, schemas, insertion, configuration
|
- [handle-ui-components.md](docs/handle-ui-components.md) - Component discovery, schemas, insertion, configuration
|
||||||
- [configure-guest-sharing-rules.md](docs/configure-guest-sharing-rules.md) - **Guest sharing rules** (`sharingGuestRules`) for public sites — use for any request involving "guest sharing rule", "Site Guest User", or sharing object records with unauthenticated visitors
|
- [configure-guest-sharing-rules.md](docs/configure-guest-sharing-rules.md) - **Guest sharing rules** (`sharingGuestRules`) for public sites — use for any request involving "guest sharing rule", "Site Guest User", or sharing object records with unauthenticated visitors
|
||||||
|
- [update-site-urls.md](docs/update-site-urls.md) - **Updating site URLs** - URL architecture, workflow for updating `urlPathPrefix` in DigitalExperienceConfig, Network, and CustomSite
|
||||||
|
|
||||||
## Common Workflows
|
## Common Workflows
|
||||||
|
|
||||||
@ -213,93 +214,12 @@ If the site is not found, an error message will be returned indicating that the
|
|||||||
|
|
||||||
### Updating Experience Site URLs
|
### Updating Experience Site URLs
|
||||||
|
|
||||||
Experience sites have a three-component architecture with two distinct URL patterns. Understanding this structure is critical when updating site URLs.
|
**Use when** user wants to update or change site URLs (urlPathPrefix).
|
||||||
|
|
||||||
#### Architecture Overview
|
**Steps** (Follow the steps sequentially. Do not skip any step before proceeding):
|
||||||
|
|
||||||
Every Salesforce Experience Site consists of three components:
|
- [ ] MUST read [update-site-urls.md](docs/update-site-urls.md) to understand the three-component architecture and URL update workflow
|
||||||
|
- [ ] Follow the step-by-step workflow in the doc to update URLs consistently across all three components (DigitalExperienceConfig, Network, CustomSite)
|
||||||
1. **Network** (metadata: `Network`) - Network configuration
|
|
||||||
2. **ChatterNetwork Site** (metadata: `CustomSite`) - Authentication endpoints and core site services
|
|
||||||
3. **ChatterNetworkPicasso Site** (metadata: `DigitalExperienceConfig` + `DigitalExperienceBundle`) - Customer-facing pages and content
|
|
||||||
|
|
||||||
#### URL Pattern
|
|
||||||
|
|
||||||
These three components use **two different URLs**:
|
|
||||||
|
|
||||||
- **Primary URL** (ChatterNetworkPicasso): Used for customer-facing pages
|
|
||||||
- Defined in: `DigitalExperienceConfig` → `<urlPathPrefix>`
|
|
||||||
- Example: `mysite`
|
|
||||||
|
|
||||||
- **Secondary URL** (Network + CustomSite): Used for authentication endpoints and other services
|
|
||||||
- Defined in: `Network` → `<urlPathPrefix>` AND `CustomSite` → `<urlPathPrefix>`
|
|
||||||
- Example: `mysitevforcesite`
|
|
||||||
- **Must be synchronized** - both files must have identical values
|
|
||||||
|
|
||||||
By default, Salesforce differentiates these URLs by appending `vforcesite` suffix to the Network/CustomSite URL.
|
|
||||||
|
|
||||||
#### URL Update Workflow
|
|
||||||
|
|
||||||
When updating site URLs, follow this workflow:
|
|
||||||
|
|
||||||
**Step 1: Discover All URL References**
|
|
||||||
|
|
||||||
Use `search_files` to find all occurrences of `urlPathPrefix` in the project:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
search_files --path force-app/main/default --regex "urlPathPrefix" --file-pattern "*.xml"
|
|
||||||
```
|
|
||||||
|
|
||||||
**Step 2: Identify URL Groups**
|
|
||||||
|
|
||||||
Determine which files belong to which URL group:
|
|
||||||
|
|
||||||
- **Primary URL Group**: `DigitalExperienceConfig`
|
|
||||||
- **Secondary URL Group**: `Network` AND `CustomSite`
|
|
||||||
|
|
||||||
**Step 3: Update URLs Consistently**
|
|
||||||
|
|
||||||
Update the `<urlPathPrefix>` value in each file:
|
|
||||||
|
|
||||||
- **DigitalExperienceConfig**: Update to new primary URL
|
|
||||||
- **Network**: Update to new secondary URL (typically primary URL + `vforcesite`)
|
|
||||||
- **CustomSite**: Update to **same value as Network** (must be synchronized)
|
|
||||||
|
|
||||||
**Step 4: Validate Naming Convention**
|
|
||||||
|
|
||||||
Ensure URL values follow best practices:
|
|
||||||
- Use lowercase letters only
|
|
||||||
- Avoid special characters except hyphens where appropriate
|
|
||||||
- Keep URLs concise and meaningful
|
|
||||||
|
|
||||||
**Step 5: Verify Consistency**
|
|
||||||
|
|
||||||
Before deploying, confirm:
|
|
||||||
- [ ] Primary URL in `DigitalExperienceConfig` is set correctly
|
|
||||||
- [ ] Secondary URL in `Network` matches `CustomSite` exactly
|
|
||||||
- [ ] URLs are properly differentiated (typically via suffix)
|
|
||||||
- [ ] All URL values follow naming conventions
|
|
||||||
|
|
||||||
#### Example URL Configuration
|
|
||||||
|
|
||||||
```
|
|
||||||
ChatterNetworkPicasso Site (Primary):
|
|
||||||
DigitalExperienceConfig: <urlPathPrefix>bestsupport</urlPathPrefix>
|
|
||||||
|
|
||||||
Network + ChatterNetwork Site (Secondary):
|
|
||||||
Network: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
|
|
||||||
CustomSite: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Common Pitfalls to Avoid
|
|
||||||
|
|
||||||
❌ **Don't** update only one or two files - all three must be updated
|
|
||||||
❌ **Don't** use different values in Network and CustomSite
|
|
||||||
❌ **Don't** use the same URL for both Primary and Secondary groups
|
|
||||||
❌ **Don't** skip the discovery step with `search_files`
|
|
||||||
✅ **Do** use `search_files` to find all occurrences first
|
|
||||||
✅ **Do** maintain URL differentiation between the two groups
|
|
||||||
✅ **Do** follow lowercase naming conventions
|
|
||||||
|
|
||||||
### Validation & Deployment
|
### Validation & Deployment
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,89 @@
|
|||||||
|
# Updating Experience Site URLs
|
||||||
|
|
||||||
|
Experience sites have a three-component architecture with two distinct URL patterns. Understanding this structure is critical when updating site URLs.
|
||||||
|
|
||||||
|
## Architecture Overview
|
||||||
|
|
||||||
|
Every Salesforce Experience Site consists of three components:
|
||||||
|
|
||||||
|
1. **Network** (metadata: `Network`) - Network configuration
|
||||||
|
2. **ChatterNetwork Site** (metadata: `CustomSite`) - Authentication endpoints and core site services
|
||||||
|
3. **ChatterNetworkPicasso Site** (metadata: `DigitalExperienceConfig` + `DigitalExperienceBundle`) - Customer-facing pages and content
|
||||||
|
|
||||||
|
## URL Pattern
|
||||||
|
|
||||||
|
These three components use **two different URLs**:
|
||||||
|
|
||||||
|
- **Primary URL** (ChatterNetworkPicasso): Used for customer-facing pages
|
||||||
|
- Defined in: `DigitalExperienceConfig` → `<urlPathPrefix>`
|
||||||
|
- Example: `mysite`
|
||||||
|
|
||||||
|
- **Secondary URL** (Network + CustomSite): Used for authentication endpoints and other services
|
||||||
|
- Defined in: `Network` → `<urlPathPrefix>` AND `CustomSite` → `<urlPathPrefix>`
|
||||||
|
- Example: `mysitevforcesite`
|
||||||
|
- **Must be synchronized** - both files must have identical values
|
||||||
|
|
||||||
|
By default, Salesforce differentiates these URLs by appending `vforcesite` suffix to the Network/CustomSite URL.
|
||||||
|
|
||||||
|
## URL Update Workflow
|
||||||
|
|
||||||
|
When updating site URLs, follow this workflow:
|
||||||
|
|
||||||
|
### Step 1: Discover All URL References
|
||||||
|
|
||||||
|
Use `search_files` to find all occurrences of `urlPathPrefix` in the project:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
search_files --path force-app/main/default --regex "urlPathPrefix" --file-pattern "*.xml"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 2: Identify URL Groups
|
||||||
|
|
||||||
|
Determine which files belong to which URL group:
|
||||||
|
|
||||||
|
- **Primary URL Group**: `DigitalExperienceConfig`
|
||||||
|
- **Secondary URL Group**: `Network` AND `CustomSite`
|
||||||
|
|
||||||
|
### Step 3: Update URLs Consistently
|
||||||
|
|
||||||
|
Update the `<urlPathPrefix>` value in each file:
|
||||||
|
|
||||||
|
- **DigitalExperienceConfig**: Update to new primary URL
|
||||||
|
- **Network**: Update to new secondary URL (typically primary URL + `vforcesite`)
|
||||||
|
- **CustomSite**: Update to **same value as Network** (must be synchronized)
|
||||||
|
|
||||||
|
### Step 4: Validate Naming Convention
|
||||||
|
|
||||||
|
Ensure URL values follow best practices:
|
||||||
|
- Use lowercase letters only
|
||||||
|
- Avoid special characters except hyphens where appropriate
|
||||||
|
- Keep URLs concise and meaningful
|
||||||
|
|
||||||
|
### Step 5: Verify Consistency
|
||||||
|
|
||||||
|
Before deploying, confirm:
|
||||||
|
- [ ] Primary URL in `DigitalExperienceConfig` is set correctly
|
||||||
|
- [ ] Secondary URL in `Network` matches `CustomSite` exactly
|
||||||
|
- [ ] URLs are properly differentiated (typically via suffix)
|
||||||
|
- [ ] All URL values follow naming conventions
|
||||||
|
|
||||||
|
## Example URL Configuration
|
||||||
|
|
||||||
|
```
|
||||||
|
ChatterNetworkPicasso Site (Primary):
|
||||||
|
DigitalExperienceConfig: <urlPathPrefix>bestsupport</urlPathPrefix>
|
||||||
|
|
||||||
|
Network + ChatterNetwork Site (Secondary):
|
||||||
|
Network: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
|
||||||
|
CustomSite: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Common Pitfalls to Avoid
|
||||||
|
|
||||||
|
❌ **Don't** update only one or two files - all three must be updated
|
||||||
|
❌ **Don't** use different values in Network and CustomSite
|
||||||
|
❌ **Don't** use the same URL for both Primary and Secondary groups
|
||||||
|
❌ **Don't** skip the discovery step with `search_files`
|
||||||
|
✅ **Do** use `search_files` to find all occurrences first
|
||||||
|
✅ **Do** maintain URL differentiation between the two groups
|
||||||
|
✅ **Do** follow lowercase naming conventions
|
||||||
@ -51,6 +51,8 @@ Use the default templates in the docs below. Values in `{braces}` are resolved p
|
|||||||
| DigitalExperienceBundle | [configure-metadata-digital-experience-bundle.md](docs/configure-metadata-digital-experience-bundle.md) |
|
| DigitalExperienceBundle | [configure-metadata-digital-experience-bundle.md](docs/configure-metadata-digital-experience-bundle.md) |
|
||||||
| DigitalExperience (sfdc_cms__site) | [configure-metadata-digital-experience.md](docs/configure-metadata-digital-experience.md) |
|
| DigitalExperience (sfdc_cms__site) | [configure-metadata-digital-experience.md](docs/configure-metadata-digital-experience.md) |
|
||||||
|
|
||||||
|
For URL updates, see [update-site-urls.md](docs/update-site-urls.md).
|
||||||
|
|
||||||
### Execution Note for Step 3: Load and use the docs
|
### Execution Note for Step 3: Load and use the docs
|
||||||
- Agents MUST read the full contents of each docs/*.md file referenced in Step 3 before attempting to populate metadata fields.
|
- Agents MUST read the full contents of each docs/*.md file referenced in Step 3 before attempting to populate metadata fields.
|
||||||
- Use your platform's file-read tool (for example, `read_file`) to load these files in full, then perform placeholder substitution for values in `{braces}` using the resolved properties from Step 1.
|
- Use your platform's file-read tool (for example, `read_file`) to load these files in full, then perform placeholder substitution for values in `{braces}` using the resolved properties from Step 1.
|
||||||
@ -81,90 +83,8 @@ sf project deploy validate --metadata Network CustomSite DigitalExperienceConfig
|
|||||||
|
|
||||||
### Updating Experience Site URLs
|
### Updating Experience Site URLs
|
||||||
|
|
||||||
Experience sites have a three-component architecture with two distinct URL patterns. Understanding this structure is critical when updating site URLs.
|
**Use when** user wants to update or change site URLs (urlPathPrefix).
|
||||||
|
|
||||||
#### Architecture Overview
|
**Steps**:
|
||||||
|
- [ ] Read [update-site-urls.md](docs/update-site-urls.md) to understand the three-component architecture and URL update workflow
|
||||||
Every Salesforce Experience Site consists of three components:
|
- [ ] Follow the step-by-step workflow in the doc to update URLs consistently across all three components (DigitalExperienceConfig, Network, CustomSite)
|
||||||
|
|
||||||
1. **Network** (metadata: `Network`) - Network configuration
|
|
||||||
2. **ChatterNetwork Site** (metadata: `CustomSite`) - Legacy site and proxy core site services
|
|
||||||
3. **ChatterNetworkPicasso Site** (metadata: `DigitalExperienceConfig` + `DigitalExperienceBundle`) - Customer-facing pages and content
|
|
||||||
|
|
||||||
#### URL Pattern
|
|
||||||
|
|
||||||
These three components use **two different URLs**:
|
|
||||||
|
|
||||||
- **Primary URL** (ChatterNetworkPicasso): Used for customer-facing pages
|
|
||||||
- Defined in: `DigitalExperienceConfig` → `<urlPathPrefix>`
|
|
||||||
- Example: `mysite`
|
|
||||||
|
|
||||||
- **Secondary URL** (Network + CustomSite): Used for legacy authentication endpoints and other services
|
|
||||||
- Defined in: `Network` → `<urlPathPrefix>` AND `CustomSite` → `<urlPathPrefix>`
|
|
||||||
- Example: `mysitevforcesite`
|
|
||||||
- **Must be synchronized** - both files must have identical values
|
|
||||||
|
|
||||||
By default, Salesforce differentiates these URLs by appending `vforcesite` suffix to the Network/CustomSite URL.
|
|
||||||
|
|
||||||
#### URL Update Workflow
|
|
||||||
|
|
||||||
When updating site URLs, follow this workflow:
|
|
||||||
|
|
||||||
**Step 1: Discover All URL References**
|
|
||||||
|
|
||||||
Use `search_files` to find all occurrences of `urlPathPrefix` in the project:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
search_files --path force-app/main/default --regex "urlPathPrefix" --file-pattern "*.xml"
|
|
||||||
```
|
|
||||||
|
|
||||||
**Step 2: Identify URL Groups**
|
|
||||||
|
|
||||||
Determine which files belong to which URL group:
|
|
||||||
|
|
||||||
- **Primary URL Group**: `DigitalExperienceConfig`
|
|
||||||
- **Secondary URL Group**: `Network` AND `CustomSite`
|
|
||||||
|
|
||||||
**Step 3: Update URLs Consistently**
|
|
||||||
|
|
||||||
Update the `<urlPathPrefix>` value in each file:
|
|
||||||
|
|
||||||
- **DigitalExperienceConfig**: Update to new primary URL
|
|
||||||
- **Network**: Update to new secondary URL (typically primary URL + `vforcesite`)
|
|
||||||
- **CustomSite**: Update to **same value as Network** (must be synchronized)
|
|
||||||
|
|
||||||
**Step 4: Validate Naming Convention**
|
|
||||||
|
|
||||||
Ensure URL values follow best practices:
|
|
||||||
- Use lowercase letters only
|
|
||||||
- Avoid special characters except hyphens where appropriate
|
|
||||||
- Keep URLs concise and meaningful
|
|
||||||
|
|
||||||
**Step 5: Verify Consistency**
|
|
||||||
|
|
||||||
Before deploying, confirm:
|
|
||||||
- [ ] Primary URL in `DigitalExperienceConfig` is set correctly
|
|
||||||
- [ ] Secondary URL in `Network` matches `CustomSite` exactly
|
|
||||||
- [ ] URLs are properly differentiated (typically via suffix)
|
|
||||||
- [ ] All URL values follow naming conventions
|
|
||||||
|
|
||||||
#### Example URL Configuration
|
|
||||||
|
|
||||||
```
|
|
||||||
ChatterNetworkPicasso Site (Primary):
|
|
||||||
DigitalExperienceConfig: <urlPathPrefix>bestsupport</urlPathPrefix>
|
|
||||||
|
|
||||||
Network + ChatterNetwork Site (Secondary):
|
|
||||||
Network: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
|
|
||||||
CustomSite: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Common Pitfalls to Avoid
|
|
||||||
|
|
||||||
❌ **Don't** update only one or two files - all three must be updated
|
|
||||||
❌ **Don't** use different values in Network and CustomSite
|
|
||||||
❌ **Don't** use the same URL for both Primary and Secondary groups
|
|
||||||
❌ **Don't** skip the discovery step with `search_files`
|
|
||||||
✅ **Do** use `search_files` to find all occurrences first
|
|
||||||
✅ **Do** maintain URL differentiation between the two groups
|
|
||||||
✅ **Do** follow lowercase naming conventions
|
|
||||||
|
|||||||
89
skills/generating-ui-bundle-site/docs/update-site-urls.md
Normal file
89
skills/generating-ui-bundle-site/docs/update-site-urls.md
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
# Updating Experience Site URLs
|
||||||
|
|
||||||
|
Experience sites have a three-component architecture with two distinct URL patterns. Understanding this structure is critical when updating site URLs.
|
||||||
|
|
||||||
|
## Architecture Overview
|
||||||
|
|
||||||
|
Every Salesforce Experience Site consists of three components:
|
||||||
|
|
||||||
|
1. **Network** (metadata: `Network`) - Network configuration
|
||||||
|
2. **ChatterNetwork Site** (metadata: `CustomSite`) - Legacy site and proxy core site services
|
||||||
|
3. **ChatterNetworkPicasso Site** (metadata: `DigitalExperienceConfig` + `DigitalExperienceBundle`) - Customer-facing pages and content
|
||||||
|
|
||||||
|
## URL Pattern
|
||||||
|
|
||||||
|
These three components use **two different URLs**:
|
||||||
|
|
||||||
|
- **Primary URL** (ChatterNetworkPicasso): Used for customer-facing pages
|
||||||
|
- Defined in: `DigitalExperienceConfig` → `<urlPathPrefix>`
|
||||||
|
- Example: `mysite`
|
||||||
|
|
||||||
|
- **Secondary URL** (Network + CustomSite): Used for legacy authentication endpoints and other services
|
||||||
|
- Defined in: `Network` → `<urlPathPrefix>` AND `CustomSite` → `<urlPathPrefix>`
|
||||||
|
- Example: `mysitevforcesite`
|
||||||
|
- **Must be synchronized** - both files must have identical values
|
||||||
|
|
||||||
|
By default, Salesforce differentiates these URLs by appending `vforcesite` suffix to the Network/CustomSite URL.
|
||||||
|
|
||||||
|
## URL Update Workflow
|
||||||
|
|
||||||
|
When updating site URLs, follow this workflow:
|
||||||
|
|
||||||
|
### Step 1: Discover All URL References
|
||||||
|
|
||||||
|
Use `search_files` to find all occurrences of `urlPathPrefix` in the project:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
search_files --path force-app/main/default --regex "urlPathPrefix" --file-pattern "*.xml"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 2: Identify URL Groups
|
||||||
|
|
||||||
|
Determine which files belong to which URL group:
|
||||||
|
|
||||||
|
- **Primary URL Group**: `DigitalExperienceConfig`
|
||||||
|
- **Secondary URL Group**: `Network` AND `CustomSite`
|
||||||
|
|
||||||
|
### Step 3: Update URLs Consistently
|
||||||
|
|
||||||
|
Update the `<urlPathPrefix>` value in each file:
|
||||||
|
|
||||||
|
- **DigitalExperienceConfig**: Update to new primary URL
|
||||||
|
- **Network**: Update to new secondary URL (typically primary URL + `vforcesite`)
|
||||||
|
- **CustomSite**: Update to **same value as Network** (must be synchronized)
|
||||||
|
|
||||||
|
### Step 4: Validate Naming Convention
|
||||||
|
|
||||||
|
Ensure URL values follow best practices:
|
||||||
|
- Use lowercase letters only
|
||||||
|
- Avoid special characters except hyphens where appropriate
|
||||||
|
- Keep URLs concise and meaningful
|
||||||
|
|
||||||
|
### Step 5: Verify Consistency
|
||||||
|
|
||||||
|
Before deploying, confirm:
|
||||||
|
- [ ] Primary URL in `DigitalExperienceConfig` is set correctly
|
||||||
|
- [ ] Secondary URL in `Network` matches `CustomSite` exactly
|
||||||
|
- [ ] URLs are properly differentiated (typically via suffix)
|
||||||
|
- [ ] All URL values follow naming conventions
|
||||||
|
|
||||||
|
## Example URL Configuration
|
||||||
|
|
||||||
|
```
|
||||||
|
ChatterNetworkPicasso Site (Primary):
|
||||||
|
DigitalExperienceConfig: <urlPathPrefix>bestsupport</urlPathPrefix>
|
||||||
|
|
||||||
|
Network + ChatterNetwork Site (Secondary):
|
||||||
|
Network: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
|
||||||
|
CustomSite: <urlPathPrefix>bestsupportvforcesite</urlPathPrefix>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Common Pitfalls to Avoid
|
||||||
|
|
||||||
|
❌ **Don't** update only one or two files - all three must be updated
|
||||||
|
❌ **Don't** use different values in Network and CustomSite
|
||||||
|
❌ **Don't** use the same URL for both Primary and Secondary groups
|
||||||
|
❌ **Don't** skip the discovery step with `search_files`
|
||||||
|
✅ **Do** use `search_files` to find all occurrences first
|
||||||
|
✅ **Do** maintain URL differentiation between the two groups
|
||||||
|
✅ **Do** follow lowercase naming conventions
|
||||||
Loading…
Reference in New Issue
Block a user