Problem/Motivation

When Drupal is installed in a foreign language or a foreign language is added on top of the English language in an install profile, Drupal imports translations. This results in two sizeable feedback messages in some cases. If all translations were imported well, some stats are reported, and if there was some format error in even one single string out of the several thousands imported, then an error is also printed.

While this reporting makes sense when a new language is added on the UI, displaying them as part of the installation process seems like too much detail. We don't display stats about config imported or modules enabled, etc. The warning (if shown) is also something the user cannot do anything about as it is about broken HTML in the .po file downloaded. The warning also makes the actual settings.php warning harder to notice and act on, causing warning fatigue.

Proposed resolution

Avoid user facing messages for imported translations except for the case of entirely missing translation files. The logging of the messages that are not displayed should still be intact.

Remaining tasks

Implement properly.

User interface changes

Reporting messages and warnings about invalid HTML strings will not display anymore in the installer.

API changes

No API changes. The proposed implementation fixes the finish_feedback option on locale batches to work according to its documentation and silence user messages (while still keeping logging intact).

Data model changes

None.

Release notes snippet

N/A.

Comments

Gábor Hojtsy created an issue. See original summary.

Status: Needs review » Needs work

The last submitted patch, 2: 3034784.patch, failed testing. View results

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

webchick’s picture

Priority: Normal » Major
Issue summary: View changes
Issue tags: +rc target
StatusFileSize
new427.67 KB

This introduced a rather large UX regression in the installer, so raising priority to major and tagging hopefully as an RC target.

Those error messages persist through another ~8 minutes of the installer that comes after this page, too, as the translations get into place. The "2 translation strongs were skipped" warning in particular would be great to get rid of it we can; the green message is noisy but it's green so can be safely ignored.

moar warnings

shaal’s picture

Version: 8.8.x-dev » 8.7.x-dev
StatusFileSize
new110.42 KB
new234.12 KB

Additional bug (I don't know if this bug requires a separate issue, or if this is the issue that will resolve this bug as well) -

During the Umami installation process, if the user is typing a certain password but types a different password in the "confirm password" field, an error is displayed:
The specified passwords do not match.
(which is good and expected)

The problem appears when the installation process continues, and that password error is still displayed (it is not relevant anymore, because to get to this stage the user must have typed the same password and confirmed password).

The problem continues when the installation is completed, and on the first page of Umami that the user is seeing - that same irrelevant error of mismatched passwords appears again.

shaal’s picture

(interdiff was not possible)
Rerolled patch #2, and added a check if the array exist in lines #394 and #404:
from:
if ($results['finish_feedback']) {
to this:
if (isset($results['finish_feedback']) && $results['finish_feedback']) {

After applying this patch here are the new screenshots -

During installation:

After installation completed:

Status: Needs review » Needs work

The last submitted patch, 7: ootb-too-much-details-in-installer-3034784-7.patch, failed testing. View results

shaal’s picture

shaal’s picture

I removed the extra isset I added in #7, since it only camouflage and hide a warning during installation but doesn't resolve the actual problem.

Warning messages during installation using drush si demo_umami:

call_user_func_array() expects parameter 1 to be a valid callback, no array or string given batch.inc:298                                        [warning]
array_merge(): Argument #1 is not an array batch.inc:298                                                                                         [warning]
call_user_func_array() expects parameter 2 to be array, null given batch.inc:298                                                                 [warning]
call_user_func_array() expects parameter 1 to be a valid callback, no array or string given batch.inc:298                                        [warning]
array_merge(): Argument #1 is not an array batch.inc:298                                                                                         [warning]
call_user_func_array() expects parameter 2 to be array, null given batch.inc:298                                                                 [warning]
session_id(): Cannot change session id when headers already sent AbstractProxy.php:94                                                            [warning]
Installation complete.  User name: admin  User password: tr9HsTpQqP                                                                              [ok]
No configuration objects have been updated.                                                                                                      [status]
Congratulations, you installed Drupal!                                                                                                           [status]

Additional insights from Slack channel after I asked for a hint about the 35 failed tests in #7:
@Gábor Hojtsy:
I vaguely remember when I worked on it I figured there are three kinds of batches from two files that are related and would need the same fix to be consistent. That is where it got real ugly because we need to add the same batch function at multiple places given the slightly different batch building in include files.

@alexpott
Yep what @Gábor Hojtsy is saying looks correct… something is going wrong in one of the places where the batch is being built.

smaz’s picture

Assigned: Unassigned » smaz

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.9 was released on November 6 and is the final full bugfix release for the Drupal 8.7.x series. Drupal 8.7.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.8.0 on December 4, 2019. (Drupal 8.8.0-beta1 is available for testing.)

Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

nlisgo’s picture

Assigned: smaz » Unassigned
Status: Needs work » Postponed (maintainer needs more info)

Can someone confirm that this is an issue with 11.x? It has been 6 years since this was last confirmed.

nlisgo’s picture

Issue tags: +Bug Smash Initiative, +ddd2025
gábor hojtsy’s picture

I don't think anything changed with this in the meantime.

catch’s picture

Issue tags: -rc target
smustgrave’s picture

Category: Bug report » Task
Status: Postponed (maintainer needs more info) » Needs work

This came around again as a daily BSI target

This seems more like a task vs a bug

Sure with things moving to OOP functions this will need a good amount of work.

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.