Sunday, May 1, 2016

Oracle Endeca 11.x : How to Migrate Endeca Application between environment?

As part of the development/debugging phase, Endeca Application needs to be migrated from QA to UAT or Production to Staging. Following it... thumbnail 1 summary

  • As part of the development/debugging phase, Endeca Application needs to be migrated from QA to UAT or Production to Staging.

    Following items need to be migrated between environments. Find out the description below for each item.

    • Record Store Record store contains all indexable records(Product catalog, content, record store etc.) and dimension information.
    • Workbench application Business creates content using Endeca Experience manager and gets stored in ECR(Endeca Configuration Repository). This application contains XM content, cartridges and other configuration like thesaurus etc.
    • Index-config - Index-config contains all properties, dimensions, precedence rules and dictionary related configuration in JSON format.
      • Dimension Value Id Manager - Dimension Value Id manager contains Endeca auto generated dimension values. Endeca N-value can be different if this does not copy to the environment.
      • Endeca Pipeline -  This Folder contains Endeca Application indexing configuration XML including properties, dimensions, search etc.
      • Editors Config This Folder contains configuration file to make a call to MDEX to show appropriate data in Experience manager cartridges.
      productdataservice.json Snapshot
      productdataservice.json

      As part of the migration process, the application needs to be exported first and the same set of files can be used to import into another environment.

      Export Endeca Application steps 

      1. Record Store - Click here to get more details. This Step can be optional if baseline triggers using /atg/commerce/endeca/index/ProductCatalogSimpleIndexingAdmin Component

      2. Dimension Value Id Manager - Navigate To CAS Bin folder and run following commands to export
      CAS_Installation_Path/CAS/11.1.0/bin->./cas-cmd.[bat|sh] exportDimensionValueIdMappings -m <<dimension-value-id-manager name>> -f /home/atg/dimvalid.csv

      3. Endeca Pipeline - Copy Endeca_App/config/mdex folder

      4. Editors Config - Copy Endeca_App/config/ifcr/configuration/tools/xmgr folder

      5. Workbench Application - Navigate To Endeca Application control folder and run following commands to export content
             <<Endeca_App>>/control->./runcommand.[bat|sh] IFCR exportApplication </path to generate file>
      This would generate the zip/exploded folder.


      6. Index-Config - Navigate To Endeca Application control folder and run following commands to export index-config.json
           <<Endeca_APP_PATH>>/control->./index_config_cmd.[bat|sh] get-config -o all-File_Path/index-config.json



      Import Endeca Application steps - Steps should be in the following order.

      1. Record Store Click here to get more details. This Step can be optional if baseline triggers using /atg/commerce/endeca/index/ProductCatalogSimpleIndexingAdmin Component.

      2. Dimension Value Id Manager - Run below command to import dimension values
      <CAS_Installation_Path>/CAS/11.1.0/bin->./cas-cmd.[bat|sh] importDimensionValueIdMappings -m <<dimension-value-id-manager name>> -f /home/atg/dimvalid.csv

      3. Endeca Pipeline - Use the backup of <<Endeca_App>>/config/mdex folder and move pipeline.

      4. Editors ConfigCopy editors_config from step 5 and change host and post information based on environment under each json file and run the following command
               <<Endeca_App>>/control -> set_editors_config.[bat|sh]

      5. Index-Config - Run below command to import index-config.json
      <<Endeca_APP_PATH>>/control->./index_config_cmd.[bat|sh] set-config -o all -f File_path/index-config.json


      6. Endeca Baseline Update-  Run below Command

            <<Endeca_App>>/control -> ./baseline_update.[bat|sh]

      7. Workbench Content - Run below command to import workbench content
              <<Endeca_APP_PATH>>/control->./runcommand.sh IFCR importApplication <<export_zip_file/folder_path>>

      8. Promote Content - Run the following command to promote content from Authoring to Live. Promote content can be run the Workbench as well.
               <<Endeca_App>>/control -> ./promote_content.[bat|sh]

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

        Oracle Endeca 10.x : EndecaHow to prevent 404 error after baseline update due to workbench password change?

        Behaviour :- Web application starts showing 404-page error after baseline update once admin password changed from change password window ... thumbnail 1 summary
      • Behaviour :-

        Web application starts showing 404-page error after baseline update once admin password changed from change password window using Endeca workbench and its not updated WorkbenchConfig.xml.

        Workbench XML IFCR password change
        WorkbenchConfig.xml IFCR screenshot
        The following error can be seen in Endeca application logs

        INFO: [LiveMDEXHostA] Starting backup utility 'backup_log_dir_for_component_DgraphA1'.
        Apr 29, 2015 9:53:25 PM com.endeca.soleng.eac.toolkit.component.Component start
        INFO: [LiveMDEXHostA] Starting component 'DgraphA1'.
        Apr 29, 2015 9:53:33 PM sun.reflect.NativeMethodAccessorImpl invoke0
        INFO: Publishing Workbench 'live' configuration to MDEX 'DgraphA1'
        Apr 29, 2015 9:53:33 PM com.endeca.soleng.eac.toolkit.component.IFCRComponent pushLiveContentToDgraphById
        INFO: Pushing live content to dgraph: DgraphA1
        Apr 29, 2015 9:53:33 PM com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript
        SEVERE: Unauthorized (401): Unauthorized access to workbench. Please check your credentials.
        Occurred while executing line 5 of valid BeanShell script: 
        [[

        2|       

        3|        compId = invokingObject.getElementId();
        4|        log.info("Publishing Workbench 'live' configuration to MDEX '" + compId + "'");
        5|        IFCR.pushLiveContentToDgraphById(compId);
        6|      
        7|    
        ]]
        Apr 29, 2015 9:53:33 PM com.endeca.soleng.eac.toolkit.component.ServerComponent runPostStartupScript
        WARNING: Caught an exception while executing post-startup script for server component 'DgraphA1'.
        com.endeca.soleng.eac.toolkit.exception.AppControlException: Error executing valid BeanShell script.
        at com.endeca.soleng.eac.toolkit.script.Script.runBeanShellScript(Script.java:179)
        at com.endeca.soleng.eac.toolkit.script.Script.run(Script.java:127)
        at com.endeca.soleng.eac.toolkit.component.ServerComponent.runPostStartupScript(ServerComponent.java:323)
        at com.endeca.soleng.eac.toolkit.component.ServerComponent.startInParallel(ServerComponent.java:132)
        at com.endeca.soleng.eac.toolkit.component.cluster.DgraphCluster.applyIndex(DgraphCluster.java:612)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.endeca.soleng.eac.toolkit.Controller.invokeRequestedMethod(Controller.java:917)
        at com.endeca.soleng.eac.toolkit.Controller.execute(Controller.java:255)
        at com.endeca.soleng.eac.toolkit.Controller.main(Controller.java:134)
        Caused by: com.endeca.soleng.eac.toolkit.utility.IFCRUtility$HttpStatusException: Unauthorized (401): Unauthorized access to workbench. Please check your credentials.
        at com.endeca.soleng.eac.toolkit.utility.IFCRUtility.execute(IFCRUtility.java:785)
        at com.endeca.soleng.eac.toolkit.utility.IFCRUtility.httpPostDoNotConsume(IFCRUtility.java:731)
        at com.endeca.soleng.eac.toolkit.utility.IFCRUtility.httpPost(IFCRUtility.java:703)
        at com.endeca.soleng.eac.toolkit.utility.IFCRUtility.httpPost(IFCRUtility.java:654)
        at com.endeca.soleng.eac.toolkit.utility.IFCRUtility.mdexPublish(IFCRUtility.java:598)
        at com.endeca.soleng.eac.toolkit.component.IFCRComponent.pushLiveContentToDgraphById(IFCRComponent.java:442)
        at com.endeca.soleng.eac.toolkit.script.Script.runBeanShellScript(Script.java:165)
        ... 45 more
        Apr 29, 2015 9:53:33 PM com.endeca.soleng.eac.toolkit.utility.Utility start
        INFO: [LiveMDEXHostA] Starting shell utility 'rmdir_dgraph-input-old'.


        Solution:-

        This issue comes if Endeca workbench admin password is different than WorkbenchConfig.xml under Endeca_app/config/script file. As per logs, Index generated by Dgidx gets propagated to live Dgraph first than Endeca workbench contents gets published to live Dgraph. So if the password is different than publishing live content method gets failed and logs the error in the log but baseline process does not stop.

        The following code as per snapshot can be added to baseline process under Endeca_App/config/script/DataIngest.xml to prevent above issue even password is different.

        Endeca Baseline update process change to prevent 404 error



        Above code would first try to export site data and verify if workbench password and WorkbenchConfig.xml password both are same or not and export the XML.

        Note : Delete the generated XML after adding above code.


        From Author

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

        Text Widget