Developer forum

Forum » Integration » The downloadable LiveIntegration 4.0.0 source code does not match the compiled version

The downloadable LiveIntegration 4.0.0 source code does not match the compiled version

Peter Krusell
Reply

Hi,

Switching from using the Product Catalog (eCom) app that was standard in Rapido to using the newer Rapido Product catalog for ViewModel the is standard in Swift has caused the LiveIntegration source code project to start sending separate GetProductsInfo / Live price requests for every product in a product list, instead of sending one request for all products. This causes unacceptable performance penalty making products lists of 24 products go from a few hundred millisecunds in load time to several seconds, as well as putting a lot of load on the NAV ERP system.

This is the behavior with the latest downloadable LiveIntegration 4.0.0 source code from the download section: https://doc.dynamicweb.com/Admin/Public/Download.aspx?File=Files%2FFiles%2FDownloads%2FIntegration%2FLive+integration%2FDynamicweb.Ecommerce.LiveIntegration+(4.0.0)+-+Source+Code.zip

But when testing the standard compiled version of DynamicwebLiveIntegration there is a new setting "Max products per request" in this version and when setting that to "0" for unlimited it solves the problem nicely. This setting is unfortunetely not there when using the latest downloadable LiveIntegration 4.0.0 source code from the download section.

Can you please provide the updated LiveIntegration source code that includes the implementation of this setting. We need the LiveIntegration source code project since the client has custom features we are developing on top.

Thanks
/Peter

liveIntegrationStandardAndSource.jpg

Replies

 
Dmitriy Benyuk Dynamicweb Employee
Dmitriy Benyuk
Reply

Hi Peter,
the recommended approach is to use the standard built-in Dynamicweb Live integration and use its extensibility api points:
https://doc.dynamicweb.com/documentation-9/integration/integration-framework-old-structure/extensibility/live-integration-notifications
So try to look on the api and find out if it would be possible to merge your custom changes into those extensibility methods.

BR, Dmitrij

 
Peter Krusell
Reply

Hi Dimitry,

That is great and we use it for new projects and clients.

But in this case the client has used the old version of the liveintegration before and the customizations are built in other ways. It would mean the ERP NAV consultants would have to rebuild quite a lot of the customizations already in place on the ERP side, creating a gigantic extra part of this project.

Everything in the current integration is working fine and is well tested. Its just the specific fix for the Product catalog for ViewModel multiple calls that we need, so that we can use Swift as frontend without performance issues. Please provide the source code that includes the implementation of the new setting "Max products per request".

Yours
/Peter

 
Dmitriy Benyuk Dynamicweb Employee
Dmitriy Benyuk
Reply

Hi Peter,
that is probably connected with an old price provider that is used in your version, so you need to use a new one that overrides this:
public override void PreparePrices(PriceContext context, IEnumerable<PriceProductSelection> selections)
I have attached the new price provider and a manager that uses the max products per request.

BR, Dmitrij
 

 
Peter Krusell
Reply

Thanks, overriding PreparePrices(PriceContext context, IEnumerable<PriceProductSelection> selections) did the trick.

/Peter

 

You must be logged in to post in the forum