More in this section

Forums / Developing with Sitefinity / Keep products in sync with another backend (ECommerce)

Keep products in sync with another backend (ECommerce)

2 posts, 0 answered
  1. Jaap
    Jaap avatar
    10 posts
    Registered:
    23 Oct 2012
    21 Sep 2011
    Link to this post
    Hi,

    I want to keep my products in sync with some other backend system. The other backend system will likely contain a subset of the product fields defined in Sitefinity.
    I see some solutions:
    1: use some synchronization process in the background (SQL Server replication, Microsoft Sync Framework or whatever). Updates on shared fields would be possible on both sides. Adding new products can be a problem when there are required fields with no defaults on one of the both sides.
    2: or created an inherited data provider of OpenAccessCatalogDataProvider. On the CommitTransaction() the appropriate actions should be done on the other backend system. (Is this even possible? What about doing this as one transaction on the 2 databases? In this would be a distributed transaction). This whould imply that the products should be maintained from Sitefinity always.

    Any suggestions about a good solution?
    Does somebody see other solutions?

    Thanks, Jaap
  2. Jason Chester
    Jason Chester avatar
    11 posts
    Registered:
    03 Feb 2010
    04 Oct 2011
    Link to this post

    If updates do not need to be realtime, I would look in to custom publishing pipes.

    Using pipes, I implemented the following scenarios:

    1. Publish a custom XML feed of products from my custom sitefinity products module to a file uploaded to FTP.
       ProductInboundPipe (based on ContentInboundPipe) -> FtpOutboundPipe (custom)

    2. Download File from FTP and update products in my custom module.
      FtpInboundPipe (custom) -> ProductUpdateOutboundPipe (custom)

    Here are some blog posts that helped me get started:
    http://www.sitefinity.com/blogs/teodorgeorgiev/posts/11-08-18/publishing_system_brief_walkthrough.aspx
    http://www.sitefinity.com/blogs/ivanpelovski/posts/11-08-16/registering_custom_pipes_in_sitefinity.aspx

    While your scenario sounds more complicated than mine, i think the publishing system is how Telerik recommends integrating external systems with the publishing system.

    Thanks,

    JASON CHESTER

    Technology Director
    629 Euclid Avenue / Cleveland, OH 44114
    E jason.chester@rosetta.com
    rosetta.com
    ROSETTA | Pilots, inventors and builders for a connected world.™

2 posts, 0 answered