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
- Ouvrez HCL Commerce Developer et basculez vers la vue Explorateur d'entreprise.
- 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.
Pour améliorer les performances lors de l'extraction de versions d'entrée de catalogue, le nouveau profil d'accèsBEGIN_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_PROFILEIBM_Admin_Minimalest défini de sorte à extraire un sous-ensemble des requêtes SQL renvoyées par le profil d'accèsIBM_Admin_Details. - Mettez à jour le fichier get-data-config.xml qui se trouve sous le répertoire 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 balisewcf: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> - 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_Allde 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');InsertMoreNounVersionMetaDataCmdImplrecherche les informations de version du nom CatalogEntry et les ajoute à la réponse.