Doc produitsMenu

Création et utilisation d'un fichier de correspondances de Sitecore

Par défaut, le connecteur Sitecore utilise une correspondance intégrée telle que celle affichée ci-dessous afin de déterminer quelles métadonnées de vos documents Sitecore originaux sont associées aux champs des documents dans l'index Coveo.

<?xml version="1.0" encoding="utf-8" ?>
<Mappings>
  <Version>1</Version>
  <Mapping type="versioneditem">
    <Title>%[Name]</Title>
    <Body>%[Description]</Body>
    <Fields>
      <Field name="creationdate">%[Created]</Field>
      <Field name="iscontentitem">%[IsContentItem]</Field>
      <Field name="ishidden">%[Hidden]</Field>
      <Field name="ismediaitem">%[IsMediaItem]</Field>
      <Field name="isreadonly">%[ReadOnly]</Field>
      <Field name="language">%[Language]</Field>
      <Field name="languages">%[Languages]</Field>
      <Field name="modificationdate">%[Updated]</Field>
      <Field name="owner">%[CreatedBy]</Field>
      <Field name="parentid">%[ParentID]</Field>
      <Field name="revision">%[Revision]</Field>
      <Field name="templateid">%[TemplateID]</Field>
      <Field name="templatename">%[TemplateName]</Field>
      <Field name="updatedby">%[UpdatedBy]</Field>
      <Field name="version">%[Version]</Field>
      <Field name="versions">%[Versions]</Field>
      <Field name="workflowstate">%[WorkflowState]</Field>
    </Fields>
  </Mapping>
</Mappings>

Note : La correspondance intégrée n'inclut que les métadonnées standards de Sitecore et aucune de vos métadonnées personnalisées ou business de Sitecore.

Toutefois, le connecteur récupère toutes les métadonnées. Si vous créez et assignez à votre source Sitecore un groupe de champs qui contient des champs personnalisés dont le paramètre Nom des métadonnées correspond exactement aux noms des métadonnées de Sitecore, ils seront associés automatiquement (voir Ajout ou modification de champs personnalisés). Il est donc recommandé d'agrandir votre groupe de champs de la source Sitecore afin d'inclure des champs correspondants pour toutes les métadonnées utiles (voir Modification du groupe de champs utilisé par une source).

Vous pouvez créer et utiliser un fichier de correspondances personnalisé afin d'adapter les correspondances à vos champs personnalisés de modèles spécifiques.

Pour créer et utiliser un fichier de correspondances personnalisé

  1. Connectez-vous au serveur maître de Coveo avec un compte d'administrateur.

  2. À l'aide d'un éditeur de texte :

    1. Créez un fichier XML qui respecte le schéma du fichier de correspondances (voir Schéma standard d'un fichier de correspondances) comme illustré dans l'exemple commenté suivant :

      <?xml version="1.0" encoding="utf-8" ?>
      <Mappings><!-- Review the XML Schema to view the available fields and attributes -->
        <Version>1</Version><!-- Mandatory node to identify the mapping file version. Do not modify. -->
        <CommonMapping><!-- Optional. Any Mapping defined within this section applies to all documents. -->
          <Title>%[title]</Title>
      	<Fields>
      	  <Field name="CustomCoveoField">%[SitecoreField]</Field>
      	</Fields><!-- Map a custom Coveo field to a Sitecore metadata. -->
        </CommonMapping>
        <Mapping type="versioneditem"><!-- Optional. This is a specific mapping. The fields and elements described apply to items of type "versionitem" -->
          <Body>
      	  <![CDATA[
      		<html>
      			<body style=\"font-family:'verdana`;font-size:10px\">
      			  %[Description]
      			</body>
      		</html>
      	  ]]>
      	</Body>
          <PrintableUri>http://www.coveo.com</PrintableUri>
          <Fields>
            <Field name="field1">This is a custom field</Field>
          </Fields>
        </Mapping>
        <DefaultMapping> <!-- Optional. The default mapping applies exclusively to all items that are not mapped to a specific mapping -->
          <ClickableUri>www.clickableuri.com</ClickableUri>
        </DefaultMapping>
      </Mappings>

      Note : Si vous souhaitez modifier versioneditem, vous devez créer un CommonMapping, ou créer un Mapping pour chaque templateid dans Sitecore et mettre l'identifiant global unique (IGU) modèle dans la correspondance type.

      Important : Si un fichier de correspondances est spécifié dans une source et un corps HTML est spécifié pour tous les éléments ou certains d'entre eux, l'option Extract Html Content n'est pas prise en compte pour ces éléments. Le robot obtient HTML du corps du fichier de correspondances, pas du HTML affiché par Sitecore. Vous pouvez utiliser le fichier de correspondances et l'option Extract Html Content option en retirant la section <body> du fichier de correspondances.

    2. Spécifiez des correspondances field dans le format suivant :

      <Field name="CoveoIndexFieldName">%[SiteCoreItemFieldName]</Field>

      Exemple : La correspondance <Field name="creationdate">%[Created]</Field> ordonne au connecteur de copier la valeur des métadonnées Created de Sitecore et de les coller dans le champ d'index creationdate de Coveo pour chaque document indexé.

      Note : La valeur que vous saisissez entre %[..] doit être le nom de champ Sitecore tel qu'il apparaît dans l'élément Sitecore, pas les informations de champ Sitecore qui apparaissent dans un modèle.

    3. Si vous choisissez d'utiliser des clés étrangères afin de permettre l'actualisation incrémentale pour détecter des modifications dans les éléments référencés (voir À propos des clés étrangères), vous devez définir les champs de clé étrangères pour la clé et la valeur dans le fichier de correspondances.

      Exemple : Un site Sitecore présente des artistes musicaux. Le type d'élément Artiste est le seul qui contient à la fois l'identifiant de l'artiste et son nom. Tous les autres types d'éléments (Chanson, Albums, Discographie...) ne contiennent que l'identifiant de l'artiste. Pour ces types d'éléments, le nom de l'artiste peut être affiché par référence.

      Dans l'extrait suivant d'un fichier de correspondances de ce site, une correspondance spécifique est définir pour le modèle d'éléments Artiste (885063B0-3451-4B6C-98E3-5AB502C80B36) et les métadonnées ID de Sitecore sont associées au champ d'index Artist afin d'être utilisées comme champ de clé de la clé étrangère. De même, les métadonnées Name de Sitecore sont associées au champ d'index ArtistName pour être utilisées comme champ de valeur de la clé étrangère.

      <Mapping type="885063B0-3451-4B6C-98E3-5AB502C80B36"><!-- Optional. Set  foreign key fields for the template of a given document type.  -->
      <Fields>
        <Field name="Artist">%[ID]</Field>
        <Field name="ArtistName">%[Name]</Field>
      </Fields>
      </Mapping>

      Astuce : Si vous souhaitez restreindre un <mapping> à un modèle spécifique, l'identifiant global unique à utiliser pour l'attribut type correspond à la valeur du paramètre Item ID pour le modèle dans Sitecore (voir Découverte de l'identifiant d'un élément du modèle Sitecore).

    4. Enregistrez le fichier à l'aide d'un nom de votre choix dans le dossier [Index_Path]\Config.

      Exemple : C:\CES7\Config\MySitecoreMapping.xml

  3. Donnez au connecteur la consigne d'utiliser ce fichier de configuration pour une source en ajoutant le chemin d'accès du fichier de correspondances dans le paramètre de source Fichier de correspondances (voir Schéma standard d'un fichier de correspondances).

Prochaines étapes?

Veillez à ce que l'ensemble de champs assigné à votre source Sitecore contienne les champs personnalisés définis dans votre fichier de correspondances (voir Ajout d'un groupe de champs et Ajout ou modification de champs personnalisés).

Vous devriez créer et utiliser un fichier de configuration (voir Création et utilisation d'un fichier de configuration Sitecore).