@W-21749060 fix: update first time site creation instructions (#117)

* @W-21749060 fix: update first time site creation instructions

* address comments

---------

Co-authored-by: Hemant Singh Bisht <hsinghbisht@salesforce.com>
This commit is contained in:
fcwong 2026-03-31 09:54:35 -07:00 committed by GitHub
parent a07f23abbd
commit 902c8d4539
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 66 additions and 5 deletions

View File

@ -212,10 +212,16 @@ Use `sf` CLI to validate and deploy. Access help docs by attaching `--help`, e.g
- `sf project deploy --help`
- `sf project deploy validate --help`
Note that metadata types are space-delimited.
Note that metadata types are space-delimited. **Never** wrap them in quotes or use commas. For example, `--metadata "DigitalExperienceBundle DigitalExperience"` is **incorrect** — always use `--metadata DigitalExperienceBundle DigitalExperience`.
**Validate**:
`sf project deploy validate --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}`
```bash
sf project deploy validate --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}
```
**Deploy**:
`sf project deploy start --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}`
```bash
sf project deploy start --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}
```

View File

@ -18,11 +18,66 @@ Ask user to choose:
### Option 1: Create in Org
**Step 1:** Run the create command:
```bash
sf community create --name "{siteName}" --template-name 'Build Your Own (LWR)' --url-path-prefix "{prefix}"
sf community create --name "{siteName}" --template-name 'Build Your Own (LWR)' --url-path-prefix "{prefix}" --target-org {usernameOrAlias} --json
```
After creation, retrieve metadata using sf CLI.
Site creation is an async job. As soon as the terminal returns output, capture the `jobId` and move on — do not wait for the shell command to fully exit.
**Step 2:** Ask the user: *"Would you like me to wait for the site creation to complete and then retrieve the metadata for you, or would you prefer to retrieve it yourself once it's ready?"*
**Stop here and wait for the user's response before proceeding.**
---
**If the user wants to wait and retrieve:**
Poll the `BackgroundOperation` object using the following command, replacing `{jobId}` with the ID returned from the create command:
```soql
SELECT Status FROM BackgroundOperation WHERE Id = '{jobId}'
```
Use the MCP tool `run_soql_query` to run this query on the given target org. If the MCP tool is not available, run the following command instead, replacing `{jobId}` and `{usernameOrAlias}` with the appropriate values:
```bash
sf data query --query "SELECT Status FROM BackgroundOperation WHERE Id = '{jobId}'" --target-org {usernameOrAlias} --json
```
Repeat until `Status` is `Complete`. If the query does not return `Complete` after several attempts, ask the user to manually check their target org to confirm whether site creation has completed. **Stop here and do not proceed until the user confirms the site is ready.**
Once complete, run each of the following retrieval commands **one at a time**. Do not chain them together (e.g. do not use `&&`). Wait for each command to return output before running the next. Metadata types are space-delimited — **never** wrap them in quotes or use commas:
```bash
sf project retrieve start --metadata DigitalExperienceBundle --target-org {usernameOrAlias} --json
```
```bash
sf project retrieve start --metadata DigitalExperienceConfig --target-org {usernameOrAlias} --json
```
```bash
sf project retrieve start --metadata Network --target-org {usernameOrAlias} --json
```
```bash
sf project retrieve start --metadata CustomSite --target-org {usernameOrAlias} --json
```
---
**If the user wants to retrieve themselves:**
Provide them with the retrieval command to run once the site is ready. Metadata types are space-delimited — **never** wrap them in quotes or use commas:
```bash
sf project retrieve start --metadata DigitalExperienceBundle DigitalExperienceConfig Network CustomSite --target-org {usernameOrAlias} --json
```
---
### Option 2: Scaffold Locally