Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at

  • ssougnez 92 posts 318 karma points c-trib
    1 week ago

    Missing part of the URL of migration from 7.14 to 8.17.1


    I followed the steps for the migration from 7.14.0 to 8.17.1 and it seems to have worked pretty well. At least, the back office works and the content is there. A lot of thing don't work but I still have to import all my customizations. That's pretty amazing when you consider that I also had to migrate the database from MySql to SQL Server :-)

    However, there is one thing that bothers me. As Umbraco 7 didn't offer anything like Variant, I setup the multi languages of the site using video tutorial from UmbracoTV.

    In this tutorial, they explained that I had to create a root like "fr", insert my content, then when I was done, duplicate this root to link the page between them and start translating everything. Once again, it worked pretty well and I ended up with this tree:

    enter image description here

    Nothing fancy here...

    The issue that I have is that previously, URL of documents contained in "fr", started by "/fr", the ones contained in "nl" started by "/nl", etc... And that was the wanted behavior. However, I notice that with Umbraco 8, the four nodes have the same URL : "/", so if I have a page "Umbraco" in "fr", its URL would be "/umbraco" instead of "/fr/umbraco".

    That is not the behavior I expected and I'm wondering if there is a logical reason behind it?

    Any idea ?

  • ssougnez 92 posts 318 karma points c-trib
    1 week ago

    I investigated a bit and I ended up creating domain for each node ("/nl" for "nl", "/fr" for "fr", etc...).

    It seems that it kind of works but then I have an issue with Content.GetByRoute when I update the name of a document.

    Say I have the document "/fr/hello", when I do GetByRoute("/hello", "fr"), it works. Now, I rename the document in "bye", well GetByRoute("/hello", "fr") does not work anymore even though a redirection has been created for it.

    I read that it's normal that the Content service can't retrieve content based on old URL, and that I had to use something like Services.RedirectUrlService.GetMostRecentRedirectUrl("/hello", "nl"); but it also returns null.

    I had a look at the redirection table and I found this:

    enter image description here

    There are two things that I find odd (but that might be normal):

    • culture is empty
    • The url contains the ID of the node as the root and not the path like "fr" or "nl"

    Any idea?

Please Sign in or register to post replies

Write your reply to: