Search This Blog

Tuesday, September 17, 2013

Enabling search statistics in WCS management center

  1. Update the appropriate component configuration file to enable site search statistics:
    •  In your custom WebSphere Commerce search configuration file, wc-search.xml, change the value of the statistics parameter to true. For instructions on how to create or edit your custom search configuration file
    • Feature Pack 6 In your custom catalog component configuration file, wc-component.xml, change the value of the SearchProfilesStatistics parameter to true. For instructions on how to create or edit your custom catalog component configuration file, 
    • Values can be set for the following statistic parameters in your custom catalog component configuration file:
      SearchStatisticsBatchInsertSize
      The batch processing size for capturing search statistics, in number of cached entries.
      The default value is 10000.
      SearchStatisticsUpdateInterval
      The time interval between batch processing updates, in seconds.
      The default value is 600.
      SearchStatisticsResultPagesTrackingThreshold
      Track search rule statistics up to the specified search result page.
      The default value is 1.

Tuesday, July 16, 2013

Sterling installation failed on linux centos. java.rmi.server.ExportException: Port already in use:



<entry num='115' time='1373981103913' elapsed='02:47.94' level='ERROR' thread='main'>
<logger>com.ibm.cic.agent.core.Engine</logger>
<class>com.ibm.cic.agent.core.Engine.Phase</class>
<method>perform</method>
<message>java.rmi.server.ExportException: Port already in use: 0; nested exception is:
        java.net.BindException: Cannot assign requested address</message>
<exception>
  java.rmi.server.ExportException: Port already in use: 0; nested exception is:
       java.net.BindException: Cannot assign requested address
  <stack>sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:322)</stack>
  <stack>sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:230)</stack>
  <stack>sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:405)</stack>
  <stack>sun.rmi.transport.LiveRef.exportObject(LiveRef.java:141)</stack>
  <stack>sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:202)</stack>
  <stack>java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:304)</stack>
  <stack>java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:267)</stack>
  <stack>com.ibm.sterling.afc.install.launch.InstallServer.export(InstallServer.java:43)</stack>
  <stack>com.ibm.sterling.afc.install.launch.BackendLauncher.run(BackendLauncher.java:65)</stack>
  <stack>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</stack>
  <stack>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)</stack>
  <stack>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)</stack>
  <stack>java.lang.reflect.Method.invoke(Method.java:611)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.Invoke$InvokeRunnable.run(Invoke.java:189)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.Invoke.perform(Invoke.java:66)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.InvokeInstallOperation.doPerform(InvokeInstallOperation.java:61)</stack>
  <stack>com.ibm.cic.agent.core.AbstractInstallOperation.perform(AbstractInstallOperation.java:120)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.ICommonNativeInstallAdapter.processCommonPerformOperation(ICommonNativeInstallAdapter.java:527)</stack>
  <stack>com.ibm.cic.agent.internal.adapters.nativeAdapter.NativeInstallAdapter.customOperation(NativeInstallAdapter.java:117)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.PerformInstallOperation.doPerform(PerformInstallOperation.java:54)</stack>
  <stack>com.ibm.cic.agent.core.AbstractInstallOperation.perform(AbstractInstallOperation.java:120)</stack>
  <stack>com.ibm.cic.agent.core.InstallTransaction.performOperation(InstallTransaction.java:75)</stack>
  <stack>com.ibm.cic.agent.core.InstallContext.performOperationReturnStatus(InstallContext.java:584)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.ICommonNativeInstallAdapter.handlePerformOperation(ICommonNativeInstallAdapter.java:404)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.ICommonNativeInstallAdapter.processCommonOperation(ICommonNativeInstallAdapter.java:441)</stack>
  <stack>com.ibm.cic.agent.internal.adapters.nativeAdapter.NativeInstallAdapter.dispatcher(NativeInstallAdapter.java:78)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.ICommonNativeInstallAdapter.performMain(ICommonNativeInstallAdapter.java:285)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.ICommonNativeInstallAdapter.performOtherPhase(ICommonNativeInstallAdapter.java:131)</stack>
  <stack>com.ibm.cic.agent.core.commonNativeInstallAdapter.ICommonNativeInstallAdapter.perform(ICommonNativeInstallAdapter.java:104)</stack>
  <stack>com.ibm.cic.agent.internal.adapters.nativeAdapter.NativeInstallAdapter.install(NativeInstallAdapter.java:54)</stack>
  <stack>com.ibm.cic.agent.internal.core.SafeInstallAdaptorWrapper.install(SafeInstallAdaptorWrapper.java:88)</stack>
  <stack>com.ibm.cic.agent.core.Engine$Phase$Install.performIU(Engine.java:606)</stack>
  <stack>com.ibm.cic.agent.core.Engine$Phase$IUPhase$IUPhaseSubOperation.perform(Engine.java:473)</stack>
  <stack>com.ibm.cic.agent.core.InstallTransaction.performOperation(InstallTransaction.java:75)</stack>

Solution

    Sterling installer picks hostname of machine from network script and then do reverse lookup and if  reverse lookup fails, installer fails with above exception. To fix this make sure

   VM Hostname is mapped in host file with correct IP.

 

Thursday, June 6, 2013

Installing client certificate on JBOSS eap



keytool -import -alias root -keystore <your_keystore_filename> -trustcacerts -file <filename_of_the_chain_certificate>

Thursday, March 7, 2013

Dialog Activity - Send email on Abundant basket explained


[01/12/12 20:41:34:074 GMT] 0000006a engine        > com.ibm.commerce.marketing.internal.runtime.engine.SendMarketingTriggersCmdImpl performExecute ENTRY
[01/12/12 20:41:34:074 GMT] 0000006a client        > com.ibm.commerce.marketing.facade.client.MarketingFacadeClient getXPath ENTRY
[01/12/12 20:41:34:074 GMT] 0000006a client        > com.ibm.commerce.marketing.facade.client.MarketingFacadeClient getXPath ENTRY
[01/12/12 20:41:34:074 GMT] 0000006a client        > com.ibm.commerce.marketing.facade.client.AbstractMarketingFacadeClient processMarketingTrigger(ProcessMarketingTriggerType) ENTRY com.ibm.commerce.marketing.facade.datatypes.impl.ProcessMarketingTriggerTypeImpl@7e4c7e4c (languageCode: <unset>, releaseID: null, systemEnvironmentCode: <unset>, versionID: null)
[01/12/12 20:41:34:089 GMT] 0000006a authorization > com.ibm.commerce.marketing.facade.server.authorization.MarketingTriggerTypeProtectableProxy getOwner() ENTRY
[01/12/12 20:41:34:089 GMT] 0000006a authorization < com.ibm.commerce.marketing.facade.server.authorization.MarketingTriggerTypeProtectableProxy getOwner() RETURN

[01/12/12 20:41:34:089 GMT] 0000006a commands      > com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl performExecute ENTRY
[01/12/12 20:41:34:089 GMT] 0000006a metadata      1 com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getCurrentTime return time from preview context: 2012-12-01 20:41:34.089

[01/12/12 20:41:34:089 GMT] 0000006a metadata      > com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getStoreId ENTRY
[01/12/12 20:41:34:089 GMT] 0000006a metadata      < com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getStoreId RETURN 10,151

[01/12/12 20:41:34:089 GMT] 0000006a util          > com.ibm.commerce.marketing.dialog.util.MarketingServicesTaskCmdImpl adjustServerTime ENTRY
[01/12/12 20:41:34:089 GMT] 0000006a util          < com.ibm.commerce.marketing.dialog.util.MarketingServicesTaskCmdImpl adjustServerTime RETURN 01/12/12 20:41

[01/12/12 20:41:34:089 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl performExecute current time is : 2012-12-01 20:41:34.089

[01/12/12 20:41:34:089 GMT] 0000006a commands      > com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processTimeBasedTriggers ENTRY 01/12/12 20:41
[01/12/12 20:41:34:089 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findTriggersToSend ENTRY 01/12/12 20:41
[01/12/12 20:41:34:089 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findTriggersToSend No triggers to send.
[01/12/12 20:41:34:089 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findTriggersToSend RETURN
[01/12/12 20:41:34:089 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processTimeBasedTriggers triggersToSendArray.length:0
[01/12/12 20:41:34:089 GMT] 0000006a commands      < com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processTimeBasedTriggers RETURN

[01/12/12 20:41:34:089 GMT] 0000006a commands      > com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processBulkEmailActivities ENTRY 01/12/12 20:41
[01/12/12 20:41:34:089 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processBulkEmailActivities Look for bulk email activities to start
[01/12/12 20:41:34:089 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager findActivitiesToStart ENTRY
[01/12/12 20:41:34:089 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager findActivitiesToStart No activities to start.
[01/12/12 20:41:34:089 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager findActivitiesToStart RETURN
[01/12/12 20:41:34:089 GMT] 0000006a commands      < com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processBulkEmailActivities RETURN

[01/12/12 20:41:34:105 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl performExecute desiredTimeToRun: Sat Dec 01 20:00:00 GMT 2012

[01/12/12 20:41:34:105 GMT] 0000006a commands      > com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl needToProcessScheduledJob ENTRY 01/12/12 20:41 0 0

[01/12/12 20:41:34:105 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributesContainer ENTRY 0
[01/12/12 20:41:34:105 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributesContainer RETURN
[01/12/12 20:41:34:105 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributes ENTRY
[01/12/12 20:41:34:105 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributes RETURN

[01/12/12 20:41:34:105 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl needToProcessScheduledJob No activity attribute row found, so create one

[01/12/12 20:41:34:105 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager createActivityAttribute ENTRY
[01/12/12 20:41:34:105 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributesContainer ENTRY 0
[01/12/12 20:41:34:105 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributesContainer RETURN
[01/12/12 20:41:34:105 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributes ENTRY
[01/12/12 20:41:34:105 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributes RETURN
[01/12/12 20:41:34:105 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager createActivityAttribute RETURN

[01/12/12 20:41:34:105 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl needToProcessScheduledJob created the activity attribute row
[01/12/12 20:41:34:105 GMT] 0000006a commands      < com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl needToProcessScheduledJob RETURN continueProcessing=true


[01/12/12 20:41:34:105 GMT] 0000006a commands      > com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processRepeatTriggers ENTRY 01/12/12 20:41
[01/12/12 20:41:34:105 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager findActivitiesAssociatedWithBusinessObject ENTRY repeatSchedule null null
[01/12/12 20:41:34:105 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager findActivitiesAssociatedWithBusinessObject check for parameter in all stores
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager findActivitiesAssociatedWithBusinessObject RETURN
[01/12/12 20:41:34:121 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processRepeatTriggers activityId=11051
[01/12/12 20:41:34:121 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processRepeatTriggers state=1
[01/12/12 20:41:34:121 GMT] 0000006a engine        > com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getActivity ENTRY
[01/12/12 20:41:34:121 GMT] 0000006a engine        1 com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getActivity  get database version of activityId: 11051
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager findActivityById ENTRY 11,051
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityContainer(Integer) ENTRY 11,051
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityContainer(Integer) RETURN
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivity ENTRY 11,051
[01/12/12 20:41:34:121 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivity Physical Entity found for Activity noun with activityId: 11051
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivity RETURN
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getCampaignName ENTRY null
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getCampaignName RETURN
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager findActivityById RETURN
[01/12/12 20:41:34:121 GMT] 0000006a engine        < com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getActivity RETURN
[01/12/12 20:41:34:121 GMT] 0000006a engine        > com.ibm.commerce.marketing.runtime.engine.TriggerHandler isDateValidForActivity ENTRY
[01/12/12 20:41:34:121 GMT] 0000006a engine        1 com.ibm.commerce.marketing.runtime.engine.TriggerHandler isDateValidForActivity activityStart=2012-11-29 00:00:00.001  activityEnd=2012-12-30 23:59:00.001
[01/12/12 20:41:34:121 GMT] 0000006a metadata      1 com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getCurrentTime return time from preview context: 2012-12-01 20:41:34.121
[01/12/12 20:41:34:121 GMT] 0000006a metadata      > com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getStoreId ENTRY
[01/12/12 20:41:34:121 GMT] 0000006a metadata      < com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getStoreId RETURN 10,151
[01/12/12 20:41:34:121 GMT] 0000006a util          > com.ibm.commerce.marketing.dialog.util.MarketingServicesTaskCmdImpl adjustServerTime ENTRY
[01/12/12 20:41:34:121 GMT] 0000006a util          < com.ibm.commerce.marketing.dialog.util.MarketingServicesTaskCmdImpl adjustServerTime RETURN 01/12/12 20:41
[01/12/12 20:41:34:121 GMT] 0000006a engine        1 com.ibm.commerce.marketing.runtime.engine.TriggerHandler isDateValidForActivity Activity in progress - date is valid!
[01/12/12 20:41:34:121 GMT] 0000006a engine        < com.ibm.commerce.marketing.runtime.engine.TriggerHandler isDateValidForActivity RETURN
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributesContainer ENTRY 11051
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributesContainer RETURN
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributes ENTRY
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ActivityPersistenceManager getActivityAttributes RETURN
[01/12/12 20:41:34:121 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processRepeatTriggers activityHasNeverBeenRun=true
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName ENTRY 11053 repeatSchedule
[01/12/12 20:41:34:121 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName Name=repeatSchedule Value=runDaily
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName RETURN
[01/12/12 20:41:34:121 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processRepeatTriggers elementId=11053
[01/12/12 20:41:34:121 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processRepeatTriggers storeId=10151
[01/12/12 20:41:34:121 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processRepeatTriggers repeatSchedule=runDaily
[01/12/12 20:41:34:121 GMT] 0000006a commands      > com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl needToProcessScheduledJobBasedOnRepeatSchedule ENTRY runDaily 01/12/12 20:41 null
[01/12/12 20:41:34:121 GMT] 0000006a commands      1 com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl needToProcessScheduledJobBasedOnRepeatSchedule never been run, so run for today
[01/12/12 20:41:34:121 GMT] 0000006a commands      < com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl needToProcessScheduledJobBasedOnRepeatSchedule RETURN true
[01/12/12 20:41:34:121 GMT] 0000006a engine        > com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getFlowElement ENTRY
[01/12/12 20:41:34:121 GMT] 0000006a engine        1 com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getFlowElement  get database version of elementId: 11053
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager findElementById ENTRY 11,053
[01/12/12 20:41:34:121 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager getElementContainer(Integer) ENTRY 11,053
[01/12/12 20:41:34:121 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager getElementContainer(Integer) RETURN
[01/12/12 20:41:34:136 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager getElement ENTRY 11,053
[01/12/12 20:41:34:136 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager getElement Physical Entity found for Element with elementId: 11053
[01/12/12 20:41:34:136 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager getElement RETURN
[01/12/12 20:41:34:136 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPsByElementIdWithChildElement ENTRY elementId=11053,elementTemplateId=181,parentElementName=11053,activityId=11051
[01/12/12 20:41:34:136 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPsByElementId ENTRY 11,053
[01/12/12 20:41:34:136 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPsByElementId Got NVP maps: {repeatSchedule=runDaily, numberOfDays=1}
[01/12/12 20:41:34:136 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPsByElementId RETURN
[01/12/12 20:41:34:136 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPsByElementIdWithChildElement No element nvps.
[01/12/12 20:41:34:136 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPsByElementIdWithChildElement RETURN
[01/12/12 20:41:34:136 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager substituteVariables ENTRY
[01/12/12 20:41:34:136 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager formatToXMLCompatibleData text: runDaily
[01/12/12 20:41:34:136 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager formatToXMLCompatibleData text: 1
[01/12/12 20:41:34:136 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager substituteVariables RETURN <Trigger type="CustomerAbandonsShoppingCart"><Parameter name="repeatSchedule" value="runDaily" /><Parameter name="numberOfDays" value="1" /><Parameter name="maximumNumberOfDaysCartHasBeenAbandoned" value="" /><Implementation invocationType="TaskCommand"><Class name="com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmd"></Class></Implementation></Trigger>
[01/12/12 20:41:34:136 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager substituteVariables ENTRY
[01/12/12 20:41:34:136 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager substituteVariables RETURN null
[01/12/12 20:41:34:136 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager substituteVariables ENTRY
[01/12/12 20:41:34:136 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager substituteVariables RETURN null
[01/12/12 20:41:34:136 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.ElementPersistenceManager findElementById RETURN
[01/12/12 20:41:34:136 GMT] 0000006a engine        1 com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getFlowElement getElementXml: <Trigger type="CustomerAbandonsShoppingCart"><Parameter name="repeatSchedule" value="runDaily" /><Parameter name="numberOfDays" value="1" /><Parameter name="maximumNumberOfDaysCartHasBeenAbandoned" value="" /><Implementation invocationType="TaskCommand"><Class name="com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmd"></Class></Implementation></Trigger>
[01/12/12 20:41:34:136 GMT] 0000006a engine        1 com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getFlowElement getBehaviorXml: null
[01/12/12 20:41:34:136 GMT] 0000006a engine        1 com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getFlowElement getRelatedXml: null
[01/12/12 20:41:34:136 GMT] 0000006a engine        < com.ibm.commerce.marketing.internal.runtime.engine.MarketingEngine getFlowElement RETURN
[01/12/12 20:41:34:136 GMT] 0000006a engine        > com.ibm.commerce.marketing.internal.runtime.engine.RemoteCall callElementValidation ENTRY id= 11051 name= basket left description= Market to a customer through an interactive dialog. storeId= 10151 campaignId= null campaignName= null state= 1 createdDate= 2012-11-30 16:02:10.574 lastUpdate= 2012-11-30 16:02:15.137 lastUpdatedBy= DM_MbrId=-1000&DM_StoreId=10151&DM_PznId=1295976641167-1 startDate= 2012-11-29 00:00:00.001 endDate= 2012-12-30 23:59:00.001 priority= 0 repeatable= 0 isRepeatable= false currentVersion= 1 publishedVersion= 1 activityType= 1 activityFormat= dialog templateType= null experimentType= null hasOnlyTriggersForAllUsers= false com.ibm.commerce.marketing.runtime.engine.FlowElement@145c145c
[01/12/12 20:41:34:136 GMT] 0000006a engine        1 com.ibm.commerce.marketing.internal.runtime.engine.RemoteCall callElementValidation remoteClassString: com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmd
[01/12/12 20:41:34:136 GMT] 0000006a elements      > com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl forwardTriggersForProcessing ENTRY
[01/12/12 20:41:34:136 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl forwardTriggersForProcessing activityId=11051
[01/12/12 20:41:34:136 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl forwardTriggersForProcessing elementId=11053
[01/12/12 20:41:34:136 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl forwardTriggersForProcessing storeId=10151
[01/12/12 20:41:34:136 GMT] 0000006a elements      > com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl processAbandonedCartsInStore ENTRY 10,151 11,053 11,051
[01/12/12 20:41:34:136 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName ENTRY 11053 numberOfDays
[01/12/12 20:41:34:136 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName Name=numberOfDays Value=1
[01/12/12 20:41:34:136 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName RETURN
[01/12/12 20:41:34:136 GMT] 0000006a metadata      1 com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getCurrentTime return time from preview context: 2012-12-01 20:41:34.136
[01/12/12 20:41:34:136 GMT] 0000006a metadata      > com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getStoreId ENTRY
[01/12/12 20:41:34:136 GMT] 0000006a metadata      < com.ibm.commerce.marketing.facade.server.metadata.MarketingMetadata getStoreId RETURN 10,151
[01/12/12 20:41:34:136 GMT] 0000006a util          > com.ibm.commerce.marketing.dialog.util.MarketingServicesTaskCmdImpl adjustServerTime ENTRY
[01/12/12 20:41:34:136 GMT] 0000006a util          < com.ibm.commerce.marketing.dialog.util.MarketingServicesTaskCmdImpl adjustServerTime RETURN 01/12/12 20:41
[01/12/12 20:41:34:136 GMT] 0000006a persistence   > com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName ENTRY 11053 repeatSchedule
[01/12/12 20:41:34:152 GMT] 0000006a persistence   1 com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName Name=repeatSchedule Value=runDaily
[01/12/12 20:41:34:152 GMT] 0000006a persistence   < com.ibm.commerce.marketing.internal.runtime.persistence.TriggerHandlerPersistenceManager findElementNVPByElementIdAndName RETURN
[01/12/12 20:41:34:152 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl processAbandonedCartsInStore numberOfDays=-1
[01/12/12 20:41:34:152 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl processAbandonedCartsInStore beginTime=com.ibm.icu.util.GregorianCalendar[time=1354221694136,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=com.ibm.icu.impl.OlsonTimeZone@111d0fe2[transitionCount=157,typeCount=4,transitionTimes=[-1691964000,-1680472800,-1664143200,-1650146400,-1633903200,-1617487200,-1601848800,-1586037600,-1570399200,-1552168800,-1538344800,-1522533600,-1507500000,-1490565600,-1473631200,-1460930400,-1442786400,-1428876000,-1410732000,-1396216800,-1379282400,-1364767200,-1348437600,-1333317600,-1315778400,-1301263200,-1284328800,-1269813600,-1253484000,-1238364000,-1221429600,-1206914400,-1189980000,-1175464800,-1159135200,-1143410400,-1126476000,-1111960800,-1095631200,-1080511200,-1063576800,-1049061600,-1032127200,-1017612000,-1001282400,-986162400,-969228000,-950479200,-942012000,-904518000,-896050800,-875487600,-864601200,-844038000,-832546800,-812588400,-798073200,-781052400,-772066800,-764805600,-748476000,-733356000,-719445600,-717030000,-706748400,-699487200,-687996000,-668037600,-654732000,-636588000,-622072800,-605743200,-590623200,-574293600,-558568800,-542239200,-527119200,-512604000,-496274400,-481154400,-464220000,-449704800,-432165600,-417650400,-401320800,-386200800,-369266400,-354751200,-337816800,-323301600,-306972000,-291852000,-276732000,-257983200,-245282400,-226533600,-213228000,-195084000,-182383200,-163634400,-150933600,-132184800,-119484000,-100735200,-88034400,-68680800,-59004000,-37242000,57722400,69818400,89172000,101268000,120621600,132717600,152071200,164167200,183520800,196221600,214970400,227671200,246420000,259120800,278474400,290570400,309924000,322020000,341373600,354675600,372819600,386125200,404269200,417574800,435718800,449024400,467773200,481078800,499222800,512528400,530672400,543978000,562122000,575427600,593571600,606877200,625626000,638326800,657075600,670381200,688525200,701830800,719974800,733280400,751424400,764730000,782874000,796179600,814323600],typeOffsets=[0,0,0,3600,0,7200,3600,0],finalYear=1995,finalMillis=8.204544E11,finalZone=SimpleTimeZone: Europe/London],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2012,MONTH=10,WEEK_OF_YEAR=49,WEEK_OF_MONTH=5,DAY_OF_MONTH=29,DAY_OF_YEAR=334,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=8,HOUR_OF_DAY=20,MINUTE=41,SECOND=34,MILLISECOND=136,ZONE_OFFSET=0,DST_OFFSET=0,YEAR_WOY=2012,DOW_LOCAL=4,EXTENDED_YEAR=2012,JULIAN_DAY=2456261,MILLISECONDS_IN_DAY=74494136]
[01/12/12 20:41:34:152 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl processAbandonedCartsInStore beginTimestamp=2012-11-29 20:41:34.136
[01/12/12 20:41:34:152 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl processAbandonedCartsInStore endTime=com.ibm.icu.util.GregorianCalendar[time=1354308094136,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=com.ibm.icu.impl.OlsonTimeZone@111d0fe2[transitionCount=157,typeCount=4,transitionTimes=[-1691964000,-1680472800,-1664143200,-1650146400,-1633903200,-1617487200,-1601848800,-1586037600,-1570399200,-1552168800,-1538344800,-1522533600,-1507500000,-1490565600,-1473631200,-1460930400,-1442786400,-1428876000,-1410732000,-1396216800,-1379282400,-1364767200,-1348437600,-1333317600,-1315778400,-1301263200,-1284328800,-1269813600,-1253484000,-1238364000,-1221429600,-1206914400,-1189980000,-1175464800,-1159135200,-1143410400,-1126476000,-1111960800,-1095631200,-1080511200,-1063576800,-1049061600,-1032127200,-1017612000,-1001282400,-986162400,-969228000,-950479200,-942012000,-904518000,-896050800,-875487600,-864601200,-844038000,-832546800,-812588400,-798073200,-781052400,-772066800,-764805600,-748476000,-733356000,-719445600,-717030000,-706748400,-699487200,-687996000,-668037600,-654732000,-636588000,-622072800,-605743200,-590623200,-574293600,-558568800,-542239200,-527119200,-512604000,-496274400,-481154400,-464220000,-449704800,-432165600,-417650400,-401320800,-386200800,-369266400,-354751200,-337816800,-323301600,-306972000,-291852000,-276732000,-257983200,-245282400,-226533600,-213228000,-195084000,-182383200,-163634400,-150933600,-132184800,-119484000,-100735200,-88034400,-68680800,-59004000,-37242000,57722400,69818400,89172000,101268000,120621600,132717600,152071200,164167200,183520800,196221600,214970400,227671200,246420000,259120800,278474400,290570400,309924000,322020000,341373600,354675600,372819600,386125200,404269200,417574800,435718800,449024400,467773200,481078800,499222800,512528400,530672400,543978000,562122000,575427600,593571600,606877200,625626000,638326800,657075600,670381200,688525200,701830800,719974800,733280400,751424400,764730000,782874000,796179600,814323600],typeOffsets=[0,0,0,3600,0,7200,3600,0],finalYear=1995,finalMillis=8.204544E11,finalZone=SimpleTimeZone: Europe/London],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2012,MONTH=10,WEEK_OF_YEAR=49,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=335,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=8,HOUR_OF_DAY=20,MINUTE=41,SECOND=34,MILLISECOND=136,ZONE_OFFSET=0,DST_OFFSET=0,YEAR_WOY=2012,DOW_LOCAL=5,EXTENDED_YEAR=2012,JULIAN_DAY=2456262,MILLISECONDS_IN_DAY=74494136]
[01/12/12 20:41:34:152 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl processAbandonedCartsInStore endTimestamp=2012-11-30 20:41:34.136
[01/12/12 20:41:34:152 GMT] 0000006a elements      > com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl getOwnersOfAbandonedShoppingCarts ENTRY
[01/12/12 20:41:34:152 GMT] 0000006a elements      < com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl getOwnersOfAbandonedShoppingCarts RETURN
[01/12/12 20:41:34:152 GMT] 0000006a elements      > com.ibm.commerce.marketing.commands.elements.ConditionUtil getOwnersOfAbandonedShoppingCarts ENTRY
[01/12/12 20:41:34:152 GMT] 0000006a elements      > com.ibm.commerce.marketing.commands.elements.ConditionUtil getDateClause ENTRY
[01/12/12 20:41:34:152 GMT] 0000006a elements      < com.ibm.commerce.marketing.commands.elements.ConditionUtil getDateClause RETURN  AND ORDERS.LASTUPDATE >= ?  AND ORDERS.LASTUPDATE <= ?
[01/12/12 20:41:34:152 GMT] 0000006a elements      1 com.ibm.commerce.marketing.commands.elements.ConditionUtil getOwnersOfAbandonedShoppingCarts strQuery: SELECT ORDERS.MEMBER_ID, USERS.PERSONALIZATIONID FROM ORDERS ORDERS, USERS USERS WHERE USERS.USERS_ID = ORDERS.MEMBER_ID AND ORDERS.STATUS = 'P' AND ORDERS.TOTALPRODUCT > 0 and ORDERS.STOREENT_ID=10151 AND USERS.REGISTERTYPE = 'R'  AND ORDERS.LASTUPDATE >= ?  AND ORDERS.LASTUPDATE <= ?  WITH UR 
[01/12/12 20:41:34:152 GMT] 0000006a elements      < com.ibm.commerce.marketing.commands.elements.ConditionUtil getOwnersOfAbandonedShoppingCarts RETURN []
[01/12/12 20:41:34:152 GMT] 0000006a elements      > com.ibm.commerce.marketing.commands.elements.MarketingCampaignElementTaskCmdImpl forwardTriggersForProcessing(Map,Integer,Integer,Integer) ENTRY
[01/12/12 20:41:34:152 GMT] 0000006a elements      < com.ibm.commerce.marketing.commands.elements.MarketingCampaignElementTaskCmdImpl forwardTriggersForProcessing(Map,Integer,Integer,Integer) RETURN
[01/12/12 20:41:34:152 GMT] 0000006a elements      < com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl processAbandonedCartsInStore RETURN
[01/12/12 20:41:34:152 GMT] 0000006a elements      < com.ibm.commerce.marketing.commands.elements.CustomerAbandonsShoppingCartTriggerTaskCmdImpl forwardTriggersForProcessing RETURN
[01/12/12 20:41:34:152 GMT] 0000006a engine        < com.ibm.commerce.marketing.internal.runtime.engine.RemoteCall callElementValidation RETURN
[01/12/12 20:41:34:152 GMT] 0000006a commands      < com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl processRepeatTriggers RETURN
[01/12/12 20:41:34:152 GMT] 0000006a commands      < com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerSendTriggersActionCmdImpl performExecute RETURN
[01/12/12 20:41:34:152 GMT] 0000006a commands      > com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerCmdImpl buildAcknowledgeBusinessObjectDocument(Map, Map) ENTRY {com.ibm.commerce.marketing.facade.datatypes.impl.MarketingTriggerTypeImpl@757e757e (triggerEvent: SendTriggers)=[com.ibm.commerce.foundation.server.command.bod.ActionExpression@5a2b5a2b [noun part : com.ibm.commerce.marketing.facade.datatypes.impl.MarketingTriggerTypeImpl@757e757e (triggerEvent: SendTriggers)][action : SendTriggers][control parameters : [_mkt.triggerParameters=[],]]]} {}
[01/12/12 20:41:34:152 GMT] 0000006a commands      < com.ibm.commerce.marketing.facade.server.commands.ProcessMarketingTriggerCmdImpl buildAcknowledgeBusinessObjectDocument(Map, Map) RETURN com.ibm.commerce.marketing.facade.datatypes.impl.AcknowledgeMarketingTriggerTypeImpl@5e335e33 (languageCode: <unset>, releaseID: null, systemEnvironmentCode: <unset>, versionID: null)
[01/12/12 20:41:34:152 GMT] 0000006a client        < com.ibm.commerce.marketing.facade.client.AbstractMarketingFacadeClient processMarketingTrigger(ProcessMarketingTriggerType) RETURN com.ibm.commerce.marketing.facade.datatypes.impl.AcknowledgeMarketingTriggerTypeImpl@5e335e33 (languageCode: <unset>, releaseID: 9.0, systemEnvironmentCode: <unset>, versionID: null)
[01/12/12 20:41:34:152 GMT] 0000006a engine        < com.ibm.commerce.marketing.internal.runtime.engine.SendMarketingTriggersCmdImpl performExecute RETURN


To view all logs use following tracing

com.ibm.commerce.emarketing.commands.SendEmailActivityTaskCmdImpl=all: com.ibm.commerce.marketing.*=all: com.ibm.commerce.emarketing.*=all

Search formula in wc-component.xml


There is one config property in wc-component.xml to define any search formula. Out of the box formula drives product sequencing based on sequence defined in catgpenrel table (Through management center)


<!-- Formula for boosting by product/category sequence: -0.001 x rank -->
<_config:property name="BoostByRankInCatalogAndCategory" value="sum(mfvalue,soldquantity,actualqtysold,getSequenceByCatalogAndCategory(sequence,%s,%s))" />

Somehow there is not enough documentation around this. So here is outcome of my analysis

This above formula is nothing more than a SolrFunctionQuery..

http://wiki.apache.org/solr/FunctionQuery

You can use any solr funcation query in this formula.

Out of the box formula use a method getSequenceByCatalogAndCategory(sequence,%s,%s).

This method is a solr value source parser as defined in solrconfig.xml


<valueSourceParser name="getSequenceByCatalogAndCategory" class="com.ibm.commerce.foundation.internal.server.services.search.function.solr.SolrSearchGetSequenceByCatalogAndCategoryFunctionParser" />

You can create any custom value source parser and use with WCS to influence search results.

A small article on solr value source parser

http://www.supermind.org/blog/756/how-to-write-a-custom-solr-functionquery

Out of the box value source parser implementation is available in solr.war

in development environment you can find at following location

<WC INSTALL DIR>\components\foundation\wc.ear.ext\Solr.war\WEB-INF\classes\com\ibm\commerce\foundation\internal\server\services\search\function\solr



Boosting the overall relevancy of search results


Question

How can I boost the overall relevancy of my search results based on the search term(s) provided?

Answer

Out of the box, search results can be boosted by leveraging a search rule. However, this requires some specific matching criteria or keywords to configure. With the configuration described below, you can boost the overall relevancy of all search results.
To do this, locate the following file:

WC_eardir/Stores.war/WEB-INF/config/com.ibm.commerce.catalog-fep/get-data-config.xml


Find the section containing the IBM_findCatalogEntryByNameAndShortDescription search profile. This is the profile typically used by the default JSP's. If you have customized your JSP's to use a different expression builder, you will need to locate that entry instead.

In the expression-template section, add the following setting after the last _wcf parameter:

_wcf.search.internal.boostquery='name:$searchTerm$^1000'


This will apply boosting to the search profile for the searchTerm parameter, in this example, by a factor of 1000. Also note in this instance we are boosting the 'name' field, but other fields can be boosted as well, such as shortDescription, depending on the type of granularity you are trying to achieve. Restart the server after making the change.

Monday, March 4, 2013

Sonar on tomcat : Java.Lang.OutOfMemoryError: PermGen Spac


Tomcat production server sometime will hit the following java.lang.OutOfMemoryError: PermGen space error.
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
It’s usually happened when the Tomcat start and stop few times. It’s just funny, however you can fine tune it with some minor changes in the Tomcat configuration setting. By default, Tomcat assigned very little memory for the running process, you should increase the memory by make change in catalina.sh or catalina.bat file.

How to fix it?

1) Find where is Cataline.sh located. We need to make some changes in “catalina.sh” file. 
P.S Cataline.sh is located at \tomcat folder\bin\catalina.sh
2) Assign following line to JAVA_OPTS variable and add it into catalina.sh file.
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"
Partial example of the catalina.sh file
#   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
#                   (JSSE) installation, whose JAR files will be added to the
#                   system class path used to start Tomcat.
#
#   CATALINA_PID    (Optional) Path of the file which should contains the pid
#                   of catalina startup java process, when start (fork) is used
#
# $Id: catalina.sh 609438 2008-01-06 22:14:28Z markt $
# -----------------------------------------------------------------------------
 
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m 
-Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"
 
 
# OS specific support.  $var _must_ be set to either true or false.
cygwin=false
os400=false
darwin=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
Darwin*) darwin=true;;
esac
 
# resolve links - $0 may be a softlink
PRG="$0"
3) Done. Restart Tomcat.

Tuesday, February 26, 2013

Tracing queries and query parameters


You can use the WebSphere Application Server administrative console to trace queries serviced by the data service layer. You can also enable tracing for query parameters.
Procedure
  1. To trace the data service layer SELECT queries:
    1. Set the log level setting to 'all' for the com.ibm.commerce.foundation.server.services.dataaccess component in the WebSphere Application Server Administrative console
      Note: To trace the UPDATE and INSERT queries, set the log level setting to 'all' for all classes under component com.ibm.ws.sdo.mediator.jdbc(com.ibm.ws.sdo.mediator.jdbc*=all). You must restart the server after enabling this trace.
    2. The query name, SQL statement and the template file where the query is defined is displayed in the trace. An example of a trace entry is shown in the following sample:
      getGraph(DMSQueryData) Query name: 
      
      /CatalogEntry[CatalogEntryDisplayPageName[(UniqueId=)]]+IBM_CatalogEntryDisplayPage_Get
      [1/31/08 15:08:11:234 EST] 00000034 jdbc 1 com.ibm.commerce.foundation.internal.server.services.dataaccess.graphbuilderservice.jdbc.JDBCMediatorSupplyQuery 
      
      getGraph(DMSQueryData) SQL query: SELECT DISPENTREL.CATENTRY_ID, DISPENTREL.DISPENTREL_ID, DISPENTREL.LANGUAGE_ID, DISPENTREL.DEVICEFMT_ID, DISPENTREL.STOREENT_ID, DISPENTREL.PAGENAME, DISPENTREL.CATENTTYPE_ID, DISPENTREL.AUCTIONSTATE, DISPENTREL.MBRGRP_ID, DISPENTREL.DESCRIPTION, DISPENTREL.FIELD1, DISPENTREL.RANK, DISPENTREL.FIELD2, DISPENTREL.OID, DISPENTREL.OPTCOUNTER FROM DISPENTREL WHERE DISPENTREL.CATENTRY_ID in (?, ?, ?, ?, ?, ?) OR DISPENTREL.CATENTRY_ID =0 AND DISPENTREL.STOREENT_ID IN ( ? ) [ '10651' '10655' '10660' '10665' '10670' '10675' '10702' ]
      [1/31/08 15:08:11:234 EST] 00000034 jdbc 1 
      com.ibm.commerce.foundation.internal.server.services.dataaccess.graphbuilderservice.jdbc.JDBCMediatorSupplyQuery getGraph(DMSQueryData) Template file: D:\WCToolkitEE60\xml\config\com.ibm.commerce.catalog\wc-query-CatalogEntry-admin-get.tpl 
  2. To trace query parameters:
    1. Open the wc-attribute-masking.xml file:
    2. Find the following line:
      <wc:MaskedAttribute name="extendedDataValue" compareType="starts" />
    3. Replace it with the following line, which simply comments the line out by adding <!-- and --> blocks around it:
      <!-- <wc:MaskedAttribute name="extendedDataValue" compareType="starts" /> -->
    4. Open the wc-server.xml file:
    5. Remove the following line:
      <Parameter display="false" name="extendedDataValue"/>
    6. Restart the server.