pnp / powershell

PnP PowerShell
https://pnp.github.io/powershell
MIT License
684 stars 350 forks source link

[BUG] Import-PnPTermGroupFromXml creates terms with incorrect translations #3603

Open jagopauwels opened 12 months ago

jagopauwels commented 12 months ago

Reporting an Issue or Missing Feature

After using Export-PnPTermGroupFromXml, I import the group using Import-PnPTermGroupFromXml. This results in the terms having the English instead of the Dutch translation.

Expected behavior

Create the terms with the correct translation

Actual behavior

The Dutch translation contains English After import

Steps to reproduce behavior

  1. My tenant is in Dutch. I create a term called "Test term NL" and give it an English translation "Test term EN" Original

  2. I Export the group using Export-PnPTermGroupFromXml. The name of the term element is the English name (no idea of this is expected behavior). It does list the translations correctly. xml

  3. I delete the Test termset

  4. I import the group using Import-PnPTermGroupFromXml. This results in the term being recreated but with the English text showing up as Dutch. After import

What I think happens

What I think causes this bug is:

  1. The term doesn't exist so it is created. It creates it with the value in the "Name" attribute that is in English, but since the tenant is in Dutch it is now wrongly labeled as Dutch.
  2. It goes on to create the lables, the fist one is English. This lable is new so it is created.
  3. Next is the Dutch label, this label already exists so it is skipped...

And now we have English in both lables and lose the Dutch label!

What is the version of the Cmdlet module you are running?

PnP.PowerShell 2.2.0

Which operating system/environment are you running PnP PowerShell on?

gautamdsheth commented 11 months ago

@jagopauwels - can you please try it with latest version of PnP PowerShell 2.3.0 and check ? I think we made some fixes related to this and might help if you specify LCID parameter.

jagopauwels commented 10 months ago

I upgraded to PnP PowerShell 2.3.0 but the behavior is the same. What do you mean with "if you specify LCID parameter"? Neither Export-PnPTermGroupFromXml nor Import-PnPTermGroupFromXml have an LCID parameter.

koskila commented 4 weeks ago

We fixed applying labels in PnP.Framework (with https://github.com/pnp/pnpframework/pull/934) but looks like this is using some completely unrelated code.

I had to fix one small bug in Export-PnPTermGroupToXml (https://github.com/pnp/pnpframework/issues/1075) to be able to export my terms, but I couldn't reproduce the issue with the latest PnP PowerShell versions. I wonder if this has been fixed since January? Can you still reproduce it @jagopauwels ?