Developer forum

Forum » Dynamicweb 10 » Dynamicweb Destination provider - DefaultLanguage setting is missing

Dynamicweb Destination provider - DefaultLanguage setting is missing

Thomas Larsen
Reply

It is not possible to change the settings for det DefaultLanguage in the Dynamicweb Destination provider 

The setting is in the job xml, but is missing in the user interface

Version 10.13.1

/Thomas


Replies

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

Hi Thomas

You cannot change the default language as it usually breaks things for users when done anytime after the solution has been installed.

When you have fields inheriting across languages, and you change from A to B, the inheritance on all those fields should flip which would cause a lot of data to move around.Or if you have 100 products in current default language, and only 1 translated, then flipping default language will put you in a situation where you have 1 product in default language and 99 products that does not have a master to inherit from.

Given the information above - how would you expect a change of default language should function?

We have also talked about just removing the default option in general.... Give some other issues though. 

But you can easily change the language of the default language:

 
Thomas Larsen
Reply

Hi Nicolai,

Maybe i am misunderstanding you, but i am not trying to change the default language on the solution.

I would likt to Clead the DefaultLanguage setting on the Dynamicweb destination provider, the same way that i can be done in DW9


Otherwise i can't create a working Stock update import job with only ProductId and ProductVariantId as keys, that updates stock level on all language versions

BR
Thomas

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

Aw - read too fast ;-). Sorry!

I will re-route your question.

 
Rasmus Sanggaard Dynamicweb Employee
Rasmus Sanggaard
Reply

Hi Thomas,

It is no longer in the UI because we no longer force hidden key column mappings—all mappings are now done explicitly. You might still see it in the job file, depending on when you created the job and which version of the provider you used. However, as long as it is not mapped, it has no effect, and no key mapping is applied, effectively achieving what you want.

BR,
Rasmus Sanggaard

 
Thomas Larsen
Reply

Hi Rasmus,

I am using the latest version of the Dynamicweb Provider - V 10.9.1

And when i create a new integration job it saves the default languge in the job file - In this case ENU

I can clear the setting manualy int the xml file, but every time i save the job again the value i set to ENU again
And with this settings my import job to EcomProducts without a LanguageId column is failing with this error:

Exception: Violation of PRIMARY KEY constraint 'DW_PK_EcomProducts'. '
Cannot insert duplicate key in object 'dbo.EcomProducts'. 
The duplicate key value is (OH30035656, ENU, ). 
The statement has been terminated. 
Sql query: 
 
update [dbo].[EcomProducts] 
set [InternalStockLevel]=[dbo].[EcomProductsTempTableForBulkImport1].[InternalStockLevel]
, [ProductLanguageId]=[dbo].[EcomProductsTempTableForBulkImport1].[ProductLanguageId] 
from [dbo].[EcomProductsTempTableForBulkImport1] 
where [dbo].[EcomProducts].[ProductId]=[dbo].[EcomProductsTempTableForBulkImport1].[ProductId] 
and [dbo].[EcomProducts].[ProductVariantId]=[dbo].[EcomProductsTempTableForBulkImport1].[ProductVariantId] ; 


 

 
Rasmus Sanggaard Dynamicweb Employee
Rasmus Sanggaard
Reply

Hi Thomas,

It shouldn't use the setting. Is it possible for you to share your job file?

BR Rasmus Sanggaard

 
Thomas Larsen
Reply

Se attachment

 
Rasmus Sanggaard Dynamicweb Employee
Rasmus Sanggaard
Reply

Hi Thomas,

Since ProductLanguageId is a primary key, you need to map it explicitly.

The setting "Standard sprog: Ingen" or "Default Language: None" means that no default language is set for the job. In this case, the system will use the Default Language from the solution when the job runs. However, now that all mappings are done explicitly, you need to define it in the mappings.

In your scenario, you can create a mapping from ProductDefaultLanguage to a constant value of 'ENU' and select it as the key.

BR,
Rasmus Sanggaard

 
Thomas Larsen
Reply

Hi Rasmus,

If I manualy clear the DefaultLanguage setting in the job.xml file it is working as expected (The same way as in DW9)
In this case I only use ProductId and ProcuctVariantID, making the import job update the stocklavel on all language variants.

So it looks like the normal functionality from DW9 is there, the only thing i'm missing is the possibillity to clear the DefaultLanguage setting in the destination provider on the job.

BR
Thomas


 




 

 
Rasmus Sanggaard Dynamicweb Employee
Rasmus Sanggaard
Reply

Hi,

Ah, I see. We’re still adding the default language to the file, even though it’s not visible in the UI when saving the job. This is a bug (#23503).

The default behavior will be that no mappings are hidden from the user. This means that if you don’t apply a LanguageId mapping, it will automatically map to all languages.

For now, you’ll need to manually remove it from the job file before running the job. Thanks for your patience!

BR Rasmus Sanggaard

 

You must be logged in to post in the forum