This discussion is archived
1 2 Previous Next 28 Replies Latest reply: Sep 25, 2012 11:55 AM by 964067 RSS

Experience Management 2.1.2 micro browser issue

SunilN Newbie
Currently Being Moderated
Hi All,

I am using Endeca Experience Management 2.1.2

I am struggling with multiple MdexService definition file. I need to deploy two different projects with different port and want to create two different MdexSevice definition file which will load the data for two different application in micro browser.

I have creates mdex2.xml file and add the dataServiceId="services/mdex2" dataSourceId="services/mdex2" in cartridges but data is not load into micro browser.

Can any one help me on this.

Thanks in Advance,
Sunil N.
  • 1. Re: Experience Management 2.1.2 micro browser issue
    SunilN Newbie
    Currently Being Moderated
    Hi Guys,

    Any update on this.
  • 2. Re: Experience Management 2.1.2 micro browser issue
    TimK Explorer
    Currently Being Moderated
    We have it working in our environment. I think you have most of the steps right but might be missing a couple of configurations. Here are the full steps we took in our environment:

    As you know, the Oracle Experience Manager Extension uses services - MdexService & MetaDataService, to connect to MDEX. These services uses hardcoded MDEX host and port specified in their WEB-INF\web.xml to lookup a specific MDEX instance. This makes OEME to be bound to single Endeca application. Unless MdexService & MetaDataService were re-written to consume multiple MDEX host and port, it’s harder to make OEME to point to multiple applications.

    However, following is the workaround.

    I'm going to explain this with an example. Let's assume that we need to point the same instance of Oracle Experience Manager Extension (OEME) to two different applications, say App1 (host1,15000) and App2 (host1,16000). You need to do three different things.

    Stop the Endeca Tools service.

    Creating services For each application:

    1. Make a complete copy of the folders MdexService & MetaDataService for each application. Ex: MdexServiceApp1, MetaDataServiceApp1, MdexServiceApp2 & MetaDataServiceApp2.

    2. Go to WEB-INF\web.xml for each of those folders and specify appropriate host and port. Ex: MdexServiceApp1\WEB-INF\web.xml will have host1,15000 and MdexServiceApp2 \WEB-INF\web.xml will have host1,16000

    3. Make a copy of MdexService.xml and MetaDataService.xml Ex: MdexServiceApp1.xml, MetaDataServiceApp1.xml, MdexServiceApp2.xml & MetaDataServiceApp2.xml.

    a. Edit these files to point to right context and right docbase. Ie:
    <Context path="/MdexServiceApp1"
    docBase="C:\Endeca\oexmx-2.1.2\MdexServiceApp1"
    debug="0"
    privileged="false">
    </Context>

    b. Copy these files to ..Workbench\workspace\conf\Standalone\localhost

    Start the Endeca Tools service.


    Creating service definition file for each application:

    1. Using (Cyberduck or your favorite webdav client) create (or make a copy from mdex.xml) separate service definition files. Ex: mdexApp1.xml and mdexApp2.xml. These files will be under /pbx/services/ if running under the workbench service or /services if running standalone.

    2. Edit each of these files to modify <serviceName>MdexService</serviceName>. Ex: <serviceName>MdexServiceApp1</serviceName>. Ie.
    <ServiceDefinition type="mdex">
    <title>Product Catalog | Spring 2010 | STAGING</title>
    <host>localhost</host>
    <port>8006</port>
    <serviceName>MdexServiceApp1</serviceName>

    3. Note that you can control what column to display on the micro-browser for each application by editing these files separately.


    You have done the necessary configurations, now you have to make Editors (within Template/Cartridges) to point to the right MDEX.


    Make editors to point to the right MDEX:

    To point to the different service definition, modify the dataServiceId attribute in the editor configuration in the template, as shown below.
    This should apply to any type of editor that uses the micro-browser (you may have to test it)

    <editors:LinkEditor propertyName="link" dataServiceId="services/mdexApp1"/>

    The dataServiceId attribute is the path to the service definition file, relative to the context root, omitting the .xml extension.

    Hope that helps.
    -Tim
  • 3. Re: Experience Management 2.1.2 micro browser issue
    SunilN Newbie
    Currently Being Moderated
    Hi Tim,

    Thanks a lot's. It's working now.

    -Sunil N
  • 4. Re: Experience Management 2.1.2 micro browser issue
    John P Newbie
    Currently Being Moderated
    I followed the OEME guide to setup 2.1.2 and wanted to make use of this micro browser.

    Trying to make my MDEXService and MdexDataService to communicate my MDEX engie. my boost and burry cartridge shows up but seems to be in disabled mode. Any help? No errors


    This is what I have currently

    E:\Endeca\pbx\oexmx-2.1.2\MdexService.xml

    <!-- Context configuration file for PBX (Page Builder Extensions) -->
    <!--
    <Context path="/MdexService"
    docBase="@@PBX_INSTALL_DIRECTORY@@/MdexService"
    debug="0"
    privileged="false">
    </Context>
    -->
    <Context path="/MdexService" docBase="E:\Endeca\pbx\oexmx-2.1.2/MdexService" debug="0" privileged="false" />


    E:\Endeca\pbx\oexmx-2.1.2\MetaDataService.xml

    <!-- Context configuration file for PBX (Page Builder Extensions) -->
    <Context path="/MetaDataService" docBase="E:\Endeca\pbx\oexmx-2.1.2/MetaDataService" debug="0" privileged="false" />


    I am resuming some research sincewe originally had PBX 0.6.
    when I try to use CyberDuck and read the Mdex.xml, I see the port number is wrong and host is localhost. I am having issues editing - not sure its our network or cyber duck or MDEX.XML is read only when tool service is running.

    I am trying all possibilities to get MDEX data pulled in boost and burry. Appreciate your help.

    Thanks
    John
  • 5. Re: Experience Management 2.1.2 micro browser issue
    SunilN Newbie
    Currently Being Moderated
    Hi John,

    You will need to configure the MDEXService and MdexDataService.

    please follow the following steps.
    1. Go to E:\Endeca\pbx\MDEXService\WEB-INF directory
    2. Edit the web.xml file.
    3. <init-param>
    <param-name>mdex-host</param-name>
    <param-value>localhost</param-value>
    </init-param>
    <init-param>
    <param-name>mdex-port</param-name>
    <param-value>your application port</param-value>
    </init-param>
    4. Go to E:\Endeca\pbx\MdexDataService \WEB-INF directory
    5. Edit the web.xml file.
    6. <init-param>
    <param-name>mdex-host</param-name>
    <param-value>localhost</param-value>
    </init-param>
    <init-param>
    <param-name>mdex-port</param-name>
    <param-value>your application port</param-value>
    </init-param>

    Hope it will help you.

    Thanks
    Sunil
  • 6. Re: Experience Management 2.1.2 micro browser issue
    John P Newbie
    Currently Being Moderated
    Thanks Sunil for recommending the setting (which I had originally had as 8006 - dgraph port). now I changed to my app port.

    But now it’s the same disabled mode, but I started getting "Load Meta Data Error", this is where I found this thread. Can you review this bit of information please? Thanks in advance.

    Load Meta Data Error on Oracle Endeca Experience Manager Extensions/pbx

    Here I have shown what exactly I have in my 3 xml files. (Show I leave /pbx and /mdexservice both in the file? or replace). If there is any detailed document regarding MDEXService it would help too.

    I am very close to get my Micro browser load with data.. Literally can't wait for this feature. Any help from any one is highly appreciated.
  • 7. Re: Experience Management 2.1.2 micro browser issue
    SunilN Newbie
    Currently Being Moderated
    Hi John

    I m sharing the steps which i have done.

    1.     Stop Endeca Tool Service.
    2.     Extracted the Oracle Extension Manager.
    3.     Copy the pbx.xml,MdexService.xml,MetaDataService.xml file into /Endeca/Workbench/workspace/conf/Standalone/localhost.
    4.     Edit the pbx.xml file.
         Ex: <Context path="/pbx" docBase="C:\Endeca\PBX\oexmx-2.1.2-content.war" debug="0" privileged="false">
              </Context>
    5.     Edit the MdexService.xml file.
    Ex:<Context path="/MdexService" docBase="C:\Endeca\PBX\MdexService" debug="0" privileged="false"> </Context>

    6.     Edit the MetaDataService.xml
    <Context path="/MetaDataService" docBase="C:\Endeca\PBX\MetaDataService" debug="0" privileged="false">
              </Context>
    7.     Now go to the C:\Endeca\PBX\MdexService\WEB-INF and edit web.xml file
              <init-param>
                   <param-name>mdex-host</param-name>
                   <param-value>localhost</param-value>
              </init-param>
              <init-param>
                   <param-name>mdex-port</param-name>
                   <param-value>your application port</param-value>
              </init-param>
    8.     Go to E:\Endeca\pbx\MdexDataService \WEB-INF directory and edit the web.xml file.
              <init-param>
                   <param-name>mdex-host</param-name>
                   <param-value>localhost</param-value>
              </init-param>
              <init-param>
                   <param-name>mdex-port</param-name>
                   <param-value>your application port</param-value>
              </init-param>     
    9.     Start Endeca Tool Service.
    One more think i noticed in your configuration on this thread Load Meta Data Error on Oracle Endeca Experience Manager Extensions/pbx
    Some editor in not working with IP address they need either domain name or local host.
    So please change the host-name either domain name or localhost in webstudio.properties file
              com.endeca.webstudio.hostname=localhost
              com.endeca.webstudio.port=8006
              com.endeca.webstudio.eac.hostname=localhost
              com.endeca.webstudio.pagebuilder.editors.config=http://localhost:8006/pbx/etc/pbconfig.xml

    Changes on Appconfig.xml file:

    <app appName="Wine" eacHost="localhost" eacPort="8888" dataPrefix="WineMobile" sslEnabled="false" lockManager="LockManager">
         <host id="ITLHost" hostName="localhost" port="8888" />
         <host id="MDEXHost" hostName="localhost" port="8888" />
         <host id="webstudio" hostName="localhost" port="8888" >
         <property name="webStudioHost" value="localhost" />

    I hope now you will get the success.

    Thanks,
    Sunil
  • 8. Re: Experience Management 2.1.2 micro browser issue
    John P Newbie
    Currently Being Moderated
    Thanks Sunil.

    Your step by step explanation helped me to come far ways. I missed the mdexservice and mdexdataserice xmls in the localhost before.

    I have 2 questions now. (Highly appreciate your time with my questions, this thread will be of help to many developers in the future.).

    I see my boost and burry editor now with no data - as I am not using wine but custom application on differnt port 30008 instead of 8006

    How will I change the port to a differnt (I was using Tim.K's idea and using Cyberduck, I was able to get the mdex.xml download and make change. Upload failed! with 403 forbiden error.
    (I think the Endeca Tools service is holding to the war file and not taking any change (or holding read only)). At this point I am not looking to make this to point to multiple application. even single should be good.
    Curious how did you get past this if you are not using default 8006 port?.

    Here is what my MDEX xml shows up.
    http://localhost:8006/pbx/services/mdex.xml

    <ServiceDefinition type="mdex">
    <title>Product Catalog | Spring 2010 | STAGING</title>
    <host>localhost</host>
    <port>8006</port>
    <serviceName>MdexService</serviceName>
    <dimensionCountShowLimit>100</dimensionCountShowLimit>


    my Cross Domain XML is shown as follows

    E:\Endeca\MDEX\6.1.4\conf\dtd\xform

    <?xml version="1.0"?>
    <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
    <cross-domain-policy>
         <allow-access-from domain="*.xyz.com" />
         <allow-access-from domain="*.dev.xyz.com" />
         <allow-http-request-headers-from domain="*" headers="SOAPAction" />
    </cross-domain-policy>

    I can't tell you more, how helpful your information was to me. Thank you!

    ~John
  • 9. Re: Experience Management 2.1.2 micro browser issue
    John P Newbie
    Currently Being Moderated
    Pls ignore my (cyber duck upload issue, reported in the previous post) - I need to use admin/admin - or workbench credentials to edit the settings. (if I think about it - that was dumb not to guess it) - Was constantly trying my domain and local windows credentials and did not work. Thanks to this thread: Re: Installation issue - pbconfig.xml

    I am inching foward.. Keep you posted.
  • 10. Re: Experience Management 2.1.2 micro browser issue
    John P Newbie
    Currently Being Moderated
    I was excited for a second, but can only get te field names changed. there is some issues with port number. I had to put it back to 8006 to avoid "Load Meta Data Error".
  • 11. Re: Experience Management 2.1.2 micro browser issue
    TimK Explorer
    Currently Being Moderated
    Hey John,
    I'm a little confused as to where things stand right now with your implementation. Probably due to my head cold more than anything.
    Did you say that you installed workbench on another port that's not the default 8006?
    You did finally edit mdex.xml to change the port/host for your MDEX server setting - right?
    For cross domain xml file - we found it best to add it to the war file. It didn't work adding it to the other documented locations.
    -Tim
  • 12. Re: Experience Management 2.1.2 micro browser issue
    TimK Explorer
    Currently Being Moderated
    That's my head cold confusing things.
    For validation - and I think you have already done this in the above notes:
    mdex.xml has the setting for the MDEXService - not the actual settings for the MDEX engine (port/host).
    <host><MdexService hostname - default is workbench host name></host>
    <port><MdexService Port - default is the workbench port 8006></port>
    <serviceName>MdexService</serviceName>

    Basically those three settings are where the MdexService is hosted which by default is under the same service that runs Workbench.

    It looks like you validated those settings with Sunil -
    Now, the web.xml file for your MdexService must have the actual MDEX port/host setting.
    Ie:
    ...
    <servlet-class>com.endeca.servlet.MdexServiceSerlvet</servlet-class>
    <init-param>
    <param-name>mdex-host</param-name>
    <param-value>localhost</param-value>
    </init-param>
    <init-param>
    <param-name>mdex-port</param-name>
    <param-value>20000</param-value>
    </init-param>

    For you - I'd validate that
    1) MdexService is running and that it is running under the Workbench service - and double check MdexService.xml that it points to the right base
    2) Double check mdex.xml
    3) Double check web.xml for MdexService
  • 13. Re: Experience Management 2.1.2 micro browser issue
    John P Newbie
    Currently Being Moderated
    Tim,

    Thanks for your help. Sunil had me come this far (able to see the microbrowser show up for the very first time).

    Current open issues
    1. Now just battling the "data" not getting pulled. I do see my new field names shown in mdex.xml reflecting in microbrowser.
    2. When I pull workbench local on the server I see the microbrowser, but when I pull from my local machine via IP or server name:8006/login - the microbrowser is not showing up.


    As per your check list

    I checked the web.xml and as you and Sunil mentioned I verified and its matching the MDEX "Engine" port 30008 in my case and localhost for hostname.

    regarding this

    1) MdexService is running and that it is running under the Workbench service - and double check MdexService.xml that it points to the right base
    - Can you help me how to test this?
    http://localhost:8006/MdexService/ dosent give me anything back.
    http://localhost:8006/Pbx/ - gives me template launcher page

    2) Double check mdex.xml - Yes this MDEX has my new field names

    - <ServiceDefinition type="mdex">
    <title>Abby Normal Team | Nebraska Furniture Mart| DEV</title>
    <host>localhost</host>
    <port>8006</port>
    <serviceName>MdexService</serviceName>
    <dimensionCountShowLimit>100</dimensionCountShowLimit>
    - <!--
    To specify an aggregation key, uncomment the element below and edit.
    <aggregationKey>p_clubid</aggregationKey>
    -->
    - <!--
    If Dimensions are not indexed by Wildcard Index, this property needs to be
    set to false.
    <wildcardSearchEnabled>false</wildcardSearchEnabled>
    -->
    - <fields>
    <field name="p_name" />
    <field name="p_region_1_olp" />
    <field name="p_averagerating" />
    <field name="p_is_bestseller" />
    <field name="p_keyword" />
    <field name="p_model_number" />
    </fields>
    </ServiceDefinition>



    3) Double check web.xml for MdexService

    - this checked out correct.


    <web-app>

    <display-name>Mdex Service</display-name>

    <servlet>
    <servlet-name>mdexServlet</servlet-name>
    <servlet-class>com.endeca.servlet.MdexServiceSerlvet</servlet-class>
    <init-param>
    <param-name>mdex-host</param-name>
    <param-value>localhost</param-value>
    </init-param>
    <init-param>
    <param-name>mdex-port</param-name>
    <param-value>30028</param-value>
    </init-param>
    </servlet>

    <servlet-mapping>
    <servlet-name>mdexServlet</servlet-name>
    <url-pattern>/mdex</url-pattern>
    </servlet-mapping>

    </web-app>

    Appreciate your help.

    thanks
    John
  • 14. Re: Experience Management 2.1.2 micro browser issue
    SunilN Newbie
    Currently Being Moderated
    Hi John,

    I have checked, you done most of the steps correct now.
    Please see my comment in bold.

    1. Now just battling the "data" not getting pulled. I do see my new field names shown in mdex.xml reflecting in microbrowser.
    Have you change the host name in AppConfig.xml file. I think in your AppConfig.xml  host name will be computer name, So change it to either localhost or domain name.

    2. When I pull workbench local on the server I see the microbrowser, but when I pull from my local machine via IP or server name:8006/login - the microbrowser is not showing up.
    This is because some editor not working with IP address, they will need to either domain name or localhost.
1 2 Previous Next

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points