PerplexDigital / Perplex.ContentBlocks

Block based content editor for Umbraco
MIT License
31 stars 15 forks source link

Content disappearing since 1.5.2 #38

Closed PerplexDaniel closed 3 years ago

PerplexDaniel commented 4 years ago

We see some issues in 1.5.2 where content does not show up in the backoffice after publising and refreshing the page. Content still shows up on the front-end and still exists in the database.

This issue is seen internally at Perplex and also reported at Our Umbraco.

The data is still present in the database, so the issues is most likely caused by the changes in #34 , probably in the ToEditor().

I cannot reproduce this in the Demo Site included in the solution it seems, which is unfortunate.

PerplexDaniel commented 4 years ago

Possible fix in 69cc4f7db3f7957ccaadc433cd8ca6bd78c41fa0, not sure why it ends up in the fallback case there. Turns out the ToEditor() from NestedContent which we call sometimes returns "" instead of an actual value. We see this in an 8.6.4 project, but not in 8.6.1 (DemoSite).

PerplexDaniel commented 4 years ago

It appears that this issue only occurred in multilingual settings, i.e. where the culture of the ContentBlocks property is not null. There was a bug in the way we were calling some Nested Content method in our ToEditor() method which is fixed by the linked PR. I believe this fixes the issue and will be released after some tests somewhere in the next 24 hours.

duanleou90 commented 4 years ago

It appears that this issue only occurred in multilingual settings, i.e. where the culture of the ContentBlocks property is not null. There was a bug in the way we were calling some Nested Content method in our ToEditor() method which is fixed by the linked PR. I believe this fixes the issue and will be released after some tests somewhere in the next 24 hours.

I'm glad that you will fix it soon. Thanks!

PerplexDaniel commented 4 years ago

I have just released 1.5.3 which should fix this issue. If anyone still experiences issues with this when using 1.5.3, please let us know.

duanleou90 commented 4 years ago

I have just released 1.5.3 which should fix this issue. If anyone still experiences issues with this when using 1.5.3, please let us know.

I have just tested it on my local instance. And it works well now. Thanks for fixing soon!

joepvtl commented 3 years ago

Hey @PerplexDaniel,

We are experiencing this issue. We updated our environment from 1.4.2 to 1.6.0 and now when we save a page that has NC inside of the blocks they dissapear from the backoffice.

We are using Umbraco 8.8.0

-Joep

cc// @vavdb

PerplexDaniel commented 3 years ago

Coincidentally someone on Our also reported this today. Seems indeed again related to the same section of the code, so until we have looked into this and released a fix I recommend to use <= 1.5.1.

Apparently the issue now only occurs for certain data types which is interesting. I'll try to reproduce this later this week.

PerplexDaniel commented 3 years ago

Oh I see. Umbraco recently (I think in 8.7.0) changed the returned values from NestedContent's ToEditor() method which we call in ours. It used to be a simple List<JObject> (which is what we check for), but has been updated to IReadOnlyList<NestedContentValues.NestedContentRowValue> in this commit.

So this probably was caused by the Umbraco upgrade rather than the original bug of this issue. Regardless, I have added a commit which should fix this. It no longer does an exact type check on List<JObject>. Will test it a bit more and should be released soon.

You can of course clone the PR branch and compile Perplex.ContentBlocks.dll yourself to test if this fixes the issue.

PerplexDaniel commented 3 years ago

@joepvtl I just pushed 1.6.1 to NuGet, this should fix the issue.