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

4 comments

  1. Hi Ajay,


    Having some quick questions regarding exportContent.

    1. I have observed that after changing / adding new cartridge or new flow inside XM, the changes aren't getting affect in the application \config\import folder.
    Do I need to tweak some configuration in the application config level, to replicate the same change in the above directory.??

    2. I have added new flow in the XM like your scenario, but when I am trying to exportContent its giving me empty zip file in o/p directory. Do you have any solution for this issue?
    I have successfully promoted the contents inside the XM.

    3. The above cartridges(from q-2) and other configuration settings available, after running exportApplication utility in .zip file format. Inside this zip I am getting all the latest changes available in the "workspace" folder from the last known stable configuration. But the real problem will get start when I would start deploying the cartridge/pages on weekly. There might be high chance for every new export I will get the all the cartridge scenarios which I have uploaded from the day 2 (after I have deployed the application) to till today. This will cause some conflict if I am overriding the business user changes if he has did from day 2 export to till last day known exports on the production BOX.
    Do you have any remedy to avoid this?

    Thanks,
    swapnil

    ReplyDelete
  2. Hi Ajay,

    I am trying your above scenario,

    I did export of my banner development on my Box1 on my local machine,

    runcommand.bat IFCR exportContent "content/Shared/bannerDemo/addBanner" c:\Endeca\apps\BannerExport

    The zip of it available inside the path "C:\Users\JJPL\Desktop\swapnil-Enddeca\addBanner" on BOX2, where addBanner is extracted folder of addBanner.zip.
    It contains all the details which are setup on Box1.

    But now when I am exporting it in the dev Box2. I am getting below error.
    c:\Endeca\Apps\MyStoreApp\control>runcommand.bat IFCR importContent "content/Shared/bannerDemo/addBanner" "C:\Users\JJPL\Desktop\swapnil-Enddeca\addBanner"
    [01.03.17 14:07:18] INFO: Checking definition from AppConfig.xml against existing EAC provisioning.
    [01.03.17 14:07:19] INFO: Definition has not changed.
    [01.03.17 14:07:20] INFO: Packaging contents for upload...
    [01.03.17 14:07:20] INFO: Finished packaging contents.
    [01.03.17 14:07:20] INFO: Uploading contents to: http://localhost:8006/ifcr/sites/MyStoreApp/content/Shared/bannerDemo/addBanner
    [01.03.17 14:07:20] SEVERE: Caught an exception while invoking method 'importContent' on object 'IFCR'. Releasing locks.

    Caused by java.lang.reflect.InvocationTargetException
    sun.reflect.NativeMethodAccessorImpl invoke0 - null
    Caused by com.endeca.soleng.eac.toolkit.utility.IFCRUtility$HttpStatusException
    com.endeca.soleng.eac.toolkit.utility.IFCRUtility execute - Internal Server Error (500): javax.jcr.RepositoryException: java.lang.RuntimeException: javax.jcr.PathNotFoundException: /sites/MyStoreApp/content/Shared/bannerDemo
    c:\Endeca\Apps\MyStoreApp\control>

    Do you have any specific points, in which I might have to look for the fixes.

    Thanks,
    Swapnil

    ReplyDelete
    Replies
    1. Hi Swapnil,

      Thanks for referring to My blog. I have verified this and tested two scenario:-
      1. Exported as zip file and made some changes and imported once again. This is working fine.
      2. Exported as Zip file, unzipped it and rename to Ajay folder. Imported once again and working fine
      Export
      [test@localhost control]$ ./runcommand.sh IFCR exportContent 'content/Shared/Header/PrimaryNavigation' .
      [01.03.17 22:40:58] INFO: Checking definition from AppConfig.xml against existing EAC provisioning.
      [01.03.17 22:40:59] INFO: Definition has not changed.
      [01.03.17 22:40:59] INFO: Exporting resource 'http://localhost.localdomain:8006/ifcr/sites/TesTestAppp/content/Shared/Header/PrimaryNavigation' to '/opt/endeca/app/TesTestAppp/control/./PrimaryNavigation.zip'
      [01.03.17 22:40:59] INFO: Finished exporting resource.

      Import Scenario 1
      [test@localhost control]$ ./runcommand.sh IFCR importContent 'content/Shared/Header/PrimaryNavigation' /opt/endeca/app/TesTestAppp/control/PrimaryNavigation.zip
      [01.03.17 22:42:30] INFO: Checking definition from AppConfig.xml against existing EAC provisioning.
      [01.03.17 22:42:30] INFO: Definition has not changed.
      [01.03.17 22:42:31] INFO: Uploading contents to: http://localhost.localdomain:8006/ifcr/sites/TesTestAppp/content/Shared/Header/PrimaryNavigation
      [01.03.17 22:42:31] INFO: Finished uploading contents.

      Import Scenario 2
      [oracle@localhost control]$ ./runcommand.sh IFCR importContent 'content/Shared/Header/PrimaryNavigation' /opt/endeca/app/TestApp/control/Ajay/
      [01.03.17 22:46:38] INFO: Checking definition from AppConfig.xml against existing EAC provisioning.
      [01.03.17 22:46:39] INFO: Definition has not changed.
      [01.03.17 22:46:39] INFO: Packaging contents for upload...
      [01.03.17 22:46:39] INFO: Finished packaging contents.
      [01.03.17 22:46:39] INFO: Uploading contents to: http://localhost.localdomain:8006/ifcr/sites/TestApp/content/Shared/Header/PrimaryNavigation
      [01.03.17 22:46:40] INFO: Finished uploading contents.


      Could you please send application zip so that can try at my end. Ideally above approach should work.

      Let me know incase any issue.

      Thanks,
      Ajay Agrawal

      Delete

Text Widget