Monday, December 19, 2016

Endeca 11.x : Unable to retrieve site definition for site id

Behavior :-  Following Exception/Error comes during accessing the Endeca pages SEVERE: Unable to retrieve site definition for site id: ... thumbnail 1 summary

  • Behavior :- Following Exception/Error comes during accessing the Endeca pages

    SEVERE: Unable to retrieve site definition for site id: /storeSiteUS
    com.endeca.store.exceptions.PathNotFoundException: No node found at path: [pages].
            at com.endeca.store.configuration.InternalNode.getNode(InternalNode.java:153)
            at com.endeca.store.configuration.InternalNode.getNodeInfo(InternalNode.java:221)
            at com.endeca.store.configuration.InternalNode.getNode(InternalNode.java:150)
            at com.endeca.store.configuration.InternalNode.getNode(InternalNode.java:61)
            at com.endeca.infront.site.SiteManager.getSite(SiteManager.java:147)
            at atg.endeca.assembler.multisite.SiteStateParserImpl.parseSiteState(SiteStateParserImpl.java:94)
            at com.endeca.infront.site.SiteStateBuilder.createSiteState(SiteStateBuilder.java:110)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at atg.nucleus.factory.instance.MethodInstanceFactory.createInstance(MethodInstanceFactory.java:303)
            at atg.nucleus.PropertyConfiguration.loadFromInstanceFactory(PropertyConfiguration.java:697)
            at atg.nucleus.PropertyConfiguration.createNewInstance(PropertyConfiguration.java:780)
            at atg.nucleus.PropertyConfiguration.createNewInstance(PropertyConfiguration.java:741)
            at atg.nucleus.NucleusNameResolver.createNewInstance(NucleusNameResolver.java:1619)
            at atg.nucleus.MultiRootNameResolver.createFromName(MultiRootNameResolver.java:833)
            at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:455)
            at atg.nucleus.ConfigurationRef.getValue(ConfigurationRef.java:119)
            at atg.nucleus.SimpleComponentState.setBeanProperty(SimpleComponentState.java:406)
            at atg.nucleus.SimpleConfigurationState.saveToBean(SimpleConfigurationState.java:240)
            at atg.nucleus.SimpleConfigurationState.configureBean(SimpleConfigurationState.java:263)
            at atg.nucleus.BeanConfigurator.configureBean(BeanConfigurator.java:297)
            at atg.nucleus.PropertyConfiguration.configureService(PropertyConfiguration.java:1055)
            at atg.nucleus.MultiRootConfiguratorImpl.configureService(MultiRootConfiguratorImpl.java:103)
            at atg.nucleus.MultiRootNameResolver.configureService(MultiRootNameResolver.java:1116)
            at atg.nucleus.MultiRootNameResolver.configureAndStartService(MultiRootNameResolver.java:1195)
            at atg.nucleus.MultiRootNameResolver.bindAndConfigureService(MultiRootNameResolver.java:959)
            at atg.nucleus.MultiRootNameResolver.createFromName(MultiRootNameResolver.java:849)
            at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:455)
            at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:1064)
            at atg.nucleus.factory.instance.MethodInstanceFactory.getMethodToInvoke(MethodInstanceFactory.java:218)
            at atg.nucleus.factory.instance.MethodInstanceFactory.createInstance(MethodInstanceFactory.java:290)
            at atg.nucleus.PropertyConfiguration.loadFromInstanceFactory(PropertyConfiguration.java:697)
            at atg.nucleus.PropertyConfiguration.createNewInstance(PropertyConfiguration.java:780)
            at atg.nucleus.PropertyConfiguration.createNewInstance(PropertyConfiguration.java:741)
            at atg.nucleus.NucleusNameResolver.createNewInstance(NucleusNameResolver.java:1619)
            at atg.nucleus.MultiRootNameResolver.createFromName(MultiRootNameResolver.java:833)
            at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:455)
            at atg.nucleus.ConfigurationRef.getValue(ConfigurationRef.java:119)

            at atg.nucleus.PropertyConfiguration.loadFromInstanceFactory(PropertyConfiguration.java:697)
            at atg.nucleus.PropertyConfiguration.createNewInstance(PropertyConfiguration.java:780)
            at atg.nucleus.PropertyConfiguration.createNewInstance(PropertyConfiguration.java:741)
            at atg.nucleus.NucleusNameResolver.createNewInstance(NucleusNameResolver.java:1619)
            at atg.nucleus.MultiRootNameResolver.createFromName(MultiRootNameResolver.java:833)
            at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:455)
            at atg.nucleus.ConfigurationRef.getValue(ConfigurationRef.java:119)
            at atg.nucleus.SimpleComponentState.setBeanProperty(SimpleComponentState.java:406)
            at atg.nucleus.SimpleConfigurationState.saveToBean(SimpleConfigurationState.java:240)
            at atg.nucleus.SimpleConfigurationState.configureBean(SimpleConfigurationState.java:263)
            at atg.nucleus.BeanConfigurator.configureBean(BeanConfigurator.java:297)
            at atg.nucleus.PropertyConfiguration.configureService(PropertyConfiguration.java:1055)
            at atg.nucleus.MultiRootConfiguratorImpl.configureService(MultiRootConfiguratorImpl.java:103)
            at atg.nucleus.MultiRootNameResolver.configureService(MultiRootNameResolver.java:1116)
            at atg.nucleus.MultiRootNameResolver.configureAndStartService(MultiRootNameResolver.java:1195)
            at atg.nucleus.MultiRootNameResolver.bindAndConfigureService(MultiRootNameResolver.java:959)
            at atg.nucleus.MultiRootNameResolver.createFromName(MultiRootNameResolver.java:849)
            at atg.nucleus.MultiRootNameResolver.resolveName(MultiRootNameResolver.java:455)
            at atg.nucleus.ResolveNameHelperImpl.resolveName(ResolveNameHelperImpl.java:274)
            at atg.servlet.DynamoHttpServletRequest.resolveNameSingleNucleus(DynamoHttpServletRequest.java:3898)
            at atg.servlet.DynamoHttpServletRequest.resolveName(DynamoHttpServletRequest.java:3857)
            at atg.servlet.DynamoHttpServletRequest.resolveName(DynamoHttpServletRequest.java:3983)
            at atg.endeca.assembler.NucleusAssembler.resolveHandler(NucleusAssembler.java:182)


    Solution :-  Follow the steps as mentioned in my one of the previous post to solve above error.

    Unable to retrieve site definition for site id

    From Author
    Was this post resolve the solution you are looking for? are you looking for some other issues?Provide your comments

    Sunday, December 18, 2016

    How to import specific set of rules/content to Endeca Experience manager?

    Oracle Endeca 11.1 onward support to import specific content item to Endeca Experience manager via calling ECR repository. This features e... thumbnail 1 summary

  • Oracle Endeca 11.1 onward support to import specific content item to Endeca Experience manager via calling ECR repository. This features enable to import content generated by CMS solutions to XM using scheduled job after extending/customize script to support XM supported xml/json format.

    This can be achieved using runcommand utility script to import specific/single content item.

    Here is the command

    <<Endeca_App_Path>>/Discover/control/runcommand.sh IFCR importContent "content/Shared/banner/Hero Banner" "<<Content_full_Path>>/content/Shared/banner/Hero Banner"

    Above command will import Hero Banner content to XM. There are other utilty available as well to import and export content.
    From Author
    Was this post resolve the solution you are looking for? are you looking for some other issues?Provide your comments

    Wednesday, December 14, 2016

    How to add user segment from ATG to Endeca witout creating segment in ATG?

    ATG passes all the user segments to endeca query based on profile to tigger different rule or content. There are some situations where som... thumbnail 1 summary

  • ATG passes all the user segments to endeca query based on profile to tigger different rule or content. There are some situations where some user segment does not exist in profile but required for endeca query to trigger different types of content.

    Example :- Show different banner if user is coming from affiliate A and show different banner if user is coming from affiliate B.

    This can be achived using below code to add user sgament based on different business logic

    public class ExtendNavigationStateProcessor implements NavigationStateProcessor {
      private UserState mUserState = null;
      @Override
    public void process(NavigationState pNavigationState) {

     if(Condition-1){
    getUserState().addUserSegments("Affliate-A");
    }
    else{
    getUserState().addUserSegments("Affliate-B");
    }
    }

    public UserState getUserState() {
    return mUserState;
    }

    public void setUserState(UserState pUserState) {
    mUserState = pUserState;
    }

    }


    From Author
    Was this post resolve the solution you are looking for? are you looking for some other issues?Provide your comments

    Text Widget