Enregistrement d'un widget Commerce Composer

Utilisez l'utilitaire Chargement des données pour enregistrer votre widget dans la structure Commerce Composer et faites en sorte que votre magasin s'abonne à votre widget.

Avant de commencer

Pourquoi et quand exécuter cette tâche

  • Avant de pouvoir utiliser votre widget personnalisé dans l'outil Commerce Composer, vous devez enregistrer le widget avec la structure Commerce Composer. La structure maintient un registre unique, qui comprend tous les widgets enregistrés et les magasins qui peuvent utiliser les widgets sur les pages. Pour enregistrer un widget, utilisez l'utilitaire Chargement des données pour charger l'identificateur du widget et le fichier XML de définition dans la table de base de données PLWIDGETDEF.
  • Si votre widget doit afficher du contenu dans plusieurs langues, chargez la relation entre la description du widget stockée dans la table PLWIDGETDEF et la langue des informations. Vous devez charger ces informations de relation dans la table PLWIDGETDEFDESC. La langue des informations du widget est associée à une entrée dans la table de base de données LANGUAGE.
  • Vous devez également abonner un magasin au widget avant de pouvoir utiliser le widget dans une présentation de page pour ce magasin. Utilisez l'utilitaire Chargement des données pour charger un abonnement de magasin dans votre widget. Cette relation d'abonnement est stockée dans la table de base de données PLSTOREWIDGET.

Procédure

  1. Préparez le fichier d'entrée de chargement des données qui contient les informations d'identification, descriptives et de définition pour votre widget personnalisé.
    1. Accédez au répertoire où la transformation JET a généré les fichiers de code source.

      workspace_dir\target_folder\DataLoad\widget

      target_folder
      Le dossier ou le projet que vous avez spécifié comme valeur pour le paramètre targetFolder dans le fichier XML d'entrée du modèle. Si vous n'avez pas spécifié de valeur pour le paramètre targetFolder, il s'agit du dossier ou du projet target_folder où se trouve le fichier XML d'entrée du modèle.
    2. Ouvrez le fichier registerWidgetDef.csv pour l'éditer. Par défaut, le fichier CSV généré inclut les informations que vous avez spécifiées dans le fichier XML d'entrée du modèle. La transformation JET utilise le contenu de votre fichier d'entrée du modèle pour définir des valeurs pour les colonnes obligatoires du fichier CSV.
      Pour plus d'informations sur les colonnes du fichier CSV généré et les données que vous pouvez inclure pour les colonnes, voir fichier d'entrée registerWidgetdef.
    3. Spécifiez si le widget doit être un widget de niveau site ou de niveau magasin. Si vous souhaitez que votre widget soit un widget de niveau magasin, définissez la valeur de la colonne WidgetStoreUniqueID ou WidgetStoreIdentifier dans le fichier CSV comme étant l'ID du magasin. Si vous souhaitez que votre widget soit un widget de niveau site, ne définissez pas de valeur pour l'une ou l'autre de ces colonnes. Par défaut, la transformation JET spécifie la valeur pour définir votre widget en tant que widget de niveau site.
    4. Facultatif : Mettez à jour le fichier CSV pour inclure les propriétés plus configurables qui doivent être incluses dans le XML de définition de widget pour votre widget personnalisé. Le XML de définition de widget doit être inclus en tant que valeur de la colonne WidgetDefinitionXML dans le fichier CSV.
      Pour inclure des propriétés plus configurables pour votre widget, utilisez le format :
      <widget-property name="" required="" datatype=""/> 
      nom
      Nom de la propriété.
      required
      Indique si la propriété est obligatoire et doit avoir une valeur. Définissez la valeur de cet attribut sur true si la propriété doit avoir une valeur définie par un utilisateur.
      type de données
      Le type de données de la valeur que la propriété s'attend à voir définie comme valeur. Par exemple, le type de données peut être Chaîne, Booléen ou Entier.
      Par exemple,
      <widget-property name="storeId" required="false" datatype="java.lang.String"/> 

      Pour chaque propriété configurable que vous définissez dans le XML de définition, les définitions des vues d'objet et de propriétés Management Center de votre widget doivent prendre en charge les propriétés. Les définitions de ressources de vitrine doivent également prendre en charge le traitement ou l'affichage des données configurées renvoyées. Pour obtenir des exemples de propriétés configurables que vous pouvez définir pour votre widget, examinez les propriétés configurables pour les widgets fournis par défaut avec HCL Commerce. Pour plus d'informations, voir Propriétés de widget Commerce Composer.

    5. Mettez à jour le XML de définition dans le CSV pour inclure votre widget dans d'autres groupes de restrictions de widgets.
      Par défaut, le XML de définition inclut les groupes de restrictions de widgets que vous définissez pour le widget lorsque vous avez généré le code source. Utilisez une liste séparée par des virgules pour inclure votre widget dans d'autres groupes de restrictions de widgets. Le XML de définition d'un widget inclus dans deux groupes de restrictions de widgets peut ressembler au code suivant :
      <Definition>
        <widget-property name="widgetRestrictionGroups"> 
          <value>CategoryPage,CatalogEntryPage, AnyPage</value>
        </widget-property>
      </Definition>
    6. Facultatif : Mettez à jour le XML de définition de widget dans le fichier CSV pour inclure toutes les CSS, images, fichiers JavaScript ou propriétés prédéfinies.
      Utilisez le format suivant pour définir la valeur des propriétés ou des fichiers :
      <widget-property name="" value=""/> 
      nom
      Le nom de la propriété prédéfinie ou la déclaration d'inclusion identifie le type d'actifs inclus. Par exemple, pour inclure un fichier JavaScript, spécifiez _pgl:javaScriptInclude.
      valeur
      Le paramètre des propriétés prédéfinies ou du chemin d'accès au fichier CSS, image ou JavaScript. Si vous incluez des actifs, vous pouvez spécifier plusieurs valeurs. Par exemple :
      <widget-property name="_pgl:javaScriptInclude">
          <value>${jsAssetsDir}javascript/Widgets/swipe.js</value> 
          <value>${staticAssetContextRoot}/Widgets/Common/javascript/Recommendation.js</value>
    7. Facultatif : Si votre widget doit traiter des données autres que les propriétés stockées dans la table de base de données PLWIDGETNVP, spécifiez un gestionnaire de widgets dans le XML de définition de widget dans le fichier CSV pour gérer les données
      Un gestionnaire de widgets gère le stockage et la récupération persistants de données des widgets étendus autres que les propriétés de base des widgets. Vous pouvez utiliser un gestionnaire de widgets pour ajouter n'importe quelle logique supplémentaire lorsque vous créez, mettez à jour ou supprimez un widget. Par exemple, le widget Liens inclut un titre Afficher lorsque le widget s'affiche sur une page de magasin. Le titre Afficher est un élément de contenu marketing qui s'affiche dans le widget. Lorsqu'un utilisateur Management Center définit le contenu utilisé pour le titre Afficher, un gestionnaire de widgets doit être utilisé pour enregistrer le paramètre. Pour identifier un gestionnaire de widgets, ajoutez le code suivant dans le XML de définition de widget :
      widget-manager j2ee élément
      La valeur de cet élément spécifie la classe de gestionnaire de widgets pour un widget. Utilisez le format suivant pour définir la classe de gestionnaire de widgets :
        <widget-manager j2ee=""/> 
      Par exemple, le code suivant spécifie le gestionnaire de widgets pour le widget Recommandation de contenu :
        <widget-manager j2ee="com.ibm.commerce.pagelayout.widget.management.impl.ContentRecommendationWidgetManager"/> 
      requireEMS property
      Si votre widget nécessite un emplacement e-marketing pour afficher les données que votre widget génère, incluez cette propriété. Par exemple, si votre widget génère des données via une activité de marketing, telle que le contenu ou les recommandations d'entrée de catalogue, votre widget doit utiliser un emplacement e-marketing pour afficher les données générées. Cette propriété indique que la structure Commerce Composer doit créer un emplacement e-marketing pour que le widget soit utilisé pour afficher des données. Utilisez le code suivant, avec la valeur de propriété définie sur true, pour créer un emplacement e-marketing pour votre widget :
      <widget-property name="requireEMS"> 
        <value>true</value>    
      serializeActionPath property
      La valeur de cette propriété définit le chemin d'action dans le fichier de configuration Struts de votre widget personnalisé. Si le chemin d'action que vous spécifiez n'existe pas, vous devez ajouter une entrée dans le fichier de configuration struts pour créer le chemin d'action de votre widget. Ce fichier de configuration struts mappe le chemin d'action vers un JSP. Ce fichier JSP est ensuite appelé par le fichier SerializeLayoutWidget.jspf pour gérer vos données de widget qui ne sont pas stockées dans la table PLWIDGETNVP. Utilisez le format suivant pour spécifier la page d'action de sérialisation dans le XML de définition :
      <widget-property name="serializeActionPath"> <value></value> 
      Par exemple, le chemin d'accès de l'action de sérialisation pour le widget Recommandation de contenu est spécifié avec la propriété suivante :
      <widget-property name="serializeActionPath"> 
        <value>SerializeLayoutWidget-ContentRecommendationWidget</value>

      Pour plus d'informations sur le gestionnaire de widgets, voir Définition d'un gestionnaire de widgets.

    8. Sauvegardez le fichier.
      A titre d'exemple, pour vous aider à spécifier le XML de définition pour votre widget, le code suivant est le XML de définition pour le widget Titre qui ne contient pas de propriétés configurables. Cette définition XML définit uniquement les groupes de restrictions de widgets dans lesquels le widget Titre est inclus.
      <Definition>
        <widget-property name="widgetRestrictionGroups"> 
          <value>CategoryPage,CatalogEntryPage</value>
        </widget-property>
      </Definition>
      Le code suivant est le XML de définition pour le widget Recommandation de contenu, qui prend en charge les activités Web :
      <Definition>
        <widget-property name="widgetRestrictionGroups">
          <value>AnyPage,CatalogEntryPage,CategoryPage,SearchPage</value>
        </widget-property>
        <widget-manager j2ee="com.ibm.commerce.pagelayout.widget.management.impl.ContentRecommendationWidgetManager"/>
        <widget-property name="requireEMS">
          <value>true</value>
        </widget-property>
        <widget-property name="requireDefaultContent">
          <value>true</value>
        </widget-property>
        <widget-property name="serializeActionPath">
          <value>SerializeLayoutWidget-ContentRecommendationWidget</value>
        </widget-property>
        <widget-property name="emsName" required="false" datatype="java.lang.String"/>
        <widget-property name="widgetOrientation" >
          <value>horizontal</value>
        </widget-property>
        <widget-property name="pageSize">
          <value>4</value>
        </widget-property>
        <widget-property name="displayPreference">
          <value>1</value>
        </widget-property>
        <widget-property name="showFeed">
          <value>false</value>
        </widget-property>
        <widget-property name="_pgl:javaScriptInclude">
          <value>${staticAssetContextRoot}/Widgets/com.ibm.commerce.store.widgets.ContentRecommendation/javascript/video.js</value>
        </widget-property>
      </Definition>  
  2. Préparez le fichier d'entrée de chargement des données qui inclut les informations pour que votre magasin s'abonne à votre widget personnalisé.
    1. Accédez au répertoire workspace_dir\target_folder\DataLoad\widget.
    2. Ouvrez le fichier subscribeWidgetDef.csv pour l'éditer. Par défaut, le fichier CSV généré inclut les informations que vous avez spécifiées dans le XML d'entrée du modèle. La transformation JET utilise le contenu de votre fichier de modèle pour définir des valeurs pour les colonnes obligatoires dans le fichier CSV.
      Pour plus d'informations sur les colonnes du fichier CSV généré et les données que vous pouvez inclure pour les colonnes, voir Fichier d'entrée subscribeWidgetdef.
    3. Vérifiez que la valeur de la colonne WidgetDefIdentifier est l'identificateur correct pour votre widget. Ce nom doit correspondre à la valeur de la colonne WidgetDefIdentifier dans le fichier registerWidgetdef.csv. Par défaut, la valeur de cette colonne est la valeur que vous avez spécifiée pour le paramètre d'identificateur dans le fichier XML d'entrée du modèle pour la transformation JET.
    4. Sauvegardez le fichier.
  3. Configurez l'utilitaire Chargement des données pour charger vos informations de widget personnalisées.
    La transformation JET génère les fichiers de configuration de chargement des données nécessaires pour charger les informations d'inscription et d'abonnement de votre widget.
    1. Accédez au répertoire workspace_dir\target_folder\DataLoad.
    2. Ouvrez le fichier de configuration de l'environnement de chargement de données wc-dataload-env.xml généré pour l'éditer.
      Le fichier configure les variables d'environnement de l'utilitaire Chargement des données, telles que les paramètres de base de données, le résolveur d'ID et le programme d'écriture de données.
    3. Mettez à jour le fichier pour qu'il corresponde aux paramètres de votre base de données et de votre environnement.
      Pour plus d'informations, voir Configuration des paramètres d'environnement de chargement de données. Vous pouvez entrer une valeur pour votre identificateur de magasin dans ce fichier ou entrer l'identificateur du magasin lorsque vous exécutez l'utilitaire Chargement des données pour charger les fichiers CSV. L'identificateur du magasin est utilisé pour identifier le magasin abonné à votre widget. Cet identificateur de magasin est sensible à la casse. Vous pouvez trouver la valeur de votre identificateur de magasin dans la colonne IDENTIFIER de la table de base de données STOREENT.
    4. Enregistrez votre fichier.
  4. Exécutez l'utilitaire de chargement de données.
    1. Dans l'utilitaire de ligne de commande, accédez au répertoire WCDE_installdir\bin.
    2. Exécutez la commande suivante pour charger les fichiers d'entrée afin qu'ils s'enregistrent et s'abonnent à votre widget :

      dataload.bat ..\workspace\target_folder\DataLoad\widget\wc-dataload-widget.xml

      target_folder
      Le dossier ou le projet que vous avez spécifié comme valeur pour le paramètre targetFolder dans le fichier XML d'entrée du modèle. Si vous n'avez pas spécifié de valeur pour le paramètre targetFolder, il s'agit du dossier ou du projet target_folder où se trouve le fichier XML d'entrée du modèle. Si vous avez déplacé la configuration générée et les fichiers d'entrée de chargement des données, spécifiez le chemin de répertoire approprié vers votre fichier de commandes de chargement des données.
    3. Vérifiez les résultats du chargement de données.
    Pour en savoir plus sur l'utilisation de l'utilitaire Chargement des données pour charger les informations du widget, voir Exemple : Chargement de widgets Commerce Composer