SitecoreAI Connector
Migrating from XP/XM Connector to SitecoreAI Connector
Component Migration Using the SDK

Component Migration Using the SDK

See SDK overview: Developer Integration SDK

Before (legacy assumptions in custom code)

// Legacy code often assumed one hard-coded format per field.
const raw = item?.fields?.BynderDamSingleFile?.value;
// custom XML parsing or brittle string handling...

After (format-safe parsing)

import { parseBynderField, BynderDamImage } from '@neworange/bynder-dam-connector-sitecoreai-sdk';
 
const rawValue = item?.fields?.BynderDamSingleFile?.value;
const parsed = parseBynderField(rawValue);
 
export function ProductImage() {
  if (!parsed) return null;
  return <BynderDamImage asset={parsed} alt="Product image" />;
}

Dual-field rendering example (Bynder + Sitecore fallback)

import { parseBynderField, BynderDamImage } from '@neworange/bynder-dam-connector-sitecoreai-sdk';
 
export function HeroImage({ item }: { item: any }) {
  const bynderRaw = item?.fields?.HeroImageBynder?.value;
  const bynderAsset = parseBynderField(bynderRaw);
  const sitecoreImage = item?.fields?.HeroImageSitecore?.value;
 
  if (bynderAsset) {
    return <BynderDamImage asset={bynderAsset} alt="Hero image" />;
  }
 
  if (sitecoreImage?.src) {
    return <img src={sitecoreImage.src} alt={sitecoreImage.alt || 'Hero image'} />;
  }
 
  return null;
}

Why this matters

  • One parsing path works throughout phased migration.
  • Legacy XML and new JSON values can coexist while templates/components are being updated.
  • This reduces regression risk from format-specific parsing logic.

See Also