Activation de la visualisation des versions de données utilisateur sur l'interface utilisateur

Pour activer l'affichage des différentes versions de données utilisateur dans l'interface utilisateur, mettez à jour le fichier de modèle de requête pour rendre les requêtes SQL versionnables et extraire les différentes informations de version.

Avant de commencer

  • Assurez-vous que les tables personnalisées ont déjà été ajoutées au schéma de version.
  • Consultez la rubrique suivante pour en savoir plus sur les requêtes de version SQL : Affichage des détails de version.

Procédure

  1. Ouvrez HCL Commerce Developer et basculez vers la vue Explorateur d'entreprise.
  2. Mettez à jour votre fichier de modèle de requête personnalisé.
    Pour afficher les informations de version, vous devez mettre à jour le fichier de modèle de requête. Ce fichier définit les requêtes SQL qui extraient des données du serveur.

    Lorsque les versions sont affichées, certaines des données doivent être extraites du schéma de version, tandis que d'autres doivent être extraites du schéma de base. Vous devez déterminer si vous devez écrire des requêtes spécifiques à la version. Pour plus d'informations sur les modèles de requête SQL de version, voir Affichage des détails de version.

    Ci-dessous figure un exemple de fichier de modèle de requête personnalisé qui extrait différentes versions des données WARRANTY à l'aide de la génération SQL de versions.
    BEGIN_ASSOCIATION_SQL_STATEMENT
    name=MyCompanyWarrantygetCatalogEntryDetailsByParentCatalogGroupId
    base_table=CATENTRY
    additional_entity_objects=true
    param=versionable
    sql=
    SELECT
    CATENTRY.$COLS:CATENTRY$,
    CATENTDESC.$COLS:CATENTDESC$,
    XWARRANTY.$COLS:XWARRANTY$,
    XCAREINSTRUCTION.$COLS:XCAREINSTRUCTION$
    FROM
    CATENTRY
    LEFT OUTER JOIN XWARRANTY ON (CATENTRY.CATENTRY_ID = XWARRANTY.CATENTRY_ID)
    LEFT OUTER JOIN CATENTDESC ON (CATENTDESC.CATENTRY_ID = CATENTRY.CATENTRY_ID AND CATENTDESC.LANGUAGE_ID in ($CONTROL:LANGUAGES$))
    LEFT OUTER JOIN XCAREINSTRUCTION ON (CATENTRY.CATENTRY_ID = XCAREINSTRUCTION.CATENTRY_ID AND XCAREINSTRUCTION.LANGUAGE_ID in ($CONTROL:LANGUAGES$))
    WHERE
    CATENTRY.CATENTRY_ID IN ($ENTITY_PKS$) AND
    CATENTRY.MARKFORDELETE = 0
    END_ASSOCIATION_SQL_STATEMENT
    
    BEGIN_PROFILE
    name=MyCompany_All
    extends = IBM_Admin_Details
    BEGIN_ENTITY
    associated_sql_statement=MyCompanyWarrantygetCatalogEntryDetailsByParentCatalogGroupId
    END_ENTITY
    END_PROFILE
    
    BEGIN_PROFILE
    name=MyCompany_Admin_Minimal
    extends = IBM_Admin_Minimal
    BEGIN_ENTITY
    associated_sql_statement=MyCompanyWarrantygetCatalogEntryDetailsByParentCatalogGroupId
    END_ENTITY
    END_PROFILE
    Pour améliorer les performances lors de l'extraction de versions d'entrée de catalogue, le nouveau profil d'accès IBM_Admin_Minimal est défini de sorte à extraire un sous-ensemble des requêtes SQL renvoyées par le profil d'accès IBM_Admin_Details.
  3. Mettez à jour le fichier get-data-config.xml qui se trouve sous le répertoire LOBTools > WebContent > WEB-INF > config > com.ibm.commerce.serviceModule pour enregistrer le service de version des nouveaux profils d'accès.
    Voici un exemple de fragment de code du générateur d'expressions getCatalogEntryDetailsByIDs (données Garantie) ajouté dans la balise wcf:get-data-config :
    <expression-builder>
    	<name>getCatalogEntryDetailsByIDs</name>
    	<data-type-name>CatalogEntry</data-type-name>
    	<param>
    		<name>accessProfile</name>
    		<value>MyCompany_All</value>
    	</param>
    </expression-builder>
    
    <expression-builder>
    	<name>getVersionedCatalogEntryDetailsByIDs</name>
    	<data-type-name>CatalogEntry</data-type-name>
    	<param>
    		<name>accessProfile</name>
    		<value>MyCompany_Admin_Minimal</value>
    	</param>
    </expression-builder>
    
  4. Mettez à jour le registre des commandes pour que le profil d'accès personnalisé enregistre l'implémentation de la commande d'insertion de version supplémentaires.
    Lorsque vous visualisez des objets versionnés, le Centre de gestion doit disposer des informations sur la version, telles que l'ID version. Pour extraire et inclure ces informations dans le nom, vous devez enregistrer une commande "InsertMore".
    Voici l'exemple d'instruction SQL permettant d'enregistrer le profil d'accès personnalisé MyCompany_All de l'exemple Garantie précédent :
    insert into cmdreg (storeent_id, interfacename, classname, target) values 
    (0, 'com.ibm.commerce.catalog.facade.server.commands.InsertMoreCatalogEntryDataCmd+MyCompany_All.10', 
    'com.ibm.commerce.foundation.server.version.command.InsertMoreNounVersionMetaDataCmdImpl', 'Local');
    

    InsertMoreNounVersionMetaDataCmdImpl recherche les informations de version du nom CatalogEntry et les ajoute à la réponse.