Resolución de problemas: No es posible restablecer las contraseñas tras migrar la tienda local
Después de migrar una tienda de una versión anterior de WebSphere Commerce a HCL Commerce Version 9.1, lo que también se conoce como tienda local migrada, ya no es posible restablecer las contraseñas en Management Center for HCL Commerce o en el escaparate basado en Aurora.
Problema
En una tienda local migrada, el restablecimiento de contraseñas para los usuarios de Management Center for HCL Commerce o del escaparate basado en Aurora ya no funciona según lo previsto.
Esto se debe al hecho de que la configuración de RemoteStoreConfiguration
se elimina del archivo de configuración WC_installdir/xml/config/com.ibm.commerce.foundation/wc-component.xml para las tiendas locales migradas.
Solución
- Copie el archivo de la página del servidor de Java PasswordChangeConfirmationNotify.jsp en las siguientes ubicaciones:
- Stores.war/EmailTemplates/User/
- Stores.war/AuroraB2BStorefrontAssetStore/EmailTemplates/User/
- Stores.war/AuroraStorefrontAssetStore/EmailTemplates/User/
- Modifique el archivo de configuración Stores.war/WEB-INF/classes/struts-wcs-stores-custom.xml.Añada el código de los resultados siguiente entre los bloques de los resultados
PasswordNotifyView
yPasswordReEnterErrorView
.<result name="PasswordResetConfirmationNotifyView/10651/-3" type="wcsstore"> <param name="implClassName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl</param> <param name="interfaceName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommand</param> <param name="location">/EmailTemplates/User/PasswordChangeConfirmationNotify.jsp</param> </result> <result name="PasswordResetConfirmationNotifyView/10701/-3" type="wcsstore"> <param name="implClassName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl</param> <param name="interfaceName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommand</param> <param name="location">/EmailTemplates/User/PasswordChangeConfirmationNotify.jsp</param> </result>
Nota: Sustituya 10651 y 10701 por los valores STOREENT_ID AuroraStorefrontAssetStore y AuroraB2BStorefrontAssetStore para realizar el despliegue. - Modifique el archivo de configuración Stores.war/WEB-INF/classes/struts-wcs-stores.xml.
- Añada el resultado siguiente entre los resultados denominados
PasswordNotifyView
yPickBatchGenerateErrorView
.<result name="PasswordResetConfirmationNotifyView/0/-3"> <param name="direct">true</param> <param name="implClassName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl</param> <param name="interfaceName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommand</param> <param name="location">/EmailTemplates/User/PasswordChangeConfirmationNotify.jsp</param> <param name="properties">storeDir=no</param> <param name="resourceClassName">com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl</param> </result>
- Añada la acción siguiente entre las acciones denominadas
defaultStoreAction
y*.jsp
.<action class="com.ibm.commerce.struts.v2.BaseAction" name="PasswordResetConfirmationNotifyView"> <param name="https">0:1</param> </action>
- Añada el resultado siguiente entre los resultados denominados
- Modifique los dos archivos de propiedades siguientes:
- ts.ear/properties/PasswordResetNotification_en_US.properties
- ts.ear/properties/PasswordResetNotification.properties
Añada el siguiente mensaje.PasswordResetNotification.MessagePart3=has been changed
- Cree un fragmento de contenido de marketing y enlácelo a una zona de e-Marketing ejecutando las siguientes consultas SQL en la base de datos.
- Cree el contenido de marketing.
INSERT INTO COLLATERAL (COLLATERAL_ID,STOREENT_ID,COLLTYPE_ID,NAME,URL,FIELD1,FIELD2,BEHAVIOR,UIDISPLAYABLE,MANAGINGTOOL,OVRMKTLIMIT,OPTCOUNTER) VALUES ((SELECT MAX(COLLATERAL_ID) AS COLLATERALID FROM COLLATERAL)+1, (SELECT STOREENT_ID FROM STOREENT WHERE STOREENT.IDENTIFIER='AuroraB2BESite'), 2, 'PasswordChangeConfirmationNotifyCenter_Content4',NULL,NULL, NULL,1,NULL,NULL,0,0);
- Añada una descripción y valores al contenido de marketing.
INSERT INTO COLLDESC VALUES ((SELECT MAX(COLLATERAL_ID) AS COLLATERALID FROM COLLATERAL), -1,NULL, '<p> Dear [userName],<br /><br /><br />This is to confirm that your password has been updated. <br /><br /><br />Thanks,<br />The [storeName] team</p><br />',NULL,NULL,NULL, 0);
- Cree una nueva zona de e-Marketing.
INSERT INTO WCS.EMSPOT (EMSPOT_ID, STOREENT_ID, NAME, DESCRIPTION, SUPPORTEDTYPES, DEFAULTRULE, USAGETYPE, UIDISPLAYABLE, MANAGINGTOOL, OPTCOUNTER) VALUES((SELECT MAX(EMSPOT_ID) AS EMSPOTID FROM EMSPOT)+1, (SELECT STOREENT_ID FROM STOREENT WHERE STOREENT.IDENTIFIER='AuroraB2BESite'), 'PasswordChangeConfirmationNotifyCenter_Content4', '', NULL, NULL, 'MARKETING', NULL, NULL, 0);
- Añada la zona de e-Marketing a la sección de contenido predeterminado.
INSERT INTO WCS.DMEMSPOTDEF (DMEMSPOTDEF_ID, EMSPOT_ID, STOREENT_ID, CONTENTTYPE, CONTENT, "SEQUENCE", OPTCOUNTER) VALUES((SELECT MAX(DMEMSPOTDEF_ID) AS DMEMSPOTDEFID FROM WCS.DMEMSPOTDEF)+1, (SELECT MAX(EMSPOT_ID) AS EMSPOTID FROM EMSPOT), (SELECT STOREENT_ID FROM STOREENT WHERE STOREENT.IDENTIFIER='AuroraB2BESite'), 'MarketingContent', (SELECT MAX(COLLATERAL_ID) AS COLLATERALID FROM COLLATERAL), 0.0, 1);
- Repita los pasos de a. a d., pero sustituya
AuroraB2BESite
porAuroraESite
en cada sentencia SQL.
- Cree el contenido de marketing.
- Reinicie el Transaction server.
La función que permite restablecer las contraseñas en el escaparate basado en Aurora, así como dentro de Management Center, ahora funciona según lo previsto.