Introduced in Feature Pack 2

Customizing web feed integration: Populate feed content using custom business object mediators

To load feed content to custom tables, use the ManagedFile noun with a customized business object mediator. To process logical nouns, customize the business object builder by extending the FeedBusinessObjectBuilder interface.

If you have created your own custom data load mediator for populating WebSphere Commerce tables, or custom tables, use this procedure to populate these tables using feeds from the Content Management System.

Before you begin

  • Review the ManagedFile noun.
  • If required, create a custom business object builder.
  • Create a business object mediator
  • Configure the Data Load utility.

Procedure

  1. Open the WebSphere Commerce Developer.
  2. Locate the WebSphereCommerceServerExtensionsLogic project. Add the files Foundation-DataLoad-FEP.jar and Foundation-DataLoad.jar to the build path of the project. Add any other dependent JAR files to the classpath.
  3. If a customized business object builder is required to create and process logical nouns, create a Java class that extends the com.ibm.commerce.foundation.dataload.businessobjectbuilder.FeedBusinessObjectBuilder class.
    Do not override or execute methods that are used to populate the CMFEEDLOG table:
    • init()
    • preprocess
    • postProcess
    • endPropcess
  4. Create a Java class for the customized business object mediator using the data load framework. For an example, see Creating custom data load business object mediators.
  5. Package the custom business object builder and business object mediator classes and helper classes in the WebSphereCommerceServerExtensionsLogic project to a JAR file.
  6. If it does not exist, create the WCDE_installdir\ext\lib directory.
  7. Copy the JAR file to the WCDE_installdir\ext\lib directory.
    Custom JAR files are placed in this directory.
  8. Prepare the Web-feed-config.xml file. Use the feed URL for managedAsset type content with the required data.
    <config:managedAsset>
    <config:name>ProductImages</config:name>
    <config:feedURL><![CDATA[http://9.182.149.211:9080/opencms/opencms/demo_en/today/TestImageFTPFeed.xml]]</config:feedURL>
    <config:managedDirectory>/unit-test/images</config:managedDirectory>
    <config:allowedTypes>*.jpg,*.gif</config:allowedTypes>
    <config:tempFileLocation>C:\temp1</config:tempFileLocation>
    </config:managedAsset>
  9. Run the webFeedLoad utility with the GenerateDataLoadConfigOnly option:
    webFeedLoad.bat /fullpath/Web-feed-config.xml -DGenerateDataLoadConfigOnly=true
    The workspace\WC\xml\config\dataload\wc-loader-managedFile.xml file is generated.
  10. Update the generated wc-loader-managedFile.xml file.
    1. Open the wc-loader-managedFile.xml file.
    2. Add the customized business object builder and business object mediator.
    3. Provide the XPath mapping.
    4. Save and close the file.
    If you are not using a customized business object builder, use the FeedBusinessObjectBuilder provided by the content management system.
  11. Run the webFeedLoad utility without the GenerateDataLoadConfigOnly option specified.
    • SolarisLinuxAIX./webFeedLoad.sh ../components/foundation/samples/DataLoad/Content/Web-feed-config.xml -Dwaspath=WC_ear -DlogFileWithTimestamp=true
    • WindowswebFeedLoad.cmd ..\components\foundation\samples\DataLoad\Content\Web-feed-config.xml -Dwaspath=WC_ear -DlogFileWithTimestamp=true
    • WebSphere Commerce DeveloperwebFeedLoad.bat ..\components\foundation\samples\DataLoad\Content\Web-feed-config.xml -DlogFileWithTimestamp=true

Results

The specified tables are populated using custom business object builder and custom business object mediator.