SOGo | BTS

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004414SOGoWeb Preferencespublic2018-03-06 13:092018-06-28 14:45
ReporterASolana 
Assigned Toludovic 
PrioritynormalSeverityminorReproducibilityalways
StatusassignedResolutionreopened 
PlatformLinuxOSUbuntuOS Version16.04 LTS
Product Version3.2.10 
Target VersionFixed in Version 
Summary0004414: Language preferences overridden by selected language in login page
DescriptionAny selected language o default language on SOGo login page overrides the previously user saved language preferences.

It's annoying for users because they are trusting on their saved preferences and login page selected language is what they get.

The worst thing is they lost their language preference.
Steps To Reproduce1. UserA sets English in language preferences

2. UserA does a log out
At this point UserA backup file contains "SOGoLanguage = English;"

3. Login page is configured with French language as default
4. UserA does a log in without changing default selected language (French) because his saved preferences contains "English"

5. UserA gets French language overridden his French language preference.
At this point UserA backup file contains "SOGoLanguage = French;"
TagsNo tags attached.
Attached Filestxt file icon 20180307.debug.log.changing.language.preference.txt [^] (56,332 bytes) 2018-03-07 04:34 [Show Content]

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
(0012626)
ASolana (reporter)
2018-03-06 13:18

I can reproduce this issue with Firefox 54.0 and Chrome 64.0.3282.186 (64 bits)
User avatar (0012628)
francis (administrator)
2018-03-06 15:30

I can't reproduce this issue. Have you modified SOGoRootPage.wox?
(0012638)
ASolana (reporter)
2018-03-07 04:12

I haven't modified SOGoRootPage.wox file


root@sybill1:~# ls -altr /usr/lib/GNUstep/SOGo/Templates/MainUI/SOGoRootPage.wox
-rw-r--r-- 1 root root 7469 Jul 5 2017 /usr/lib/GNUstep/SOGo/Templates/MainUI/SOGoRootPage.wox
root@sybill1:~#
(0012639)
ASolana (reporter)
2018-03-07 04:50

I've attached an extract of debug log file named "20180307.debug.log.changing.language.preference.txt" that contains the proof that login page always modifies Language preferences at login time (I've reproduced this issue on test and production servers).

I've activated mysql debug on a test server and then:

1. I've configured Spanish language to user usuari.ana in preferences and debug file shows an "UPDATE sogo_user_profile " command with "SOGoLanguage": "SpanishSpain". That's correct.

2. After that, usuari.ana does a logout.

3. Then usuari.ana does a login again but selecting Catalan language in login page and then debug log file shows an "UPDATE sogo_user_profile command with "SOGoLanguage": "Catalan": this is wrong so that's the proof that login page always modifies user preferences.

I hope it helps you to resolve this issue.
User avatar (0012640)
francis (administrator)
2018-03-07 06:29

This behaviour is as designed. If the user changes the language on the login page, it will become the user's default language.
User avatar (0012691)
ludovic (administrator)
2018-03-13 16:52

No bug, as designed.
(0012707)
ASolana (reporter)
2018-03-15 06:37

If this behaviour is as designed then why do you let to choose language on General Preferences?

That's confusing users and they are complaining about this behaviour.

If you keep this behaviour perhaps you would have to remove this language preference.

We would prefer language preference saved by users takes preference over language choosed in login page.
User avatar (0012732)
Christian Mack (developer)
2018-03-16 10:15

I think the problem stems from the fact, that the login page automatically always selects the browser language in the language field.
In earlier SOGo versions that field was not set automatically.
Therefore the language chosen by setting the language in Preferences from the user was used on login.

The browser language should only be used, if the user didn't set any language before and didn't select a language in the login page.
Else when using computers, which do not belong to you, you will always get the language the admin set for the Browser you use, instead of your preferred language.
User avatar (0012782)
francis (administrator)
2018-03-19 09:04

This is not true.

The login page uses the language of the browser if it is in the SOGoSupportedLanguages parameter. Otherwise it will fallback to the SOGoLanguage parameter.

If you don't manually change the language on the login page, the interface will use the user's language once authenticated.
(0012790)
ASolana (reporter)
2018-03-20 13:41

You said "If you don't manually change the language on the login page, the interface will use the user's language once authenticated."

I haven't noticed this behaviour in my tests.


In fact, in login page there's no option to left language blank, there is always a language selected

My Sogo server uses SOGoSupportedLanguages by default, so it supports all languages, sometimes I tried to force SOGoLanguage too, but always login page won.


My tests always show that login page language, whatever it be, manually chosen o automatically configured from web browser language, always becames the new user language (mysql sogo debug log shows that).


As I said, its a very confusing behaviour for users.
User avatar (0012849)
Christian Mack (developer)
2018-04-18 09:28

Just to clarify.
In SOGo V2 + V3 the language set by browser will always set the preferred language of the user upon login.

In SOGo V4 the behaviour is as francis described.
(0012931)
isibaar (reporter)
2018-06-28 14:45

I have the same problem than the original reporter (and I'm using SOGo 4.0). And I think too that this is a bug. If this is working as designed, then the design is flawed.

The problem is that the user has no way of setting a language preference that would override the language of the browser. The login form *always* preselects the language of the browser from the language dropdown. And when the user then logs on without changing the pre-selected language, he will get this language even if he had previously configured a different language preference in the SOGo settings.

So, in short: If a user wants a different language than his browser's language, he needs to manually select this *every time* when logging in. Or his administrator would have to remove all other languages for everyone (via the SOGoSupportedLanguages parameter) to make another language than the browser language the pre-selected language in the login form.

Like others have pointed out too, I think it is common that people may have a different SOGo language preference than is the browser language. So there should be a way that the user's "globally" configured language preference in the SOGo general settings dialog overrides the automatically preselected language in the login form.

So in the SOGo general settings, there should e.g. be a checkbox "Always use this language" and when it's checked the chosen language will be kept even when the user next time logs in with a different language chosen in the login form.

Or there should be an additional entry in the language dropdown "As chosen on login form", which is the default (and matches the current behavior). But when the user then explicitely selects a language preference in the general settings, then this should always take precedence over what's chosen on the login form.

Another (but I think less good) possibility would be to add a new parameter that allows to disable the automatic language pre-selection based on the browser language (SOGoLanguage should be always pre-selected then). Or the user's language preference as set in general settings is stored in a cookie and this - if present - takes precedence over the browser language when preselecting the language on the login form.

- Issue History
Date Modified Username Field Change
2018-03-06 13:09 ASolana New Issue
2018-03-06 13:18 ASolana Note Added: 0012626
2018-03-06 15:30 francis Note Added: 0012628
2018-03-07 04:12 ASolana Note Added: 0012638
2018-03-07 04:34 ASolana File Added: 20180307.debug.log.changing.language.preference.txt
2018-03-07 04:50 ASolana Note Added: 0012639
2018-03-07 06:29 francis Note Added: 0012640
2018-03-13 16:52 ludovic Note Added: 0012691
2018-03-13 16:52 ludovic Status new => resolved
2018-03-13 16:52 ludovic Resolution open => no change required
2018-03-13 16:52 ludovic Assigned To => ludovic
2018-03-15 06:37 ASolana Note Added: 0012707
2018-03-15 06:37 ASolana Status resolved => feedback
2018-03-15 06:37 ASolana Resolution no change required => reopened
2018-03-16 10:15 Christian Mack Note Added: 0012732
2018-03-19 09:04 francis Note Added: 0012782
2018-03-20 13:41 ASolana Note Added: 0012790
2018-03-20 13:41 ASolana Status feedback => assigned
2018-03-20 13:56 francis Note Added: 0012791
2018-03-20 13:56 francis Note Deleted: 0012791
2018-04-18 09:28 Christian Mack Note Added: 0012849
2018-06-28 14:45 isibaar Note Added: 0012931


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker