For umbraco 7, after installing vorto package, everything works well.
Currently i am trying to setup umbraco 8 for future upgrade. however, after i install vorto, whole website crashes and the error message is kind of 'cannot load all types xxxxx vorto'.
Did anyone know the issue and the solution?
since i need have a feature like vorto for multi language field.
I think Vorto was inspiration behind Umbraco 8 adding similar feature as Language Variants. So, you can use Umbraco 8 built in feature to be more powerful than Vorto.
Getting this error, when running the code. Any reason why? using in it V8.2.
Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[Our.Umbraco.Vorto.Models.VortoValue]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List
Hi, i have updated the code on github as i am using it on another project.
Try with my updated code, i dont know the cause of your error, i suggest you to debug the health check to see exactly the value stored on the property to figure it out how you can extract the translation.
The health check try to convert the original value to a VortoValue and then extract the translation and save it as a v8 variant. It seems the original code is not on proper Vorto format, so you can debug and check it.
As i understand it converts right to a vorto value? the problem is only when fixing and saving the property?
Other properties are working or you experience this issue with every property?
May it be some special character? you need to check the exact text and language variant that is experiencing the problem.
The language exists?
I guess that its trying to store the vorto value but the content is not variant enabled. If the content has vorto properties and you want it to transform to a language variant, you have to enable that document type to have language variants.
If you dont want it to have language variants for that content types, you have to change the code to check first, you could try this code (not tested):
if (!content.CultureInfos.Contains(new ContentCultureInfos(valorIdioma.Key)))
content.SetValue(propertyAlias, valorIdioma.Value);
else
content.SetValue(propertyAlias, valorIdioma.Value, culture: valorIdioma.Key);
Vorto no working on umbraco 8
For umbraco 7, after installing vorto package, everything works well. Currently i am trying to setup umbraco 8 for future upgrade. however, after i install vorto, whole website crashes and the error message is kind of 'cannot load all types xxxxx vorto'. Did anyone know the issue and the solution? since i need have a feature like vorto for multi language field.
Thanks guys~
Hi Buddy,
I think Vorto was inspiration behind Umbraco 8 adding similar feature as Language Variants. So, you can use Umbraco 8 built in feature to be more powerful than Vorto.
Here is the articles that describes how to use Language Variants. https://umbraco.com/blog/umbraco-8-language-variants/
Please let me know if you need any further assistance.
Cheers,
Shaishav
Hi Shaishav, Great, thank you so much.
Thanks.
I have just written a health check for Umbraco 8 that looks for vorto properties and converts them to variants. Hope this helps:
https://github.com/teeto/Vorto-migration-for-Umbraco-8
Follow the steps, i have used on my project and it works!
Hi Tito,
Getting this error, when running the code. Any reason why? using in it V8.2.
Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[Our.Umbraco.Vorto.Models.VortoValue]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly. To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List
Hi, i have updated the code on github as i am using it on another project. Try with my updated code, i dont know the cause of your error, i suggest you to debug the health check to see exactly the value stored on the property to figure it out how you can extract the translation.
The health check try to convert the original value to a VortoValue and then extract the translation and save it as a v8 variant. It seems the original code is not on proper Vorto format, so you can debug and check it.
Hi Tito,
Thanks for the updated code. However, now facing another issue when hitting on the "Fix" button for a health check.
Error: {"Error saving content 1082, property: settings. Variation \"en-US,
Though the property value and key are not null:
Key:"en-US"
Value: [{"key":"1423ba8e-03c4-4531-9fad-757189e32a7d","name":"Item 1","ncContentTypeAlias":"settings","sysNavTitle":"Golf","sysNavHide":0,"hideInContent":0,"hideInSitemap":0,"overrideUrl":"[]"}]
Any suggestions?
As i understand it converts right to a vorto value? the problem is only when fixing and saving the property? Other properties are working or you experience this issue with every property? May it be some special character? you need to check the exact text and language variant that is experiencing the problem. The language exists?
Hi Tito,
Struggling with the conversion. The status show the following:
However, when I click fix, it throws an error (attached in my previous comment when I debugged it, log indicates the following error).
Will appreciate your help.
I guess that its trying to store the vorto value but the content is not variant enabled. If the content has vorto properties and you want it to transform to a language variant, you have to enable that document type to have language variants. If you dont want it to have language variants for that content types, you have to change the code to check first, you could try this code (not tested):
is working on a reply...