Can't change user given and family name in OJS 3.1.2.1

Hi there,

after upgrading to OJS 3.1.2.1, we are unable to change user’s given and family name. When a user tries to change these two fields in their profile or if the administrator tries to change them from the user list screen, the error message is:

Errors occurred processing this form A given name is required. (Deutsch)

However, all field includingt the one for Deutsch (German) mentioned in the error message are filled out.

It seems interesting that registration from the frontend is possible, no error message is displayed there. But when trying to edit the newly registered user’s name, the problem is there again.

Any advice on how to solve that would be helpful. We have seen [OJS 3.1.2] When switching to english language name and given name of users are not displayed · Issue #4675 · pkp/pkp-lib · GitHub and believe our problem might be related.

For our problem, it seems worth adding that we have added a new localisation called dx_DX which some of our journals use instead of de_DE. However, de_DE is never activated in the same journal as dx_DX for data fields, UI and submission.

Hi @ojsbsb,

Could you confirm what languages you have in your website settings and which ones are enabled? When attempting to change the given and family names, do users see double boxes (as screenshot below)?

image

Kind Regards,
Patricia M.
Public Knowledge Project Team

Hi @pmangahis,

thanks for your reply. The languages installed are English, French and our custom German locale, which is a modified copy of the default one. All three are activated, none is deactivated. The primary locale is our custom german locale. And yes, the error looks just like the screenshot you have posted.

Hi @ojsbsb,

Have you tried entering the same given and family name in both respective boxes?

Kind Regards,
Patricia Mangahis
Public Knowledge Project Team

Hi @pmangahis, yes I tried that, but it did not solve the problem.

May I just ask how it is supposed to work - are the name fields meant to be multilingual, or is this an unexpected behaviour already? Besides that, do you have any idea how to fix the main problem - that user name fields can’t be changed from the UI? Thanks :slight_smile:

Hi @ojsbsb,

Yes, if there is more than one language set on the journal, it would populate two text boxes so when a user changes from one language to another that text appears in both languages. Typically having them in both languages would solve this issue.

Does the form save when you try to make the change?

Kind Regards,
Patricia M.
PKP Team

This is probably related to this issue: OJS 3.1.2 in localized author names the site default locale is required even if the journal does not use it · Issue #5136 · pkp/pkp-lib · GitHub

No @pmangahis, the form does not save. The error is as in the screenshot below. After reloading, the fields stay at their old value. I filled out both fields in all three active languages, but it’s hard to get those multi-language input boxes stay open for a screenshot.

Thanks @ajnyga for the link. If I understand that issue correctly, the names are required in the site default locale, which is the one set in config.inc.php at https://github.com/pkp/ojs/blob/master/config.TEMPLATE.inc.php#L187-L188 .

So I tried setting this site default locale to en_US (before, it was de_DE). In addition to that, I changed the journal’s default locale to en_US (was also de_DE before). However, the error message kept saying

Errors occurred processing this form A given name is required. (Deutsch)

while according to that issue, I would have expected it to say English instead of Deutsch at the end.

If it is any relevant, this OJS installation was recently upgraded from OJS 3.1.1.4. The upgrade process itself worked without immediate problems.

Now that you changed the setting, you could try emptying the file cache just to make sure none of the settings are loading from there.

Also, in journal language settins, is the “form” selection enabled for en_US?

Thanks, @ajnyga - unfortunately, emptying the cache did not help. The error message still states Deutsch instead of English. For all installed languages, UI, forms and submissions are enabled.

So:

  • in config.inc.php you have en_US as the main locale?
  • in site level admin settings you have en_US selected as the main locale?
  • in journals settings you have en_US as the main locale and all three checkboxes enabled?

How about in the user profile under Contact tab: what working languages are selected?

Okay, at first I thought it was solved, but as it turned out, I tested in the wrong OJS instance.

So: Yes to all three points, but no matter what working language is selected, the problem persists.

Hi, everybody. I had the same issue. After ojs upgrade user details form alerted on save that given name is in wrong locale, however the only language is english. I made pure installation of ojs (3.3.0.7) and compare tables “site” in database. In upgraded db this table still contained “ru_RU” locale as primary (and one column was missing).
I dropped this table and copied it from pure installed db. After that user details saved normally.

2 Likes

This topic was automatically opened after 2 days.