This repository contains Salesforce Commerce Cloud (SFCC) cartridges that integrate Emplifi's User Generated Content (UGC) platform with both Storefront Reference Architecture (SFRA) and SiteGenesis storefronts.
- Overview
- Requirements
- Cartridge Structure
- Installation
- Configuration
- Documentation
- Development
- Support
The Emplifi UGC integration enables merchants to display curated UGC (photos & videos) collected from social media platforms like Instagram, TikTok, X, Facebook, and more on their SFCC storefronts.
The integration consists of three cartridges:
- int_pixlee_core: Shared core functionality used by both SFRA and SiteGenesis implementations
- int_pixlee_sfra: SFRA-specific implementation for modern SFCC storefronts
- int_pixlee: SiteGenesis implementation (deprecated - Salesforce stopped supporting SiteGenesis in 2020)
- Node.js: >= 18 (see .nvmrc for version)
- SFCC Environment: Sandbox or production environment with Business Manager access
- WebDAV Access: WebDAV access key for cartridge upload (optional, will prompt if not provided)
- SFRA: For SFRA implementations, ensure you have SFRA base cartridge available
-
Download the Repository
git clone <repository-url> cd salesforce-commerce-cloud
-
Install Dependencies
npm install
The metadata import includes:
- Extensions to SFCC system objects (site and organization preferences)
- Service definition (
pixlee.http.service) - Default job configurations
To import metadata:
- Navigate to the
metadatafolder and create a zip file of thepixlee_site_templatedirectory - In SFCC Business Manager, navigate to Administration > Site Development > Site Import & Export
- Click Choose File and select the zip file created in step 1
- Click Upload
- Select the uploaded file from the import list, click Import, and confirm with OK
After successful import, you should see:
- Pixlee site preferences in Merchant Tools > Site Preferences > Custom Preferences
- Pixlee organization preferences in Administration > Global Preferences > Global Custom Preferences
- Pixlee service definition (
pixlee.http.service) in Administration > Operations > Services - Jobs in Administration > Operations > Jobs:
Pixlee Product Export – SFRAPixlee Product Export – SiteGenesis
Create a dw.json file in the root directory with your SFCC environment details:
{
"hostname": "<your-hostname.demandware.net>",
"username": "<username>",
"password": "<your_webdav_access_key>",
"code-version": "<version_to_upload_to>"
}Note: The password field is optional. If not provided, you will be prompted for your WebDAV access key during upload. See SFCC documentation for creating access keys.
For SFRA implementations:
npm run uploadCartridgeThis uploads both int_pixlee_core and int_pixlee_sfra cartridges.
For SiteGenesis implementations (deprecated):
npm run uploadSiteGenThis uploads both int_pixlee_core and int_pixlee cartridges.
-
In Business Manager, navigate to Administration > Sites > Manage Sites
-
Select your site and go to the Settings tab
-
Update the Cartridges field with the appropriate cartridge path:
For SFRA:
app_client:int_pixlee_sfra:int_pixlee_core:app_storefront_base:modulesFor SiteGenesis (deprecated):
client_sitegenesis_controllers:client_sitegenesis_core:int_pixlee:int_pixlee_core -
Click Apply
Important: The cartridge order matters. Application-specific cartridges (
int_pixlee_sfraorint_pixlee) must be placed to the left ofint_pixlee_core.
Configure Pixlee site preferences in Business Manager:
- Navigate to Merchant Tools > Site Preferences > Custom Preferences
- Configure the following preferences:
- Cartridge Configuration
PixleeEnabledtoTrue- Additional preferences as needed
- API Access Credentials from Pixlee Account
PixleeAccountId- Account IDPixleeApiKey- Account API KeyPixleePrivateApiKey- Account Private API KeyPixleeSecretKey- Account Secret Key
- Cartridge Configuration
For detailed configuration instructions, see the Pixlee Developer Documentation.
Configure product export jobs:
- Navigate to Administration > Operations > Jobs
- Select the appropriate job (
Pixlee Product Export – SFRAorPixlee Product Export – SiteGenesis) - Configure job parameters:
- Products Source:
CATALOG_APIorSEARCH_INDEX - Images View Type: Product image view type (default:
large) - Main site ID: ID of the main site for full product export
- Test Product ID: (Optional) Single product ID for testing
- Products Source:
For detailed job configuration, see the Pixlee Developer Documentation.
- Online Documentation: Pixlee Developer Documentation for SFCC
- Cartridge-Specific Documentation: See individual cartridge README files:
- int_pixlee_core README
- int_pixlee_sfra README
- int_pixlee README (SiteGenesis - deprecated)
npm install- Install all dependenciesnpm run compile:js- Compile client-side JavaScript filesnpm run uploadCartridge- Upload SFRA cartridges (int_pixlee_coreandint_pixlee_sfra)npm run uploadSiteGen- Upload SiteGenesis cartridges (int_pixlee_coreandint_pixlee)npm run lint- Run linting for CSS, JavaScript, and ISMLnpm run lint:js- Lint JavaScript filesnpm run lint:fix- Auto-fix JavaScript linting issuesnpm run lint:isml- Lint ISML templatesnpm test- Run unit testsnpm run test:core- Run tests for int_pixlee_corenpm run test:sfra- Run tests for int_pixlee_sfranpm run test:sg- Run tests for int_pixleenpm run watch- Watch for changes and upload automatically
- Server-side JavaScript: Rhino (ES5 enforced by ESLint)
- Client-side JavaScript: ES2020
- Linting: ESLint with Airbnb base config and SFCC-specific rules
- Documentation: JSDoc comments required for server-side code
Run the test suite:
npm testRun tests for specific cartridges:
npm run test:core # Test int_pixlee_core
npm run test:sfra # Test int_pixlee_sfra
npm run test:sg # Test int_pixlee (SiteGenesis)For additional support and documentation:
- Developer Documentation: developers.pixlee.com
- Issues: Please report issues through your support channel or repository issue tracker