@salesforce/b2c-cli 2.3.0 → 2.4.0
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.
- package/bin/dev.js +8 -8
- package/bin/run.js +5 -7
- package/content/guidance/b2c/b2c-business-manager-extensions/SKILL.md +361 -0
- package/content/guidance/b2c/b2c-business-manager-extensions/references/EXTENSIONS-XML.md +458 -0
- package/content/guidance/b2c/b2c-controllers/SKILL.md +301 -0
- package/content/guidance/b2c/b2c-controllers/references/CLASSIC-PATTERNS.md +335 -0
- package/content/guidance/b2c/b2c-controllers/references/SFRA-PATTERNS.md +400 -0
- package/content/guidance/b2c/b2c-custom-api-development/SKILL.md +281 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/CONTRACT.md +142 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/IMPLEMENTATION.md +153 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/TESTING.md +118 -0
- package/content/guidance/b2c/b2c-custom-caches/SKILL.md +279 -0
- package/content/guidance/b2c/b2c-custom-job-steps/SKILL.md +520 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/CHUNK-ORIENTED.md +377 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/JOBS-XML.md +212 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/STEPTYPES-JSON.md +373 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/TASK-ORIENTED.md +344 -0
- package/content/guidance/b2c/b2c-custom-objects/SKILL.md +327 -0
- package/content/guidance/b2c/b2c-custom-objects/references/OCAPI-SEARCH.md +298 -0
- package/content/guidance/b2c/b2c-forms/SKILL.md +242 -0
- package/content/guidance/b2c/b2c-forms/references/FORM-XML.md +409 -0
- package/content/guidance/b2c/b2c-hooks/SKILL.md +500 -0
- package/content/guidance/b2c/b2c-hooks/references/OCAPI-SCAPI-HOOKS.md +403 -0
- package/content/guidance/b2c/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +169 -0
- package/content/guidance/b2c/b2c-hooks/references/SYSTEM-HOOKS.md +433 -0
- package/content/guidance/b2c/b2c-isml/SKILL.md +320 -0
- package/content/guidance/b2c/b2c-isml/references/EXPRESSIONS.md +366 -0
- package/content/guidance/b2c/b2c-isml/references/TAGS.md +443 -0
- package/content/guidance/b2c/b2c-localization/SKILL.md +344 -0
- package/content/guidance/b2c/b2c-localization/references/PATTERNS.md +407 -0
- package/content/guidance/b2c/b2c-logging/SKILL.md +352 -0
- package/content/guidance/b2c/b2c-logging/references/LOG-FILES.md +282 -0
- package/content/guidance/b2c/b2c-metadata/SKILL.md +406 -0
- package/content/guidance/b2c/b2c-metadata/references/SYSTEM-OBJECTS.md +320 -0
- package/content/guidance/b2c/b2c-metadata/references/XML-EXAMPLES.md +366 -0
- package/content/guidance/b2c/b2c-onboarding/SKILL.md +154 -0
- package/content/guidance/b2c/b2c-ordering/SKILL.md +391 -0
- package/content/guidance/b2c/b2c-page-designer/SKILL.md +410 -0
- package/content/guidance/b2c/b2c-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/content/guidance/b2c/b2c-page-designer/references/META-DEFINITIONS.md +340 -0
- package/content/guidance/b2c/b2c-querying-data/SKILL.md +289 -0
- package/content/guidance/b2c/b2c-querying-data/references/PERFORMANCE-APIS.md +74 -0
- package/content/guidance/b2c/b2c-scapi-admin/SKILL.md +53 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +440 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/INTEGRATION-PATTERNS.md +518 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/OAUTH-SCOPES.md +337 -0
- package/content/guidance/b2c/b2c-scapi-shopper/SKILL.md +56 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CHECKOUT-FLOW.md +466 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +351 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/COMMON-PATTERNS.md +390 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/SCOPES.md +290 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/SKILL.md +420 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/PASSKEYS.md +126 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/SESSION-BRIDGE.md +267 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/TOKEN-LIFECYCLE.md +367 -0
- package/content/guidance/b2c/b2c-webservices/SKILL.md +318 -0
- package/content/guidance/b2c/b2c-webservices/references/FTP-SERVICES.md +524 -0
- package/content/guidance/b2c/b2c-webservices/references/HTTP-SERVICES.md +578 -0
- package/content/guidance/b2c/b2c-webservices/references/SERVICES-XML.md +351 -0
- package/content/guidance/b2c/b2c-webservices/references/SOAP-SERVICES.md +587 -0
- package/content/guidance/b2c-cli/b2c-am/SKILL.md +277 -0
- package/content/guidance/b2c-cli/b2c-bm-users-roles/SKILL.md +210 -0
- package/content/guidance/b2c-cli/b2c-cap/SKILL.md +131 -0
- package/content/guidance/b2c-cli/b2c-cip/SKILL.md +116 -0
- package/content/guidance/b2c-cli/b2c-cip/references/KNOWN_TABLES.md +105 -0
- package/content/guidance/b2c-cli/b2c-cip/references/SALES_ANALYSIS.md +50 -0
- package/content/guidance/b2c-cli/b2c-cip/references/STARTER_QUERIES.md +147 -0
- package/content/guidance/b2c-cli/b2c-code/SKILL.md +146 -0
- package/content/guidance/b2c-cli/b2c-config/SKILL.md +462 -0
- package/content/guidance/b2c-cli/b2c-content/SKILL.md +176 -0
- package/content/guidance/b2c-cli/b2c-debug/SKILL.md +138 -0
- package/content/guidance/b2c-cli/b2c-docs/SKILL.md +301 -0
- package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +135 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/ADVANCED.md +97 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/SECURITY.md +75 -0
- package/content/guidance/b2c-cli/b2c-import-set-migrations/SKILL.md +265 -0
- package/content/guidance/b2c-cli/b2c-job/SKILL.md +64 -0
- package/content/guidance/b2c-cli/b2c-job/references/EXPORT.md +121 -0
- package/content/guidance/b2c-cli/b2c-job/references/IMPORT.md +55 -0
- package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +119 -0
- package/content/guidance/b2c-cli/b2c-logs/SKILL.md +249 -0
- package/content/guidance/b2c-cli/b2c-metrics/SKILL.md +315 -0
- package/content/guidance/b2c-cli/b2c-mrt/SKILL.md +207 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/BUNDLE-COMMANDS.md +203 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/ENVIRONMENT-COMMANDS.md +218 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/PROJECT-COMMANDS.md +154 -0
- package/content/guidance/b2c-cli/b2c-sandbox/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-scapi-custom/SKILL.md +126 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +66 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/references/CLI-EXAMPLES.md +108 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/SKILL.md +57 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/IMPORT-OPTIONS.md +118 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/METADATA-XML.md +381 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/WORKFLOWS.md +182 -0
- package/content/guidance/b2c-cli/b2c-sites/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-slas/SKILL.md +182 -0
- package/content/guidance/b2c-cli/b2c-webdav/SKILL.md +186 -0
- package/content/guidance/b2c-ops/b2c-checkout-triage/SKILL.md +68 -0
- package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +75 -0
- package/content/guidance/b2c-ops/b2c-job-health/references/job-logs.md +21 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +66 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +87 -0
- package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +87 -0
- package/content/guidance/b2c-ops/b2c-production-triage/references/escalation.md +57 -0
- package/content/guidance/index.json +1949 -0
- package/content/guidance/storefront-next/sfnext-accessibility/SKILL.md +103 -0
- package/content/guidance/storefront-next/sfnext-accessibility/references/checklist.md +64 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/SKILL.md +91 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
- package/content/guidance/storefront-next/sfnext-authentication/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/COOKIES.md +39 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/SKILL.md +67 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
- package/content/guidance/storefront-next/sfnext-components/SKILL.md +153 -0
- package/content/guidance/storefront-next/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
- package/content/guidance/storefront-next/sfnext-components/references/SHAPE-TOKENS.md +51 -0
- package/content/guidance/storefront-next/sfnext-components/references/STORYBOOK.md +54 -0
- package/content/guidance/storefront-next/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
- package/content/guidance/storefront-next/sfnext-components/references/TROUBLESHOOTING.md +19 -0
- package/content/guidance/storefront-next/sfnext-configuration/SKILL.md +163 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/SKILL.md +140 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/ACTIONS.md +53 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADERS.md +73 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/SCAPI-FETCHER.md +39 -0
- package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +59 -0
- package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +118 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +68 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/EXTENSION-EXAMPLES.md +79 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +93 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +86 -0
- package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +152 -0
- package/content/guidance/storefront-next/sfnext-i18n/references/locale-config.md +35 -0
- package/content/guidance/storefront-next/sfnext-overview/SKILL.md +101 -0
- package/content/guidance/storefront-next/sfnext-page-designer/SKILL.md +202 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/COMPONENT-REGISTRY.md +111 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +168 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
- package/content/guidance/storefront-next/sfnext-performance/SKILL.md +102 -0
- package/content/guidance/storefront-next/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
- package/content/guidance/storefront-next/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
- package/content/guidance/storefront-next/sfnext-project-setup/SKILL.md +147 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SCRIPTS.md +47 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/SKILL.md +70 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
- package/content/guidance/storefront-next/sfnext-revalidation/SKILL.md +121 -0
- package/content/guidance/storefront-next/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
- package/content/guidance/storefront-next/sfnext-routing/SKILL.md +123 -0
- package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +65 -0
- package/content/guidance/storefront-next/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
- package/content/guidance/storefront-next/sfnext-scapi/SKILL.md +126 -0
- package/content/guidance/storefront-next/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/SKILL.md +129 -0
- package/content/guidance/storefront-next/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/references/TURNSTILE.md +43 -0
- package/content/guidance/storefront-next/sfnext-seo/SKILL.md +95 -0
- package/content/guidance/storefront-next/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
- package/content/guidance/storefront-next/sfnext-seo/references/SEO-ROUTES.md +31 -0
- package/content/guidance/storefront-next/sfnext-state-management/SKILL.md +114 -0
- package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
- package/content/guidance/storefront-next/sfnext-testing/SKILL.md +151 -0
- package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
- package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +97 -0
- package/content/guidance/storefront-next/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
- package/content/guidance/storefront-next/sfnext-theming/SKILL.md +104 -0
- package/content/guidance/storefront-next/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
- package/dist/commands/cap/install.d.ts +1 -0
- package/dist/commands/cap/list.d.ts +1 -0
- package/dist/commands/cap/pull.d.ts +1 -0
- package/dist/commands/cap/tasks.d.ts +1 -0
- package/dist/commands/cap/uninstall.d.ts +1 -0
- package/dist/commands/cip/describe.d.ts +1 -0
- package/dist/commands/cip/query.d.ts +1 -0
- package/dist/commands/cip/report/bot-traffic-share.d.ts +1 -0
- package/dist/commands/cip/report/checkout-funnel-dropoff.d.ts +1 -0
- package/dist/commands/cip/report/controller-error-rate-trend.d.ts +1 -0
- package/dist/commands/cip/report/controller-health-scorecard.d.ts +1 -0
- package/dist/commands/cip/report/customer-registration-trends.d.ts +1 -0
- package/dist/commands/cip/report/discount-depth-breakdown.d.ts +1 -0
- package/dist/commands/cip/report/inventory-stockout-by-location.d.ts +1 -0
- package/dist/commands/cip/report/new-vs-returning-buyer-revenue.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-client-usage.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-requests.d.ts +1 -0
- package/dist/commands/cip/report/payment-method-performance.d.ts +1 -0
- package/dist/commands/cip/report/product-co-purchase-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-discount-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-roi-leaderboard.d.ts +1 -0
- package/dist/commands/cip/report/recommender-effectiveness.d.ts +1 -0
- package/dist/commands/cip/report/remote-include-performance.d.ts +1 -0
- package/dist/commands/cip/report/revenue-by-channel.d.ts +1 -0
- package/dist/commands/cip/report/sales-analytics.d.ts +1 -0
- package/dist/commands/cip/report/sales-summary.d.ts +1 -0
- package/dist/commands/cip/report/scapi-cache-hit-ratio.d.ts +1 -0
- package/dist/commands/cip/report/scapi-error-rate-by-status.d.ts +1 -0
- package/dist/commands/cip/report/scapi-latency-distribution.d.ts +1 -0
- package/dist/commands/cip/report/scapi-traffic-latency.d.ts +1 -0
- package/dist/commands/cip/report/search-query-performance.d.ts +1 -0
- package/dist/commands/cip/report/top-referrers.d.ts +1 -0
- package/dist/commands/cip/report/top-selling-products.d.ts +1 -0
- package/dist/commands/cip/report/zero-result-searches.d.ts +1 -0
- package/dist/commands/cip/tables.d.ts +1 -0
- package/dist/commands/code/activate.d.ts +1 -0
- package/dist/commands/code/delete.d.ts +1 -0
- package/dist/commands/code/deploy.d.ts +1 -0
- package/dist/commands/code/download.d.ts +1 -0
- package/dist/commands/code/watch.d.ts +1 -0
- package/dist/commands/commands/search.d.ts +35 -0
- package/dist/commands/commands/search.js +85 -0
- package/dist/commands/commands/search.js.map +1 -0
- package/dist/commands/content/export.d.ts +1 -0
- package/dist/commands/content/list.d.ts +1 -0
- package/dist/commands/content/validate.d.ts +1 -0
- package/dist/commands/debug/cli.d.ts +1 -0
- package/dist/commands/debug/index.d.ts +1 -0
- package/dist/commands/docs/cache.d.ts +1 -0
- package/dist/commands/docs/download.d.ts +1 -0
- package/dist/commands/docs/read.d.ts +1 -0
- package/dist/commands/docs/schema.d.ts +1 -0
- package/dist/commands/docs/search.d.ts +1 -0
- package/dist/commands/docs/skill.d.ts +41 -0
- package/dist/commands/docs/skill.js +183 -0
- package/dist/commands/docs/skill.js.map +1 -0
- package/dist/commands/ecdn/cache/purge.d.ts +1 -0
- package/dist/commands/ecdn/certificates/add.d.ts +1 -0
- package/dist/commands/ecdn/certificates/delete.d.ts +1 -0
- package/dist/commands/ecdn/certificates/list.d.ts +1 -0
- package/dist/commands/ecdn/certificates/update.d.ts +1 -0
- package/dist/commands/ecdn/certificates/validate.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/get.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/update.d.ts +1 -0
- package/dist/commands/ecdn/firewall/create.d.ts +1 -0
- package/dist/commands/ecdn/firewall/delete.d.ts +1 -0
- package/dist/commands/ecdn/firewall/get.d.ts +1 -0
- package/dist/commands/ecdn/firewall/list.d.ts +1 -0
- package/dist/commands/ecdn/firewall/reorder.d.ts +1 -0
- package/dist/commands/ecdn/firewall/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/create.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/delete.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/get.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/list.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/ownership.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/create.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/get.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mtls/create.d.ts +1 -0
- package/dist/commands/ecdn/mtls/delete.d.ts +1 -0
- package/dist/commands/ecdn/mtls/get.d.ts +1 -0
- package/dist/commands/ecdn/mtls/issue.d.ts +1 -0
- package/dist/commands/ecdn/mtls/list.d.ts +1 -0
- package/dist/commands/ecdn/mtls/setup.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/delete.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/get.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/set.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/update.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/create.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/delete.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/get.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/update.d.ts +1 -0
- package/dist/commands/ecdn/security/get.d.ts +1 -0
- package/dist/commands/ecdn/security/update.d.ts +1 -0
- package/dist/commands/ecdn/speed/get.d.ts +1 -0
- package/dist/commands/ecdn/speed/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/migrate.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/update.d.ts +1 -0
- package/dist/commands/ecdn/zones/create.d.ts +1 -0
- package/dist/commands/ecdn/zones/list.d.ts +1 -0
- package/dist/commands/job/execution/delete.d.ts +1 -0
- package/dist/commands/job/export.d.ts +1 -0
- package/dist/commands/job/import-set.d.ts +1 -0
- package/dist/commands/job/import.d.ts +1 -0
- package/dist/commands/job/log.d.ts +1 -0
- package/dist/commands/job/run.d.ts +1 -0
- package/dist/commands/job/search.d.ts +1 -0
- package/dist/commands/job/wait.d.ts +1 -0
- package/dist/commands/logs/get.d.ts +1 -0
- package/dist/commands/logs/list.d.ts +1 -0
- package/dist/commands/logs/tail.d.ts +1 -0
- package/dist/commands/metrics/controller.d.ts +1 -0
- package/dist/commands/metrics/ecdn.d.ts +1 -0
- package/dist/commands/metrics/mrt.d.ts +1 -0
- package/dist/commands/metrics/ocapi.d.ts +1 -0
- package/dist/commands/metrics/overall.d.ts +1 -0
- package/dist/commands/metrics/sales.d.ts +1 -0
- package/dist/commands/metrics/scapi-hooks.d.ts +1 -0
- package/dist/commands/metrics/scapi.d.ts +1 -0
- package/dist/commands/metrics/third-party.d.ts +1 -0
- package/dist/commands/mrt/bundle/delete.d.ts +1 -0
- package/dist/commands/mrt/bundle/deploy.d.ts +1 -0
- package/dist/commands/mrt/bundle/download.d.ts +1 -0
- package/dist/commands/mrt/bundle/history.d.ts +1 -0
- package/dist/commands/mrt/bundle/list.d.ts +1 -0
- package/dist/commands/mrt/bundle/save.d.ts +1 -0
- package/dist/commands/mrt/bundle/upload-v2.d.ts +1 -0
- package/dist/commands/mrt/env/access-control/list.d.ts +1 -0
- package/dist/commands/mrt/env/b2c.d.ts +1 -0
- package/dist/commands/mrt/env/clone.d.ts +1 -0
- package/dist/commands/mrt/env/create.d.ts +1 -0
- package/dist/commands/mrt/env/delete.d.ts +1 -0
- package/dist/commands/mrt/env/get.d.ts +1 -0
- package/dist/commands/mrt/env/invalidate.d.ts +1 -0
- package/dist/commands/mrt/env/list.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/clone.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/create.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/delete.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/list.d.ts +1 -0
- package/dist/commands/mrt/env/update.d.ts +1 -0
- package/dist/commands/mrt/env/var/delete.d.ts +1 -0
- package/dist/commands/mrt/env/var/list.d.ts +1 -0
- package/dist/commands/mrt/env/var/push.d.ts +1 -0
- package/dist/commands/mrt/env/var/set.d.ts +1 -0
- package/dist/commands/mrt/org/b2c.d.ts +1 -0
- package/dist/commands/mrt/org/cert/create.d.ts +1 -0
- package/dist/commands/mrt/org/cert/delete.d.ts +1 -0
- package/dist/commands/mrt/org/cert/get.d.ts +1 -0
- package/dist/commands/mrt/org/cert/list.d.ts +1 -0
- package/dist/commands/mrt/org/cert/restart-validation.d.ts +1 -0
- package/dist/commands/mrt/org/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/add.d.ts +1 -0
- package/dist/commands/mrt/org/member/get.d.ts +1 -0
- package/dist/commands/mrt/org/member/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/remove.d.ts +1 -0
- package/dist/commands/mrt/org/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/create.d.ts +1 -0
- package/dist/commands/mrt/project/delete.d.ts +1 -0
- package/dist/commands/mrt/project/get.d.ts +1 -0
- package/dist/commands/mrt/project/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/add.d.ts +1 -0
- package/dist/commands/mrt/project/member/get.d.ts +1 -0
- package/dist/commands/mrt/project/member/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/remove.d.ts +1 -0
- package/dist/commands/mrt/project/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/notification/delete.d.ts +1 -0
- package/dist/commands/mrt/project/notification/get.d.ts +1 -0
- package/dist/commands/mrt/project/update.d.ts +1 -0
- package/dist/commands/mrt/save-credentials.d.ts +1 -0
- package/dist/commands/mrt/tail-logs.d.ts +1 -0
- package/dist/commands/mrt/user/api-key.d.ts +1 -0
- package/dist/commands/mrt/user/email-prefs.d.ts +1 -0
- package/dist/commands/mrt/user/profile.d.ts +1 -0
- package/dist/commands/scaffold/init.js +2 -1
- package/dist/commands/scaffold/init.js.map +1 -1
- package/dist/commands/scapi/custom/status.d.ts +1 -0
- package/dist/commands/scapi/schemas/get.d.ts +1 -0
- package/dist/commands/scapi/schemas/list.d.ts +1 -0
- package/dist/commands/setup/ide/tsserver-plugin.d.ts +1 -0
- package/dist/commands/setup/ide/vscode-types.d.ts +1 -0
- package/dist/commands/setup/index.js +4 -3
- package/dist/commands/setup/index.js.map +1 -1
- package/dist/commands/setup/inspect.d.ts +1 -0
- package/dist/commands/setup/inspect.js +17 -2
- package/dist/commands/setup/inspect.js.map +1 -1
- package/dist/commands/setup/instance/create.d.ts +1 -0
- package/dist/commands/setup/instance/list.d.ts +1 -0
- package/dist/commands/setup/instance/remove.d.ts +1 -0
- package/dist/commands/setup/instance/set-active.d.ts +1 -0
- package/dist/commands/setup/openshell.d.ts +1 -0
- package/dist/commands/setup/skills.d.ts +1 -0
- package/dist/commands/slas/client/create.d.ts +1 -0
- package/dist/commands/slas/client/delete.d.ts +1 -0
- package/dist/commands/slas/client/get.d.ts +1 -0
- package/dist/commands/slas/client/list.d.ts +1 -0
- package/dist/commands/slas/client/open.d.ts +1 -0
- package/dist/commands/slas/client/update.d.ts +1 -0
- package/dist/commands/slas/token.d.ts +1 -0
- package/dist/commands/slas/token.js +2 -1
- package/dist/commands/slas/token.js.map +1 -1
- package/dist/commands/webdav/get.d.ts +1 -0
- package/dist/commands/webdav/mkdir.d.ts +2 -0
- package/dist/commands/webdav/mkdir.js +5 -3
- package/dist/commands/webdav/mkdir.js.map +1 -1
- package/dist/commands/webdav/put.d.ts +2 -0
- package/dist/commands/webdav/put.js +5 -3
- package/dist/commands/webdav/put.js.map +1 -1
- package/dist/commands/webdav/rm.d.ts +1 -0
- package/dist/help.d.ts +25 -0
- package/dist/help.js +96 -0
- package/dist/help.js.map +1 -0
- package/dist/lib/scaffold/generate-helper.js +3 -2
- package/dist/lib/scaffold/generate-helper.js.map +1 -1
- package/dist/lib/skills.d.ts +19 -0
- package/dist/lib/skills.js +75 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/utils/cip/command.d.ts +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +1 -0
- package/dist/utils/slas/client.d.ts +1 -0
- package/oclif.manifest.json +10994 -7653
- package/package.json +11 -5
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Import Options
|
|
2
|
+
|
|
3
|
+
## Import Commands
|
|
4
|
+
|
|
5
|
+
### Import Local Directory
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Import a local directory as a site archive (waits for completion by default)
|
|
9
|
+
b2c job import ./my-site-data
|
|
10
|
+
|
|
11
|
+
# Import and return immediately without waiting
|
|
12
|
+
b2c job import ./my-site-data --no-wait
|
|
13
|
+
|
|
14
|
+
# Import a local zip file
|
|
15
|
+
b2c job import ./export.zip
|
|
16
|
+
|
|
17
|
+
# Keep the archive on the instance after import
|
|
18
|
+
b2c job import ./my-site-data --keep-archive
|
|
19
|
+
|
|
20
|
+
# Show job log if the import fails
|
|
21
|
+
b2c job import ./my-site-data --show-log
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Import Remote Archive
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Import an archive that already exists on the instance (in Impex/src/instance/)
|
|
28
|
+
b2c job import existing-archive.zip --remote
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Apply an Ordered, Idempotent Import Set
|
|
32
|
+
|
|
33
|
+
Use `job import-set` when site import/export archives must be applied in order and skipped after the instance records their successful import. By default, the command reads discovered cartridge metadata first and the migrations directory second. This section is a summary; for the full migration workflow — source exclusions, post-import README notes, import history, set IDs, CI/CD patterns, and recovery — use the dedicated `b2c-cli:b2c-import-set-migrations` skill.
|
|
34
|
+
|
|
35
|
+
Cartridge metadata supports two project layouts:
|
|
36
|
+
|
|
37
|
+
- A standard site import/export archive directly inside `metadata/`, applied as one archive.
|
|
38
|
+
- An ordered collection of immediate child directories or `.zip` files inside `metadata/`, with each child applied as one archive.
|
|
39
|
+
|
|
40
|
+
Use one layout consistently within a cartridge. Cartridges are ordered by name, their archives are ordered lexically, and every cartridge archive is considered before the explicit import-set directory. Every directory-based archive must contain at least one file; empty directory trees are rejected before upload. The explicit directory uses the ordered-child layout:
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
migrations/
|
|
44
|
+
├── 20260801T140000-add-preferences/
|
|
45
|
+
│ ├── meta/
|
|
46
|
+
│ └── sites/
|
|
47
|
+
├── 20260802T091500-seed-content.zip
|
|
48
|
+
└── README.md # ignored
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Name every archive `YYYYMMDDTHHmmss-description`, using UTC for cross-time-zone teams. The timestamp supplies ordering and helps keep archive names unique across projects.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Show pending and already-applied archives without writing anything
|
|
55
|
+
b2c job import-set --dry-run
|
|
56
|
+
|
|
57
|
+
# Apply the default ./migrations directory
|
|
58
|
+
b2c job import-set
|
|
59
|
+
|
|
60
|
+
# Ignore discovered cartridge metadata and apply only ./migrations
|
|
61
|
+
b2c job import-set --no-cartridge-metadata
|
|
62
|
+
|
|
63
|
+
# Ignore project directories recursively during source discovery
|
|
64
|
+
b2c job import-set --import-set-exclude fixtures --import-set-exclude test/integration
|
|
65
|
+
|
|
66
|
+
# Apply a different directory
|
|
67
|
+
b2c job import-set ./data-migrations
|
|
68
|
+
|
|
69
|
+
# Keep uploaded archives for inspection
|
|
70
|
+
b2c job import-set --keep-archive
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Important semantics:
|
|
74
|
+
|
|
75
|
+
- After an archive succeeds, later runs against the same instance skip it, including runs from other machines.
|
|
76
|
+
- The archive name determines whether it has run; changing its contents does not cause another import. Never edit an applied archive—add a new, later-sorting archive for each change.
|
|
77
|
+
- An interrupted run can retry its current archive. Make every archive safe to apply more than once.
|
|
78
|
+
- Only one runner applies a history at a time. Other runners wait and then skip work completed while they were waiting.
|
|
79
|
+
- An inactive run becomes recoverable after 30 minutes by default. Adjust this with `--stale-lock-seconds`; use `--break-lock` only after confirming the previous runner has stopped.
|
|
80
|
+
- `--timeout` applies to each archive import, `--poll-interval` controls job polling, and `--lock-poll-interval` controls waiting for another runner.
|
|
81
|
+
- `--import-set-exclude` can be repeated or comma-separated. Paths are relative to the project directory and exclude the named source directory and all descendants. Configure the same project default with `b2c.importSetExclude` in `package.json`, `import-set-exclude` in `dw.json`, or `SFCC_IMPORT_SET_EXCLUDE`.
|
|
82
|
+
|
|
83
|
+
The default directory is `./migrations`; it may be absent if discovered cartridges supply at least one metadata archive. The default history name is `migrations` and is shared across runs against the target instance, regardless of local path. Most users should omit `--set-id`; use it only when intentionally creating an independent history. Cartridge discovery is enabled by default; use `--no-cartridge-metadata` to opt out.
|
|
84
|
+
|
|
85
|
+
To start over without deleting the previous history, use a new set ID and keep using it on subsequent runs:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
b2c job import-set --set-id migrations-reset-20260818
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
To reset the default history in place, remove it and rerun the import set:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
b2c webdav rm --root=impex b2c-cli/import-sets/migrations
|
|
95
|
+
b2c job import-set
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
For a custom set ID, replace the final `migrations` path segment with that ID. Resetting in place permanently forgets which archives succeeded and makes every current archive pending again, so only use it when every archive is safe to reapply. `--break-lock` is for recovery and does not reset history.
|
|
99
|
+
|
|
100
|
+
### Import Archives Larger Than the Instance Limit
|
|
101
|
+
|
|
102
|
+
An instance rejects a single import archive above its size limit (typically 200 MB). Use `--split` on a directory import to import the data in multiple smaller parts:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Split a large directory import into multiple archive parts
|
|
106
|
+
b2c job import ./big-site-data --split
|
|
107
|
+
|
|
108
|
+
# Tune the per-archive size limit (default 190mb; bare number is MiB)
|
|
109
|
+
b2c job import ./big-site-data --split --max-size 150mb
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
How splitting works:
|
|
113
|
+
|
|
114
|
+
- **Metadata/XML is imported first**, kept together in one archive when it fits (so internal references and dependency ordering resolve within a single import). If the XML alone is too large, it splits at top-level data-unit boundaries (`catalogs`, `libraries`, `sites`, `meta`, …) in dependency order — never splitting a single unit.
|
|
115
|
+
- **Static assets** (files under a `static/` folder) are deferred into later archive parts, packed by compressed size. They attach to the catalogs/libraries created by the metadata import.
|
|
116
|
+
- Parts import sequentially; the command stops on the first failure.
|
|
117
|
+
|
|
118
|
+
If a single file, or a single data unit's XML, is larger than `--max-size` on its own, the command errors (a file is never split across archives). A normal directory import that exceeds the limit warns and recommends `--split`. `--split` cannot be combined with `--remote`, subset paths, or `--no-wait`.
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
# Metadata XML Patterns
|
|
2
|
+
|
|
3
|
+
Common XML patterns for site archive imports.
|
|
4
|
+
|
|
5
|
+
## XSD Schema Reference
|
|
6
|
+
|
|
7
|
+
For authoritative XML schema definitions, use the `b2c` CLI (if installed):
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# View the metadata XSD schema
|
|
11
|
+
b2c docs schema metadata
|
|
12
|
+
|
|
13
|
+
# List all available schemas
|
|
14
|
+
b2c docs schema --list
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Other Import Formats
|
|
18
|
+
|
|
19
|
+
For service configurations (HTTP services, credentials, profiles), see the `b2c:b2c-webservices` skill.
|
|
20
|
+
|
|
21
|
+
## System Object Extensions
|
|
22
|
+
|
|
23
|
+
### Add String Attribute to Product
|
|
24
|
+
|
|
25
|
+
```xml
|
|
26
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
27
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
28
|
+
<type-extension type-id="Product">
|
|
29
|
+
<custom-attribute-definitions>
|
|
30
|
+
<attribute-definition attribute-id="externalId">
|
|
31
|
+
<display-name xml:lang="x-default">External ID</display-name>
|
|
32
|
+
<type>string</type>
|
|
33
|
+
<mandatory-flag>false</mandatory-flag>
|
|
34
|
+
<externally-managed-flag>true</externally-managed-flag>
|
|
35
|
+
<max-length>100</max-length>
|
|
36
|
+
</attribute-definition>
|
|
37
|
+
</custom-attribute-definitions>
|
|
38
|
+
<group-definitions>
|
|
39
|
+
<attribute-group group-id="ExternalData">
|
|
40
|
+
<display-name xml:lang="x-default">External Data</display-name>
|
|
41
|
+
<attribute attribute-id="externalId"/>
|
|
42
|
+
</attribute-group>
|
|
43
|
+
</group-definitions>
|
|
44
|
+
</type-extension>
|
|
45
|
+
</metadata>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Add Enum Attribute to Order
|
|
49
|
+
|
|
50
|
+
```xml
|
|
51
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
52
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
53
|
+
<type-extension type-id="Order">
|
|
54
|
+
<custom-attribute-definitions>
|
|
55
|
+
<attribute-definition attribute-id="fulfillmentStatus">
|
|
56
|
+
<display-name xml:lang="x-default">Fulfillment Status</display-name>
|
|
57
|
+
<type>enum-of-string</type>
|
|
58
|
+
<mandatory-flag>false</mandatory-flag>
|
|
59
|
+
<value-definitions>
|
|
60
|
+
<value-definition default="true">
|
|
61
|
+
<display xml:lang="x-default">Pending</display>
|
|
62
|
+
<value>pending</value>
|
|
63
|
+
</value-definition>
|
|
64
|
+
<value-definition>
|
|
65
|
+
<display xml:lang="x-default">Processing</display>
|
|
66
|
+
<value>processing</value>
|
|
67
|
+
</value-definition>
|
|
68
|
+
<value-definition>
|
|
69
|
+
<display xml:lang="x-default">Shipped</display>
|
|
70
|
+
<value>shipped</value>
|
|
71
|
+
</value-definition>
|
|
72
|
+
<value-definition>
|
|
73
|
+
<display xml:lang="x-default">Delivered</display>
|
|
74
|
+
<value>delivered</value>
|
|
75
|
+
</value-definition>
|
|
76
|
+
</value-definitions>
|
|
77
|
+
</attribute-definition>
|
|
78
|
+
</custom-attribute-definitions>
|
|
79
|
+
<group-definitions>
|
|
80
|
+
<attribute-group group-id="FulfillmentInfo">
|
|
81
|
+
<display-name xml:lang="x-default">Fulfillment Info</display-name>
|
|
82
|
+
<attribute attribute-id="fulfillmentStatus"/>
|
|
83
|
+
</attribute-group>
|
|
84
|
+
</group-definitions>
|
|
85
|
+
</type-extension>
|
|
86
|
+
</metadata>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Add Boolean Attribute to Customer Profile
|
|
90
|
+
|
|
91
|
+
```xml
|
|
92
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
93
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
94
|
+
<type-extension type-id="Profile">
|
|
95
|
+
<custom-attribute-definitions>
|
|
96
|
+
<attribute-definition attribute-id="marketingOptIn">
|
|
97
|
+
<display-name xml:lang="x-default">Marketing Opt-In</display-name>
|
|
98
|
+
<type>boolean</type>
|
|
99
|
+
<mandatory-flag>false</mandatory-flag>
|
|
100
|
+
<default-value>false</default-value>
|
|
101
|
+
</attribute-definition>
|
|
102
|
+
<attribute-definition attribute-id="loyaltyMember">
|
|
103
|
+
<display-name xml:lang="x-default">Loyalty Member</display-name>
|
|
104
|
+
<type>boolean</type>
|
|
105
|
+
<mandatory-flag>false</mandatory-flag>
|
|
106
|
+
<default-value>false</default-value>
|
|
107
|
+
</attribute-definition>
|
|
108
|
+
</custom-attribute-definitions>
|
|
109
|
+
</type-extension>
|
|
110
|
+
</metadata>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Site Preferences
|
|
114
|
+
|
|
115
|
+
### Boolean Preference
|
|
116
|
+
|
|
117
|
+
```xml
|
|
118
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
119
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
120
|
+
<type-extension type-id="SitePreferences">
|
|
121
|
+
<custom-attribute-definitions>
|
|
122
|
+
<attribute-definition attribute-id="enableReviews">
|
|
123
|
+
<display-name xml:lang="x-default">Enable Product Reviews</display-name>
|
|
124
|
+
<type>boolean</type>
|
|
125
|
+
<default-value>true</default-value>
|
|
126
|
+
</attribute-definition>
|
|
127
|
+
</custom-attribute-definitions>
|
|
128
|
+
</type-extension>
|
|
129
|
+
</metadata>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### String Preference (API Key)
|
|
133
|
+
|
|
134
|
+
```xml
|
|
135
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
136
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
137
|
+
<type-extension type-id="SitePreferences">
|
|
138
|
+
<custom-attribute-definitions>
|
|
139
|
+
<attribute-definition attribute-id="analyticsApiKey">
|
|
140
|
+
<display-name xml:lang="x-default">Analytics API Key</display-name>
|
|
141
|
+
<type>password</type>
|
|
142
|
+
</attribute-definition>
|
|
143
|
+
<attribute-definition attribute-id="analyticsEndpoint">
|
|
144
|
+
<display-name xml:lang="x-default">Analytics Endpoint</display-name>
|
|
145
|
+
<type>string</type>
|
|
146
|
+
</attribute-definition>
|
|
147
|
+
</custom-attribute-definitions>
|
|
148
|
+
<group-definitions>
|
|
149
|
+
<attribute-group group-id="AnalyticsSettings">
|
|
150
|
+
<display-name xml:lang="x-default">Analytics Settings</display-name>
|
|
151
|
+
<attribute attribute-id="analyticsApiKey"/>
|
|
152
|
+
<attribute attribute-id="analyticsEndpoint"/>
|
|
153
|
+
</attribute-group>
|
|
154
|
+
</group-definitions>
|
|
155
|
+
</type-extension>
|
|
156
|
+
</metadata>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Preference Values
|
|
160
|
+
|
|
161
|
+
**sites/RefArch/preferences.xml:**
|
|
162
|
+
|
|
163
|
+
Preferences can be set per instance type:
|
|
164
|
+
|
|
165
|
+
```xml
|
|
166
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
167
|
+
<preferences xmlns="http://www.demandware.com/xml/impex/preferences/2007-03-31">
|
|
168
|
+
<custom-preferences>
|
|
169
|
+
<all-instances>
|
|
170
|
+
<preference preference-id="enableReviews">true</preference>
|
|
171
|
+
</all-instances>
|
|
172
|
+
<development>
|
|
173
|
+
<preference preference-id="analyticsEndpoint">https://dev-analytics.example.com/api</preference>
|
|
174
|
+
</development>
|
|
175
|
+
<production>
|
|
176
|
+
<preference preference-id="analyticsEndpoint">https://analytics.example.com/api</preference>
|
|
177
|
+
</production>
|
|
178
|
+
</custom-preferences>
|
|
179
|
+
</preferences>
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Custom Object Types
|
|
183
|
+
|
|
184
|
+
### Simple Custom Object
|
|
185
|
+
|
|
186
|
+
```xml
|
|
187
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
188
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
189
|
+
<custom-type type-id="Banner">
|
|
190
|
+
<display-name xml:lang="x-default">Banner</display-name>
|
|
191
|
+
<staging-mode>source-to-target</staging-mode>
|
|
192
|
+
<storage-scope>site</storage-scope>
|
|
193
|
+
<key-definition attribute-id="bannerId">
|
|
194
|
+
<display-name xml:lang="x-default">Banner ID</display-name>
|
|
195
|
+
<type>string</type>
|
|
196
|
+
<min-length>1</min-length>
|
|
197
|
+
</key-definition>
|
|
198
|
+
<attribute-definitions>
|
|
199
|
+
<attribute-definition attribute-id="title">
|
|
200
|
+
<display-name xml:lang="x-default">Title</display-name>
|
|
201
|
+
<type>string</type>
|
|
202
|
+
</attribute-definition>
|
|
203
|
+
<attribute-definition attribute-id="imageUrl">
|
|
204
|
+
<display-name xml:lang="x-default">Image URL</display-name>
|
|
205
|
+
<type>string</type>
|
|
206
|
+
</attribute-definition>
|
|
207
|
+
<attribute-definition attribute-id="linkUrl">
|
|
208
|
+
<display-name xml:lang="x-default">Link URL</display-name>
|
|
209
|
+
<type>string</type>
|
|
210
|
+
</attribute-definition>
|
|
211
|
+
<attribute-definition attribute-id="startDate">
|
|
212
|
+
<display-name xml:lang="x-default">Start Date</display-name>
|
|
213
|
+
<type>datetime</type>
|
|
214
|
+
</attribute-definition>
|
|
215
|
+
<attribute-definition attribute-id="endDate">
|
|
216
|
+
<display-name xml:lang="x-default">End Date</display-name>
|
|
217
|
+
<type>datetime</type>
|
|
218
|
+
</attribute-definition>
|
|
219
|
+
<attribute-definition attribute-id="isActive">
|
|
220
|
+
<display-name xml:lang="x-default">Active</display-name>
|
|
221
|
+
<type>boolean</type>
|
|
222
|
+
<default-value>true</default-value>
|
|
223
|
+
</attribute-definition>
|
|
224
|
+
</attribute-definitions>
|
|
225
|
+
</custom-type>
|
|
226
|
+
</metadata>
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Custom Object Data
|
|
230
|
+
|
|
231
|
+
**customobjects/Banner.xml:**
|
|
232
|
+
```xml
|
|
233
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
234
|
+
<custom-objects xmlns="http://www.demandware.com/xml/impex/customobject/2006-10-31">
|
|
235
|
+
<custom-object type-id="Banner" object-id="homepage-hero">
|
|
236
|
+
<object-attribute attribute-id="title">Summer Sale</object-attribute>
|
|
237
|
+
<object-attribute attribute-id="imageUrl">/images/banners/summer-sale.jpg</object-attribute>
|
|
238
|
+
<object-attribute attribute-id="linkUrl">/sale</object-attribute>
|
|
239
|
+
<object-attribute attribute-id="startDate">2024-06-01T00:00:00.000Z</object-attribute>
|
|
240
|
+
<object-attribute attribute-id="endDate">2024-08-31T23:59:59.000Z</object-attribute>
|
|
241
|
+
<object-attribute attribute-id="isActive">true</object-attribute>
|
|
242
|
+
</custom-object>
|
|
243
|
+
<custom-object type-id="Banner" object-id="promo-banner">
|
|
244
|
+
<object-attribute attribute-id="title">Free Shipping</object-attribute>
|
|
245
|
+
<object-attribute attribute-id="imageUrl">/images/banners/free-shipping.jpg</object-attribute>
|
|
246
|
+
<object-attribute attribute-id="linkUrl">/shipping-info</object-attribute>
|
|
247
|
+
<object-attribute attribute-id="isActive">true</object-attribute>
|
|
248
|
+
</custom-object>
|
|
249
|
+
</custom-objects>
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Content Assets
|
|
253
|
+
|
|
254
|
+
**sites/RefArch/library/content/content.xml:**
|
|
255
|
+
```xml
|
|
256
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
257
|
+
<library xmlns="http://www.demandware.com/xml/impex/library/2006-10-31">
|
|
258
|
+
<content content-id="terms-conditions">
|
|
259
|
+
<display-name xml:lang="x-default">Terms and Conditions</display-name>
|
|
260
|
+
<online-flag>true</online-flag>
|
|
261
|
+
<searchable-flag>false</searchable-flag>
|
|
262
|
+
<custom-attributes>
|
|
263
|
+
<custom-attribute attribute-id="body" xml:lang="x-default">
|
|
264
|
+
<![CDATA[<h1>Terms and Conditions</h1><p>Content here...</p>]]>
|
|
265
|
+
</custom-attribute>
|
|
266
|
+
</custom-attributes>
|
|
267
|
+
</content>
|
|
268
|
+
</library>
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Attribute Types Reference
|
|
272
|
+
|
|
273
|
+
| Type | XML Value | Example |
|
|
274
|
+
|------|-----------|---------|
|
|
275
|
+
| `string` | `<type>string</type>` | Text up to 4000 chars |
|
|
276
|
+
| `text` | `<type>text</type>` | Unlimited text |
|
|
277
|
+
| `int` | `<type>int</type>` | Whole numbers |
|
|
278
|
+
| `double` | `<type>double</type>` | Decimal numbers |
|
|
279
|
+
| `boolean` | `<type>boolean</type>` | true/false |
|
|
280
|
+
| `date` | `<type>date</type>` | Date only |
|
|
281
|
+
| `datetime` | `<type>datetime</type>` | Date and time |
|
|
282
|
+
| `email` | `<type>email</type>` | Email format |
|
|
283
|
+
| `password` | `<type>password</type>` | Encrypted |
|
|
284
|
+
| `html` | `<type>html</type>` | HTML content |
|
|
285
|
+
| `image` | `<type>image</type>` | Image reference |
|
|
286
|
+
| `enum-of-string` | `<type>enum-of-string</type>` | Single select |
|
|
287
|
+
| `set-of-string` | `<type>set-of-string</type>` | Multi-select |
|
|
288
|
+
|
|
289
|
+
## Complete Import Example
|
|
290
|
+
|
|
291
|
+
Directory structure for adding a custom integration:
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
integration-import/
|
|
295
|
+
├── meta/
|
|
296
|
+
│ ├── system-objecttype-extensions.xml
|
|
297
|
+
│ └── custom-objecttype-definitions.xml
|
|
298
|
+
├── sites/
|
|
299
|
+
│ └── RefArch/
|
|
300
|
+
│ └── preferences.xml
|
|
301
|
+
└── customobjects/
|
|
302
|
+
└── IntegrationConfig.xml
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**meta/system-objecttype-extensions.xml:**
|
|
306
|
+
```xml
|
|
307
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
308
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
309
|
+
<type-extension type-id="SitePreferences">
|
|
310
|
+
<custom-attribute-definitions>
|
|
311
|
+
<attribute-definition attribute-id="integrationEnabled">
|
|
312
|
+
<display-name xml:lang="x-default">Enable Integration</display-name>
|
|
313
|
+
<type>boolean</type>
|
|
314
|
+
<default-value>false</default-value>
|
|
315
|
+
</attribute-definition>
|
|
316
|
+
</custom-attribute-definitions>
|
|
317
|
+
</type-extension>
|
|
318
|
+
<type-extension type-id="Order">
|
|
319
|
+
<custom-attribute-definitions>
|
|
320
|
+
<attribute-definition attribute-id="integrationId">
|
|
321
|
+
<display-name xml:lang="x-default">Integration ID</display-name>
|
|
322
|
+
<type>string</type>
|
|
323
|
+
<externally-managed-flag>true</externally-managed-flag>
|
|
324
|
+
</attribute-definition>
|
|
325
|
+
</custom-attribute-definitions>
|
|
326
|
+
</type-extension>
|
|
327
|
+
</metadata>
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**meta/custom-objecttype-definitions.xml:**
|
|
331
|
+
```xml
|
|
332
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
333
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
334
|
+
<custom-type type-id="IntegrationConfig">
|
|
335
|
+
<display-name xml:lang="x-default">Integration Configuration</display-name>
|
|
336
|
+
<staging-mode>source-to-target</staging-mode>
|
|
337
|
+
<storage-scope>organization</storage-scope>
|
|
338
|
+
<key-definition attribute-id="configKey">
|
|
339
|
+
<display-name xml:lang="x-default">Config Key</display-name>
|
|
340
|
+
<type>string</type>
|
|
341
|
+
</key-definition>
|
|
342
|
+
<attribute-definitions>
|
|
343
|
+
<attribute-definition attribute-id="endpoint">
|
|
344
|
+
<display-name xml:lang="x-default">Endpoint</display-name>
|
|
345
|
+
<type>string</type>
|
|
346
|
+
</attribute-definition>
|
|
347
|
+
<attribute-definition attribute-id="apiKey">
|
|
348
|
+
<display-name xml:lang="x-default">API Key</display-name>
|
|
349
|
+
<type>password</type>
|
|
350
|
+
</attribute-definition>
|
|
351
|
+
</attribute-definitions>
|
|
352
|
+
</custom-type>
|
|
353
|
+
</metadata>
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
**sites/RefArch/preferences.xml:**
|
|
357
|
+
```xml
|
|
358
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
359
|
+
<preferences xmlns="http://www.demandware.com/xml/impex/preferences/2007-03-31">
|
|
360
|
+
<custom-preferences>
|
|
361
|
+
<all-instances>
|
|
362
|
+
<preference preference-id="integrationEnabled">true</preference>
|
|
363
|
+
</all-instances>
|
|
364
|
+
</custom-preferences>
|
|
365
|
+
</preferences>
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**customobjects/IntegrationConfig.xml:**
|
|
369
|
+
```xml
|
|
370
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
371
|
+
<custom-objects xmlns="http://www.demandware.com/xml/impex/customobject/2006-10-31">
|
|
372
|
+
<custom-object type-id="IntegrationConfig" object-id="production">
|
|
373
|
+
<object-attribute attribute-id="endpoint">https://api.integration.com/v1</object-attribute>
|
|
374
|
+
</custom-object>
|
|
375
|
+
</custom-objects>
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Import command:
|
|
379
|
+
```bash
|
|
380
|
+
b2c job import ./integration-import --wait --show-log
|
|
381
|
+
```
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Archive Workflows
|
|
2
|
+
|
|
3
|
+
## Common Workflows
|
|
4
|
+
|
|
5
|
+
### Adding a Custom Attribute to Products
|
|
6
|
+
|
|
7
|
+
1. Create the metadata XML file:
|
|
8
|
+
|
|
9
|
+
**meta/system-objecttype-extensions.xml:**
|
|
10
|
+
|
|
11
|
+
```xml
|
|
12
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
13
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
14
|
+
<type-extension type-id="Product">
|
|
15
|
+
<custom-attribute-definitions>
|
|
16
|
+
<attribute-definition attribute-id="vendorSKU">
|
|
17
|
+
<display-name xml:lang="x-default">Vendor SKU</display-name>
|
|
18
|
+
<type>string</type>
|
|
19
|
+
<mandatory-flag>false</mandatory-flag>
|
|
20
|
+
<externally-managed-flag>true</externally-managed-flag>
|
|
21
|
+
</attribute-definition>
|
|
22
|
+
</custom-attribute-definitions>
|
|
23
|
+
<group-definitions>
|
|
24
|
+
<attribute-group group-id="CustomAttributes">
|
|
25
|
+
<display-name xml:lang="x-default">Custom Attributes</display-name>
|
|
26
|
+
<attribute attribute-id="vendorSKU"/>
|
|
27
|
+
</attribute-group>
|
|
28
|
+
</group-definitions>
|
|
29
|
+
</type-extension>
|
|
30
|
+
</metadata>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
2. Create the directory structure:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
my-import/
|
|
37
|
+
└── meta/
|
|
38
|
+
└── system-objecttype-extensions.xml
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
3. Import:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
b2c job import ./my-import
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Adding Site Preferences
|
|
48
|
+
|
|
49
|
+
1. Create metadata for the preference:
|
|
50
|
+
|
|
51
|
+
**meta/system-objecttype-extensions.xml:**
|
|
52
|
+
|
|
53
|
+
```xml
|
|
54
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
55
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
56
|
+
<type-extension type-id="SitePreferences">
|
|
57
|
+
<custom-attribute-definitions>
|
|
58
|
+
<attribute-definition attribute-id="enableFeatureX">
|
|
59
|
+
<display-name xml:lang="x-default">Enable Feature X</display-name>
|
|
60
|
+
<type>boolean</type>
|
|
61
|
+
<default-value>false</default-value>
|
|
62
|
+
</attribute-definition>
|
|
63
|
+
</custom-attribute-definitions>
|
|
64
|
+
</type-extension>
|
|
65
|
+
</metadata>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
2. Create preference values:
|
|
69
|
+
|
|
70
|
+
**sites/MySite/preferences.xml:**
|
|
71
|
+
|
|
72
|
+
```xml
|
|
73
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
74
|
+
<preferences xmlns="http://www.demandware.com/xml/impex/preferences/2007-03-31">
|
|
75
|
+
<custom-preferences>
|
|
76
|
+
<all-instances>
|
|
77
|
+
<preference preference-id="enableFeatureX">true</preference>
|
|
78
|
+
</all-instances>
|
|
79
|
+
</custom-preferences>
|
|
80
|
+
</preferences>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
3. Directory structure:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
my-import/
|
|
87
|
+
├── meta/
|
|
88
|
+
│ └── system-objecttype-extensions.xml
|
|
89
|
+
└── sites/
|
|
90
|
+
└── MySite/
|
|
91
|
+
└── preferences.xml
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
4. Import:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
b2c job import ./my-import
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Creating a Custom Object Type
|
|
101
|
+
|
|
102
|
+
1. Define the custom object:
|
|
103
|
+
|
|
104
|
+
**meta/custom-objecttype-definitions.xml:**
|
|
105
|
+
|
|
106
|
+
```xml
|
|
107
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
108
|
+
<metadata xmlns="http://www.demandware.com/xml/impex/metadata/2006-10-31">
|
|
109
|
+
<custom-type type-id="APIConfiguration">
|
|
110
|
+
<display-name xml:lang="x-default">API Configuration</display-name>
|
|
111
|
+
<staging-mode>source-to-target</staging-mode>
|
|
112
|
+
<storage-scope>site</storage-scope>
|
|
113
|
+
<key-definition attribute-id="configId">
|
|
114
|
+
<display-name xml:lang="x-default">Config ID</display-name>
|
|
115
|
+
<type>string</type>
|
|
116
|
+
<min-length>1</min-length>
|
|
117
|
+
</key-definition>
|
|
118
|
+
<attribute-definitions>
|
|
119
|
+
<attribute-definition attribute-id="endpoint">
|
|
120
|
+
<display-name xml:lang="x-default">API Endpoint</display-name>
|
|
121
|
+
<type>string</type>
|
|
122
|
+
</attribute-definition>
|
|
123
|
+
<attribute-definition attribute-id="apiKey">
|
|
124
|
+
<display-name xml:lang="x-default">API Key</display-name>
|
|
125
|
+
<type>password</type>
|
|
126
|
+
</attribute-definition>
|
|
127
|
+
<attribute-definition attribute-id="isActive">
|
|
128
|
+
<display-name xml:lang="x-default">Active</display-name>
|
|
129
|
+
<type>boolean</type>
|
|
130
|
+
<default-value>true</default-value>
|
|
131
|
+
</attribute-definition>
|
|
132
|
+
</attribute-definitions>
|
|
133
|
+
</custom-type>
|
|
134
|
+
</metadata>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
2. Import:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
b2c job import ./my-import
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Importing Custom Object Data
|
|
144
|
+
|
|
145
|
+
**customobjects/APIConfiguration.xml:**
|
|
146
|
+
|
|
147
|
+
```xml
|
|
148
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
149
|
+
<custom-objects xmlns="http://www.demandware.com/xml/impex/customobject/2006-10-31">
|
|
150
|
+
<custom-object type-id="APIConfiguration" object-id="payment-gateway">
|
|
151
|
+
<object-attribute attribute-id="endpoint">https://api.payment.com/v2</object-attribute>
|
|
152
|
+
<object-attribute attribute-id="isActive">true</object-attribute>
|
|
153
|
+
</custom-object>
|
|
154
|
+
</custom-objects>
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Site Archive Structure
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
site-archive/
|
|
161
|
+
├── services.xml # Service configurations (credentials, profiles, services)
|
|
162
|
+
├── meta/
|
|
163
|
+
│ ├── system-objecttype-extensions.xml # Custom attributes on system objects
|
|
164
|
+
│ └── custom-objecttype-definitions.xml # Custom object type definitions
|
|
165
|
+
├── sites/
|
|
166
|
+
│ └── {SiteID}/
|
|
167
|
+
│ ├── preferences.xml # Site preference values
|
|
168
|
+
│ └── library/
|
|
169
|
+
│ └── content/
|
|
170
|
+
│ └── content.xml # Content assets
|
|
171
|
+
├── catalogs/
|
|
172
|
+
│ └── {CatalogID}/
|
|
173
|
+
│ └── catalog.xml # Products and categories
|
|
174
|
+
├── pricebooks/
|
|
175
|
+
│ └── {PriceBookID}/
|
|
176
|
+
│ └── pricebook.xml # Price definitions
|
|
177
|
+
├── customobjects/
|
|
178
|
+
│ └── {ObjectTypeID}.xml # Custom object instances
|
|
179
|
+
└── inventory-lists/
|
|
180
|
+
└── {InventoryListID}/
|
|
181
|
+
└── inventory.xml # Inventory records
|
|
182
|
+
```
|