umbraco / Umbraco-CMS

Umbraco is a free and open source .NET content management system helping you deliver delightful digital experiences.
https://umbraco.com
MIT License
4.51k stars 2.69k forks source link

multi-language CMS: misleading/redundant links #17586

Open shearer3000 opened 2 days ago

shearer3000 commented 2 days ago

Which Umbraco version are you using? (Please write the exact version, example: 10.1.0)

any version of Umbraco 13, but using 13.5.2 at time of writing

Bug summary

Given a traditional multi language/site setup in Umbraco e.g. English, German and French languages with a content tree for each, The links section of a page will show a link for all of the languages when only 1 is relevant/applicable (i.e. 1 language selected in Culture and hostnames section), and will show a "This document is published but is not in the cache" for all others.

image

Specifics

No response

Steps to reproduce

  1. add multiple languages to CMS settings: image

  2. add content tree per language and select image image image

  3. observe Links section on content node image

NB "allow vary by culture" not selected on doctypes - this isn't a language variants CMS setup.

Expected result / actual result

Expected: only link relevant to language (culture) are shown on content node

Actual: shows a link per language defined in CMS irrespective of culture settings on specific content tree

github-actions[bot] commented 2 days ago

Hi there @shearer3000!

Firstly, a big thank you for raising this issue. Every piece of feedback we receive helps us to make Umbraco better.

We really appreciate your patience while we wait for our team to have a look at this but we wanted to let you know that we see this and share with you the plan for what comes next.

We wish we could work with everyone directly and assess your issue immediately but we're in the fortunate position of having lots of contributions to work with and only a few humans who are able to do it. We are making progress though and in the meantime, we will keep you in the loop and let you know when we have any questions.

Thanks, from your friendly Umbraco GitHub bot :robot: :slightly_smiling_face:

Afreed-cp commented 2 days ago

@shearer3000

This is not a bug

In Umbraco, the root node is treated as the default route for all configured languages unless you explicitly set up specific Culture and Hostnames. This means the CMS will associate all defined languages (e.g., English, German, French) with the root node until a distinct hostname is specified for each.

image

Hope that make sense.

enkelmedia commented 1 day ago

Great @shearer3000, I'm not sure that @Dark0d3 got your point to be honest.

I agree that this should be fixed - it's confusing for editors. Most of the development in Umbraco over the last years has been targeted towards 1:1 translation scenarios or using language variant nodes, but it's very common with the approach that you're showing here - especially with sites that have been upgraded from earlier versions.

Afreed-cp commented 1 day ago

@enkelmedia I see your point, but I believe the transition away from node-based multivariant setups was made to simplify things for editors. I used to do the same up to v7. It was quite a complex system to manage, especially for sites that had to support multiple languages or adding a new variant. That said, I understand that sites upgraded from earlier versions may still face challenges.

enkelmedia commented 1 day ago

@Dark0d3 yep, I believe so as well. However, I'm not 100% convinced that this is the way to go for all kinds of scenarios. Sometimes the 1:1 setup just makes it more complicated for the editors. It really depends on the situation and I would argue that there is really no "right or wrong" here.

In the case of upgrading it really not a feasible option to "merge" nodes into variants. We have several clients where we will have to maintain a number of websites with the "old" setup for language nodes.

shearer3000 commented 1 day ago

@Dark0d3 I had tried with and without specific domain + language bindings but it was the same end result so i hadn't mentioned above.

When i add the relevant domain and language bindings to my 3x top level nodes, for example:

image

i get the following in the Links section: image

whether this is a bug or not (i'd suggest it is), everyone would agree thats its not a great experience for content editors

shearer3000 commented 1 day ago

@enkelmedia

In the case of upgrading it really not a feasible option to "merge" nodes into variants. We have several clients where we will have to maintain a number of websites with the "old" setup for language nodes.

Yes that's the situation here - an "older" preexisting CMS set up using the traditional/conventional content tree. Like you say, 1:1 language variants isn't always the right fit anyway (and definitely not a feasible option to now "merge" nodes into variants). NB this is in relation to one of our existing client CMSs, but i've replicated on a stock install of Umbraco for simplicity.

It feels like Umbraco is mixing up the two modes.

Afreed-cp commented 1 day ago

i get the following in the Links section: image

whether this is a bug or not (i'd suggest it is), everyone would agree thats its not a great experience for content editors

@shearer3000 In your case, you can just switch the culture variant, assign the desired hostname for that culture, and publish only the variant instead of the default one. This way, it won’t generate a URL for the default variant.