mirror of
https://github.com/forcedotcom/afv-library.git
synced 2026-08-03 13:44:09 +08:00
* Move lwr site SKILL.md * Move bootstrap-template-byo-lwr.md * Move configure-content-brandingSet.md * Move configure-content-route.md * Move configure-content-themeLayout.md * Move configure-content-view.md * Move configure-guest-sharing-rules.md * Move handle-component-and-region-ids.md * Move handle-ui-components.md * Create react site SKILL.md * Create configure-metadata-custom-site.md * Create configure-metadata-digital-experience-bundle.md * Create configure-metadata-digital-experience-config.md * Create configure-metadata-digital-experience.md * Create configure-metadata-network.md --------- Co-authored-by: Hemant Singh Bisht <hsinghbisht@salesforce.com>
225 lines
6.8 KiB
Markdown
225 lines
6.8 KiB
Markdown
# Build Your Own (LWR) Template
|
|
|
|
**Use when** creating a new site or retrieving default values for site metadata.
|
|
|
|
## Table of Contents
|
|
|
|
- Bootstrap Options
|
|
- Default Values Reference
|
|
|
|
## Bootstrap Options
|
|
|
|
**IMPORTANT**: First site setup initializes services. Warn user - recommend Option 1 for first site.
|
|
|
|
Ask user to choose:
|
|
|
|
1. Create in org, then download metadata
|
|
2. Scaffold locally before deploying
|
|
|
|
### Option 1: Create in Org
|
|
|
|
```bash
|
|
sf community create --name "{siteName}" --template-name 'Build Your Own (LWR)' --url-path-prefix "{prefix}"
|
|
```
|
|
|
|
After creation, retrieve metadata using sf CLI.
|
|
|
|
### Option 2: Scaffold Locally
|
|
|
|
```bash
|
|
sf template generate digital-experience site --name "{siteName}" --template-name 'Build Your Own (LWR)' --url-path-prefix "{prefix}"
|
|
```
|
|
|
|
Generates metadata with defaults: DigitalExperienceConfig, DigitalExperiences, Network, CustomSite, and content (route, view, themeLayout, etc.).
|
|
|
|
#### Post-Creation Config
|
|
|
|
After site metadata is generated, use MCP tool `execute_metadata_action` to fetch additional information about the template:
|
|
|
|
```json
|
|
{
|
|
"metadataType": "ExperienceSiteLwr",
|
|
"actionName": "getSiteTemplateMetadata",
|
|
"parameters": { "templateDevName": "talon-template-byo" }
|
|
}
|
|
```
|
|
|
|
If result provides `disabledViews`, delete both view and route directories.
|
|
|
|
**Example**: If `disabledViews` includes "tooManyRequests":
|
|
|
|
- Delete: `digitalExperiences/site/{siteDevName}/sfdc_cms__view/tooManyRequests/`
|
|
- Delete: `digitalExperiences/site/{siteDevName}/sfdc_cms__route/Too_Many_Requests/`
|
|
|
|
---
|
|
|
|
## Default Values Reference
|
|
|
|
**Note**: CLI generates these. Listed for reference only - use CLI first.
|
|
|
|
### Metadata Defaults
|
|
|
|
**DigitalExperienceConfig**:
|
|
|
|
```yaml
|
|
label: {siteName}
|
|
urlPathPrefix: {siteUrlPathPrefix}
|
|
space: site/{siteName}1
|
|
```
|
|
|
|
**DigitalExperienceBundle**:
|
|
|
|
```yaml
|
|
label: {siteName}1
|
|
modules: [sfdc_cms__collection, sfdc_cms__mobilePublisherConfig]
|
|
```
|
|
|
|
**Network**:
|
|
|
|
```yaml
|
|
allowInternalUserLogin: false
|
|
allowMembersToFlag: false
|
|
changePasswordTemplate: unfiled$public/CommunityChangePasswordEmailTemplate
|
|
disableReputationRecordConversations: true
|
|
emailSenderAddress: {adminEmailAddress}
|
|
emailSenderName: {siteName}
|
|
embeddedLoginEnabled: false
|
|
enableApexCDNCaching: true
|
|
enableCustomVFErrorPageOverrides: false
|
|
enableDirectMessages: true
|
|
enableExpFriendlyUrlsAsDefault: false
|
|
enableExperienceBundleBasedSnaOverrideEnabled: true
|
|
enableGuestChatter: false
|
|
enableGuestFileAccess: false
|
|
enableGuestMemberVisibility: false
|
|
enableImageOptimizationCDN: true
|
|
enableInvitation: false
|
|
enableKnowledgeable: false
|
|
enableLWRExperienceConnectedApp: true
|
|
enableMemberVisibility: false
|
|
enableNicknameDisplay: true
|
|
enablePrivateMessages: false
|
|
enableReputation: false
|
|
enableShowAllNetworkSettings: false
|
|
enableSiteAsContainer: true
|
|
enableTalkingAboutStats: true
|
|
enableTopicAssignmentRules: true
|
|
enableTopicSuggestions: false
|
|
enableUpDownVote: false
|
|
forgotPasswordTemplate: unfiled$public/CommunityForgotPasswordEmailTemplate
|
|
gatherCustomerSentimentData: false
|
|
headlessForgotPasswordTemplate: unfiled$public/CommunityHeadlessForgotPasswordTemplate
|
|
headlessRegistrationTemplate: unfiled$public/CommunityHeadlessRegistrationTemplate
|
|
networkMemberGroups:
|
|
- profile: admin
|
|
networkPageOverrides:
|
|
- changePasswordPageOverrideSetting: Standard
|
|
- forgotPasswordPageOverrideSetting: Designer
|
|
- homePageOverrideSetting: Designer
|
|
- loginPageOverrideSetting: Designer
|
|
- selfRegProfilePageOverrideSetting: Designer
|
|
newSenderAddress: admin@company.com
|
|
picassoSite: {siteName}1
|
|
selfRegistration: false
|
|
sendWelcomeEmail: true
|
|
site: {siteName}
|
|
siteArchiveStatus: NotArchived
|
|
status: UnderConstruction
|
|
tabs:
|
|
- defaultTab: home
|
|
- standardTab: Chatter
|
|
urlPathPrefix: {siteUrlPathPrefix}vforcesite
|
|
welcomeTemplate: unfiled$public/CommunityWelcomeEmailTemplate
|
|
```
|
|
|
|
**CustomSite**:
|
|
|
|
```yaml
|
|
active: true
|
|
allowGuestPaymentsApi: false
|
|
allowHomePage: false
|
|
allowStandardAnswersPages: false
|
|
allowStandardIdeasPages: false
|
|
allowStandardLookups: false
|
|
allowStandardPortalPages: true
|
|
allowStandardSearch: false
|
|
authorizationRequiredPage: CommunitiesLogin
|
|
bandwidthExceededPage: BandwidthExceeded
|
|
browserXssProtection: true
|
|
cachePublicVisualforcePagesInProxyServers: true
|
|
clickjackProtectionLevel: SameOriginOnly
|
|
contentSniffingProtection: true
|
|
enableAuraRequests: true
|
|
fileNotFoundPage: FileNotFound
|
|
genericErrorPage: Exception
|
|
inMaintenancePage: InMaintenance
|
|
indexPage: CommunitiesLanding
|
|
masterLabel: {siteName}
|
|
redirectToCustomDomain: false
|
|
referrerPolicyOriginWhenCrossOrigin: true
|
|
selfRegPage: CommunitiesSelfReg
|
|
siteType: ChatterNetwork
|
|
urlPathPrefix: {siteUrlPathPrefix}vforcesite
|
|
```
|
|
|
|
### Content Defaults
|
|
|
|
apiNames and other metadata of site contents:
|
|
|
|
**sfdc_cms__appPage**:
|
|
|
|
- mainAppPage
|
|
|
|
**sfdc_cms__brandingSet**:
|
|
|
|
- Build_Your_Own_LWR
|
|
|
|
**sfdc_cms__languageSettings**:
|
|
|
|
- languages
|
|
|
|
**sfdc_cms__mobilePublisherConfig**:
|
|
|
|
- mobilePublisherConfig
|
|
|
|
**sfdc_cms__theme**:
|
|
|
|
- Build_Your_Own_LWR
|
|
|
|
**sfdc_cms__route**:
|
|
|
|
| Route | apiName | routeType | urlPrefix | urlName | viewId | configurationTags |
|
|
|-------|---------|-----------|-----------|---------|--------|-------------------|
|
|
| Home | Home | home | "" | home | home | |
|
|
| Login | Login | login-main | login | login | login | |
|
|
| Register | Register | self-register | SelfRegister | register | register | |
|
|
| Forgot_Password | Forgot_Password | forgot-password | ForgotPassword | forgot-password | forgotPassword | |
|
|
| Check_Password | Check_Password | check-password | CheckPasswordResetEmail | check-password | checkPasswordResetEmail | |
|
|
| Error | Error | error | error | error | error | |
|
|
| Service_Not_Available | Service_Not_Available | service-not-available | service-not-available | service-not-available | serviceNotAvailable | allow-in-static-site |
|
|
| Too_Many_Requests | Too_Many_Requests | too-many-requests | too-many-requests | too-many-requests | tooManyRequests | too-many-requests, allow-in-static-site |
|
|
| News_Detail__c | News_Detail__c | managed-content-sfdc_cms__news | news | news-detail | newsDetail | |
|
|
|
|
**sfdc_cms__view**:
|
|
|
|
| View | apiName | viewType | urlName | themeLayoutType |
|
|
|------|---------|----------|---------|-----------------|
|
|
| home | home | home | home | Inner |
|
|
| login | login | login-main | login | Inner |
|
|
| register | register | self-register | register | Inner |
|
|
| forgotPassword | forgotPassword | forgot-password | forgot-password | Inner |
|
|
| checkPasswordResetEmail | checkPasswordResetEmail | check-password | check-password | Inner |
|
|
| error | error | error | error | Inner |
|
|
| serviceNotAvailable | serviceNotAvailable | service-not-available | service-not-available | ServiceNotAvailable |
|
|
| tooManyRequests | tooManyRequests | too-many-requests | too-many-requests | ServiceNotAvailable |
|
|
| newsDetail | newsDetail | managed-content-sfdc_cms__news | news-detail | Inner |
|
|
|
|
**sfdc_cms__site**:
|
|
|
|
- {siteName}1
|
|
|
|
**sfdc_cms__themeLayout**:
|
|
|
|
- scopedHeaderAndFooter
|
|
- snaThemeLayout
|