Developer forum

Forum » Development » Delivery information missing

Delivery information missing

Unnsteinn Garðarsson
Unnsteinn Garðarsson
Reply

Hello again! I am debugging yet another strange issue in one of our solutions. We are using DW 9.10.11 and this issue has been existing for quite some time now, even in 9.9.8.

I have put up some logging to help me debug this, since the issue is that the delivery information is missing in DW for some orders, but not all.

 

We populate the EcomOrderDelivery fields when posting to the cart app and we have validation in the client that does not allow the data to be posted if it is empty. I have monkey tested the cart page a bunch of times and no matter what I do, I always see the data in the network tab, but my log within the OrderIsPassedToCheckoutHandler subscriber logs an empty delivery address (the logging is the first code in the subscriber). This tells me that there is no backend code from us that is loosing these values. I also put up some logging to log the browser information and it is for the last couple of days, the latest version of chrome, which is the same browser I am using to try to reproduce this. 

I tried to request my VPN credentials (they do not work anymore) so I could look into the source code myself but the VPN guys are on vacation. I am just curious if there might be a lock or some case where DW does not save the data as it is supposed to, I know this is a long shot but I have been fighting this issue for quite some time now and I just cannot reproduce it no matter how hard I try.

 

NOTE: When the delivery information is missing, the address is always missing but just for some of those cases, the zip and phone are also missing.


Replies

 
Nicolai Pedersen
Reply

Hi Unnsteinn

Not an easy one.

  1. Is it JS validation only. Could fail, could be disabled. Then what?
  2. There is a setting in later DW version in Settings -> Ecommerce -> Advanced -> cart where you can let DW copy customer information to delivery information if missing. Maybe that can be useful.

I have tried to invite you to our current source code repos which have been moved to Azure Devops. So they do no longer require VPN. Hope it works - the guy setting that up normally is on vacation.

To get access and get the source code, checkout this page: https://dev.azure.com/dynamicwebsoftware/Dynamicweb/_wiki/wikis/Dynamicweb.wiki/63/Git-Get-Started-Guide

If you cannot get access with the link you should have received by email, let me know.

 
Unnsteinn Garðarsson
Unnsteinn Garðarsson
Reply

Thanks for the reply, one of my first ideas was disabled JS and it is possible to navigate from cart page 0 (where the contact info is inputted) to cart page 1 (where the payment info is inputted) but it is not possible to then make the payment. Also I find it highly implausible that so many occurances are related to people disabling javascript since the solution is very much scrambled without it.

I am not sure what could make it fail since I have the exact same JS code locally and using the exact same browser version. But who knows right?

Another funny thing is that this flag is set to true but since we are explicitly setting the delivery country in the backend, I suspect that is enough for DW not to populate any of the delivery information with the customer information. Also if this would be working, it would not be a solution since we sometimes want to set the delivery information to addresses and such that relate to shipping providers.

Thanks for the link,I will see if I can get it working and take a look, but there is nothing in your code that you can suspect of being a cuplrit to this issue? I feel like I am chasing my own tail with this one.

Regards.

 
Nicolai Pedersen
Reply

We have 1000s of solutions using this checkout flow, so I am pretty sure it somehow is related to the implementation. Not that it cannot be something in our codebase that in combination with one specific thing you do causes this issue.

When we see things like this it is almost always related to either liveintegration (priceprovider or ordercalculation) or the checkouthandler. Those 2 because they swap state on opbjects. Callbacks from checkouthandlers come in on another thread and often we see code that depends on the user being in the context, and they are not when a callback comes back - because it is server-to-server. It can also be notifications in relation to checkout process and that state.

It can also be something where an order object is carried around or instantiated again without being saved...

But it is very difficult to find the reason when it is not reproducable. (this could indicate it could be callback related)

BR Nicolai

 
Unnsteinn Garðarsson
Unnsteinn Garðarsson
Reply

BTW I am having some trouble with accessing the code, I accepted the invitation and followed the readme you sent, but my VS only shows my advania account under the showing hosted repositories for , If that is correct and my advania account is the one I am supposed to use, I still cannot get it working since the cloned locally options is not available for me and when I select 

dev.azure.com/dynamicwebsoftware/Dynamicweb in the tree and press connect, a new instance of VS is opened without anything happening, when I try to clone from there in the Team explorer I get this error

Git failed with a fatal error.
repository 'https://dev.azure.com/dynamicwebsoftware/Dynamicweb/_git/Dynamicweb/' not found

Regards.

 
Unnsteinn Garðarsson
Unnsteinn Garðarsson
Reply

Nicolai it was not related to DW as I did suspect, I stumbled upon the issue just now. Thanks though for the help and I would still like to get access to the DW source code just for future needs.

 

You must be logged in to post in the forum