afv-library/skills/generating-experience-lwr-site/docs/bootstrap-template-byo-lwr.md
jluftglidden-tilt 518df2074f
@W-21582128@: T/experience sites platform/add react skill (#73)
* 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>
2026-03-19 09:48:29 +05:30

6.8 KiB

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

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

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:

{
  "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:

label: {siteName}
urlPathPrefix: {siteUrlPathPrefix}
space: site/{siteName}1

DigitalExperienceBundle:

label: {siteName}1
modules: [sfdc_cms__collection, sfdc_cms__mobilePublisherConfig]

Network:

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:

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