RadioButtonList values prefixed with null on deploy
I'm using:
Umbraco 7.4.3
LeBlender 1.0.8.4
Courier 3.1.4
Umbraco.Courier.Contrib 1.0.39
I have a document type using the grid. There is a LeBlender grid editor I created with a RadioButtonList on it. When I deploy pages using that grid and that RadioButtonList grid editor, courier fails to correctly deploy. The problem is in the packaging. If I inspect the actual revisions JSON, this is a snippet of the grid JSON that has my RadioButtonList:
Notice that the value is nullLeft. I decompiled the Umbraco.Courier.DataResolvers.dll and looked at the Umbraco.Courier.DataResolvers.ItemDataResolvers.KeyValuePrevalueEditor DataResolver class that handles packaging and extracting for the RadioButtonList and noticed that for whatever reason, Courier explicitly adds the ¤ symbol to the beginning of the value when packaging this data type.
If that symbol is not found at the beginning of the value when extracting, Courier will skip any special extraction logic and just leave the value plain text.
if (str1.StartsWith("¤"))
{
...
}
The problem appears to be that Courier takes that special ¤ character and writes it out as the string, "null", when it actually packages my revision. In my case, when my revision JSON should have had ¤Left, it had nullLeft. I did a bunch of debugging of the Umbraco.Courier.Contrib DataResolvers that I am using to handle the packaging and extraction of LeBlender. The problem doesn't seem to happen in there. I stepped through the packaging process, and by the time I exited the PackagingCell method, the special ¤ character was still there. I'm pretty sure that this is a problem with Courier itself.
Has anyone else run into this problem? Am I doing something wrong?
Thanks
Mostly adding this for others who run into this issue with Courier 3.1.4. It looks like a regression bug introduced in 3.1.4 and with a fix targeted for 3.1.5.
RadioButtonList values prefixed with null on deploy
I'm using:
I have a document type using the grid. There is a LeBlender grid editor I created with a RadioButtonList on it. When I deploy pages using that grid and that RadioButtonList grid editor, courier fails to correctly deploy. The problem is in the packaging. If I inspect the actual revisions JSON, this is a snippet of the grid JSON that has my RadioButtonList:
Notice that the value is
nullLeft
. I decompiled theUmbraco.Courier.DataResolvers.dll
and looked at theUmbraco.Courier.DataResolvers.ItemDataResolvers.KeyValuePrevalueEditor
DataResolver class that handles packaging and extracting for the RadioButtonList and noticed that for whatever reason, Courier explicitly adds the¤
symbol to the beginning of the value when packaging this data type.If that symbol is not found at the beginning of the value when extracting, Courier will skip any special extraction logic and just leave the value plain text.
The problem appears to be that Courier takes that special
¤
character and writes it out as the string,"null"
, when it actually packages my revision. In my case, when my revision JSON should have had¤Left
, it hadnullLeft
. I did a bunch of debugging of theUmbraco.Courier.Contrib
DataResolvers that I am using to handle the packaging and extraction of LeBlender. The problem doesn't seem to happen in there. I stepped through the packaging process, and by the time I exited thePackagingCell
method, the special¤
character was still there. I'm pretty sure that this is a problem with Courier itself.Has anyone else run into this problem? Am I doing something wrong? Thanks
Mark -
Mostly adding this for others who run into this issue with Courier 3.1.4. It looks like a regression bug introduced in 3.1.4 and with a fix targeted for 3.1.5.
The related issue on the tracker is: http://issues.umbraco.org/issue/COU-626
Note that this issue appears to be related to any key-value pair data type when used in a Grid (Grid, LeBlender, etc...).
Cheers!
is working on a reply...