2

I'm not sure if this is the forum where you want this issue raised, or whether Mattermost or a bug report is best, but here goes. Please let me know if I should be raising this elsewhere.

A recurring error after updating a multilingual site is 'no such field' for a number of fields. It is still occurring after the 5.2.2 update, in particular in the civicrm_uf_group view, where the following fields are missing:

  • frontend_title
  • submit_button_text
  • cancel_button_text

Having got a bit fed up with errors like this occurring every update, it seemed, I have investigated further to discover the following:

  1. It seems that line 375 in CRM/Upgrade/Form.php should read

CRM_Core_I18n_Schema::rebuildMultilingualSchema($this->locales, $rev, TRUE); not CRM_Core_I18n_Schema::rebuildMultilingualSchema($this->locales, $rev);

to tell the function that we are doing an upgrade.

  1. When the schema structure is updated, a file of the form SchemaStructure_x_y_z.php should be included in CRM/Core/18n, as SchemaStructure.php doesn't appear to be called during the update/upgrade process. That file should contain the class 18n_SchemaStructure_x_y_z

The upgrade to 5.2.2 is giving 'no such field' errors because the latest schema structure file is Schematructure_4_7_alpha1.php, and so is the latest file to be called by the update process.

Is this a correct analysis, or have I misunderstood something?

1 Answer 1

6

In the latest version, you can also rebuild the multilingual schema yourself by navigating to API Explorer http://www.site-name/civicrm/api#explorer

Select Entity = System, Action = rebuildmultilingualschema and click on Execute button.

enter image description here

If you aren't able to access the API explorer UI, try using the cv command from the terminal.

cv api System.rebuildmultilingualschema

Or using drush -

drush cvapi System.rebuildmultilingualschema
8
  • Thanks, that is useful. I'd read about it being possible, but it wasn't clear how one ran it. But, shouldn't multilingual updates just work? Commented Jul 4, 2018 at 11:47
  • Agree multilingual should be handled during the update process. I use the above solution if it fails due to some unknown reason. Commented Jul 4, 2018 at 13:50
  • I found I could only get System -> rebuildmultilingualschema to work if I had first corrected the errors in the civicrm_uf_group view, so that is no solution to the upgrade issue. Commented Jul 4, 2018 at 17:22
  • Do you get any error while executing the above api OR the above page isn't loading for you? Can you paste any screenshot of the error in the description? Commented Jul 5, 2018 at 2:35
  • Basically, you just see System -> get and a rotating wheel waiting for the other actions to load after clicking on the down arrow that should bring up a list of actions Commented Jul 6, 2018 at 8:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.