Installing & Configuring Oracle Endeca in Windows with Discover application.

Finally I could successfully launch Endeca Discover application in my Windows 7 box. Though I have done this multiple times in Linux box somehow I didn’t get it properly in Windows box in the past. I thought I should share the details for other’s benefit.

Endeca installers and version used.

  1. Oracle Endeca MDEX-6.4.1 (mdex_6.4.1.715066_x86_64pc-win32.exe)
  2. Oracle Endeca Platform Services-6.1.3 (platformservices613654721_x86_64pc-win32.exe)
  3. Oracle Endeca Tools and Frameworks-3.1.2 (V37717-01.zip)
  4. Oracle Endeca Experience Manager-2.1.2 (xmgrworkbench_2.1.2.618087_x86_64pc-win32.exe)

Note: You must download the correct version of Tools and Framework. There are two versions of Tools and Frameworks available in edelivery.oracle.com. I have used the version for Endeca Experience Manager. (V37717-01.zip)

Endeca Commerce with Experience Manager – Installation and Configuration steps.

First thing is that you should make sure that the user you used to log in to windows has got required administrator privileges like adding entry into registry and changing system environment variables.

  1. Install Oracle Endeca MDEX. (Normal windows wizard based installation)
  2. Set the ENDECA_MDEX_ROOT environment variable. (ENDECA_MDEX_ROOT=C:\Endeca\MDEX\6.4.1)
  3. Install the Oracle Endeca Platform Service and restart windows. (Normal windows wizard based installation)
  4. Unzip the V37717-01.zip file (Tools And Framework) into <<ENDECA_HOME>> (C:\Endeca)
  5. Open up a command prompt as administrator. (check this post to to see how to open a command prompt as administrator)
  6. Move to C:\Endeca\ToolsAndFrameworks\3.1.2\server\bin
  7. Execute install_service.bat (This should add “EndecaToolsService” into Windows Services)
  8. Open the windows services and start “EndecaToolsService” (to open the services type services.msc in the run window and enter)
  9. Install the Oracle Endeca Experience Manager. (Normal windows wizard based installation)

Verification.

There shall be six environment variables added to Windows system environment property.

  1. ENDECA_CONF = C:\Endeca\PlatformServices\workspace
  2. ENDECA_MDEX_ROOT = C:\Endeca\MDEX\6.4.1
  3. ENDECA_REFERENCE_DIR = C:\Endeca\PlatformServices\reference
  4. ENDECA_ROOT = C:\Endeca\PlatformServices\6.1.3
  5. ENDECA_TOOLS_CONF = C:\Endeca\ToolsAndFrameworks\3.1.2\server\workspace
  6. ENDECA_TOOLS_ROOT = C:\Endeca\ToolsAndFrameworks\3.1.2

There shall be three service added into windows services and all should be running.

  1. EndecaHTTPservice
  2. Endeca JCD
  3. EndecaToolsService

Verify that the workbench is installed properly.
Launch http://localhost:8006 (Refer Endeca documentation for username and password)

Deploying Endeca Discover reference application.

  1. Open up the command prompt as administrator. (check this post to to see how to open a command prompt as administrator)
  2. Move to C:\Endeca\MDEX\6.4.1 and run mdex_setup.bat and make sure that the path are set correctly.
  3. Create C:\Endeca\Apps directory if its not available already. You may choose a different location if you wish.
  4. Move to C:\Endeca\ToolsAndFrameworks\3.1.2\deployment_template\bin
  5. execute “deploy.bat –app C:\Endeca\ToolsAndFrameworks\3.1.2\reference\discover-data\deploy.xml”
  6. You will be promoted with few question, I think you should be able select default almost always. (see below screen grab to see what I have given)
  7. Move to C:\Endeca\Apps\Discover\control
  8. Run initialize_services.bat (Remember you must use a command window which you opened as administrator)
  9. Run load_baseline_test_data.bat
  10. Run baseline_update.bat
  11. Run promote_content.bat
  12. Launch a browser and check http://localhost:8006/discover

Screen shot of Oracle Endeca MDEX configuration.

endeca mdex setup

Oracle Endeca Discover application configuration steps.

Screen shot of Oracle Endeca discover electronics workbench setup.

Endeca Discover Application

Oracle Endeca discover electronics experience manager screen shot.

Endeca Experience Manager

Oracle Endeca discover electronics application screen shot.

Endeca Discover Application

17 thoughts on “Installing & Configuring Oracle Endeca in Windows with Discover application.

  1. bala said:

    while running this cmd am getting error

    D:\Endeca\ToolsAndFrameworks\3.1.2\deployment_template\bin>deploy.bat -app D:\En
    deca\ToolsAndFrameworks\3.1.2\reference\discover-data\deploy.xml
    10/13/2013 14:38:58 [deploy.pl] WARN: Unknown command line argument ûapp.

    • Sanju Thomasourownjava said:

      Did you miss one “-”? it should be deploy.bat –app deploy.xml

  2. bala said:

    yeah i have missed one – thanks..

    now i am getting following error

    D:\Endeca\Apps\discover\control>initialize_services.bat
    [10.14.13 04:06:16] SEVERE: Caught exception while querying for defined applicat
    ion list.
    Occurred while executing line 18 of valid BeanShell script:
    [[

    15|
    16| // If the application is already defined
    17| // log an error and exit with code 1
    18| if (app.isDefined()) {
    19| log.severe("An application already exists with the name, \"" + provOb
    j.getAppName() + "\". " +
    20| "Please use the '--force' option if you want to replace all
    existing configuration.");
    21| System.exit(1);

    ]]

    [10.14.13 04:06:16] SEVERE: Caught an exception while invoking method ‘run’ on o
    bject ‘AssertNotDefined’. Releasing locks.

    Caused by java.lang.reflect.InvocationTargetException
    sun.reflect.NativeMethodAccessorImpl invoke0 – null
    Caused by com.endeca.soleng.eac.toolkit.exception.AppControlException
    com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript – Error executing
    valid BeanShell script.
    Caused by com.endeca.soleng.eac.toolkit.exception.EacCommunicationException
    com.endeca.soleng.eac.toolkit.application.Application isDefined – Caught excepti
    on while querying for defined application list.
    Caused by org.apache.axis.AxisFault
    org.apache.axis.AxisFault makeFault – ; nested exception is:
    java.net.SocketException: Permission denied: connect
    Caused by java.net.SocketException
    java.net.PlainSocketImpl socketConnect – Permission denied: connect

    D:\Endeca\Apps\discover\control>

  3. Sanju Thomasourownjava said:

    I think this is happening because you are using a command prompt in non admin mode. Now you should remove the application and recreate it. Start all over again in a command prompt you opened up in admin mode.

  4. Tuhin Chandra said:

    Everything installed properly for me. But at the when I’m hitting the url http://localhost:8006/discover/
    I’m getting Page Not Found error. What is the solution? Please post ASAP.

    • Sanju Thomasourownjava said:

      hi Tuhin, I assume that you are using windows. please check all the services mentioned in the post are started. (1.EndecaHTTPservice 2. Endeca 3.JCDEndecaToolsService)

      • Tuhin Chandra said:

        All my services are running. But when trying to run Baseline Update I’m getting following error:
        C:\Endeca\Apps\Discover\control>baseline_update.bat
        [11.22.13 00:46:34] INFO: Checking definition from AppConfig.xml against existin
        g EAC provisioning.
        [11.22.13 00:46:35] INFO: Definition has not changed.
        [11.22.13 00:46:35] INFO: Starting baseline update script.
        [11.22.13 00:46:35] INFO: Acquired lock ‘update_lock’.
        [11.22.13 00:46:35] INFO: [ITLHost] Starting shell utility ‘move_-_to_processing
        ‘.
        [11.22.13 00:46:37] INFO: [ITLHost] Starting copy utility ‘fetch_config_to_input
        _for_forge_Forge’.
        [11.22.13 00:46:38] INFO: [ITLHost] Starting backup utility ‘backup_log_dir_for_
        component_Forge’.
        [11.22.13 00:46:39] INFO: [ITLHost] Starting component ‘Forge’.
        [11.22.13 00:46:41] SEVERE: Batch component ‘Forge’ failed. Refer to component
        logs in C:\Endeca\Apps\Discover\config\script\..\..\.\logs\forges\Forge on host
        ITLHost.
        Occurred while executing line 23 of valid BeanShell script:
        [[

        20|
        21| // archive logs and run ITL
        22| Forge.archiveLogDir();
        23| Forge.run();
        24| Dgidx.archiveLogDir();
        25| Dgidx.run();
        26|

        ]]

        [11.22.13 00:46:41] SEVERE: Caught an exception while invoking method ‘run’ on o
        bject ‘BaselineUpdate’. Releasing locks.

        Caused by java.lang.reflect.InvocationTargetException
        sun.reflect.NativeMethodAccessorImpl invoke0 – null
        Caused by com.endeca.soleng.eac.toolkit.exception.AppControlException
        com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript – Error executing
        valid BeanShell script.
        Caused by com.endeca.soleng.eac.toolkit.exception.EacComponentControlException
        com.endeca.soleng.eac.toolkit.component.BatchComponent run – Batch component ‘F
        orge’ failed. Refer to component logs in C:\Endeca\Apps\Discover\config\script\.
        .\..\.\logs\forges\Forge on host ITLHost.

        [11.22.13 00:46:41] INFO: Released lock ‘update_lock’.

        Please help me with the solutions. I checked the log but it was empty(forge.start)

        • Sanju Thomasourownjava said:

          This normally happen when you open up windows command window in non admin mode. remove the app and recreate it in admin mode command prompt.

  5. Avinash J said:

    I did all these steps, still when I open http://localhost:8006/discover-authoring/, I get unknown error page

    I went to admin console, and found my MDEX was not started. I tried starting it, but I’m getting below error

    An error occurred while trying to start the component: ENDECA_MDEX_ROOT is required for this component,but eac.properties does not contain a valid ENDECA_MDEX_ROOT definition.: ENDECA_MDEX_ROOT is required for this component,but eac.properties does not contain a valid ENDECA_MDEX_ROOT definition.

    Please let me know how to fix this.

    • Sanju Thomasourownjava said:

      Run ENDECA_HOME\MDEX\6.4.1\bin\export-config.bat and ENDECA_HOME\MDEX\6.4.1\mdex_setup.bat and see if all the env variables are set.

      • Avinash J said:

        Yes they are set properly. As you had said above, I have 6 endeca variables set

        • Sanju Thomasourownjava said:

          hi Avinash, Open ENDECA_HOME\PlatformServices\workspace\conf\eac.properties and see if you have com.endeca.mdexRoot=C:\\Endeca\\MDEX\\6.4.1 in it. Ideally speaking all these properties would be set correctly as part of application initialization process. If these properties are not added correctly please remove your Endeca application and recreate it.

  6. S.Poornavel said:

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    while i’m start initialize_services.bat its shows an Error

    i checked log file : \..\Endeca\PlatformServices\workspace\logs\shell

    > “ERROR: Could not open acquire_lock.status.”

    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    [03.07.14 17:35:01] INFO: Uploading config files to Workbench.
    [03.07.14 17:35:01] INFO: [ITLHost] Starting shell utility 'emgr_update_update_mgr_settings'.
    [03.07.14 17:35:03] WARNING: An error occurred while attempting to set instance configuration in Workbench. This action requires all locks in Workbench to be available. If the utility log includes errors associated with resource locks, ensure that users are out of Workbench and break locks in Workbench before re-running this action.
    [03.07.14 17:35:03] SEVERE: Utility 'emgr_update_update_mgr_settings' failed. Refer to utility logs in [ENDECA_CONF]/logs/shell on host ITLHost.
    Occurred while executing line 4 of valid BeanShell script:
    [[

    1|
    2|
    3| IFCR.provisionSite();
    4| WorkbenchManager.updateWsConfig();
    5|
    6|
    ]]

    [03.07.14 17:35:03] SEVERE: Caught an exception while invoking method 'run' on object 'InitialSetup'. Releasing locks.

    Caused by java.lang.reflect.InvocationTargetException
    sun.reflect.NativeMethodAccessorImpl invoke0 – null
    Caused by com.endeca.soleng.eac.toolkit.exception.AppControlException
    com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript – Error executing valid BeanShell script.
    Caused by com.endeca.soleng.eac.toolkit.exception.EacComponentControlException
    com.endeca.soleng.eac.toolkit.utility.Utility run – Utility 'emgr_update_update_mgr_settings' failed. Refer to utility logs in [ENDECA_CONF]/logs/shell on host ITLHost.

    =====================================================================================

    And also while i'm start baseline_update.bat its shows an Error

    [03.07.14 17:36:41] INFO: Uploading post-Forge Dimensions to Workbench.
    [03.07.14 17:36:41] INFO: [ITLHost] Starting shell utility 'emgr_update_set_post_forge_dims'.
    [03.07.14 17:36:42] SEVERE: Utility 'emgr_update_set_post_forge_dims' failed. Refer to utility logs in [ENDECA_CONF]/logs/shell on host ITLHost.
    Occurred while executing line 32 of valid BeanShell script:
    [[

    29|
    30| WorkbenchManager.cleanDirs();
    31| Forge.getPostForgeDimensions();
    32| WorkbenchManager.updateWsDimensions();
    33|
    34| // archive state files, index
    35| Forge.archiveState();

    ]]

    [03.07.14 17:36:42] SEVERE: Caught an exception while invoking method 'run' on object 'BaselineUpdate'. Releasing locks.

    Caused by java.lang.reflect.InvocationTargetException
    sun.reflect.NativeMethodAccessorImpl invoke0 – null
    Caused by com.endeca.soleng.eac.toolkit.exception.AppControlException
    com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript – Error executing valid BeanShell script.
    Caused by com.endeca.soleng.eac.toolkit.exception.EacComponentControlException
    com.endeca.soleng.eac.toolkit.utility.Utility run – Utility 'emgr_update_set_post_forge_dims' failed. Refer to utility logs in [ENDECA_CONF]/logs/shell on host ITLHost.

    [03.07.14 17:36:42] INFO: Released lock 'update_lock'.

    ==========================================================================

    please reply ASAP……

  7. Karan said:

    Hello,

    I am successfully able to open the localhost:8006/discover page after following the deployment process.
    However, when I deploy a new application ‘XYZ’ (using Discover as the reference application) by following the same deployment process and try to open localhost:8006/XYZ page I get a PAGE NOT FOUND error although I am able to open the workbench port and the MDEX engine port successfully.

    Can you please let me know if there are any additional steps to be followed while deploying the application apart from promote_content so that the application is visible on the UI.

    Thanks !

  8. Hassaan said:

    Actually I don’t have the JCD windows service , which app I did miss?
    also How to run MDEX engine if it is not running?

  9. pavan said:

    Importing templates…
    Removing existing cartridge templates for CRS
    ERROR: Could not open acquire_lock.status.
    Failed to import templates.

    Struggling from 5 days..
    If any one knows why iam getting this error please let me know …