Comments

Pancho created an issue. See original summary.

pancho’s picture

StatusFileSize
new20.21 KB

Enclosed patch should fix all of them, while striving to be BC not just for callers, but also for extending classes.

Most probably we'll still see one or the other test fail, but Webform tests are too heavy to be run on my local machine.

pancho’s picture

Oh wow, this looks massive. Let's untangle it one by one, though.

  1. Most fails are due to my mistakes in WebformSubmissionViewController::__construct().
  2. Apart from that, I have to revert the changes in WebformSubmissionStorage, as the deprecated service has only been removed from ContentEntityStorageBase in Core version 8.7... :/
  3. Same with Views' BulkForm.

Most certainly, there's more, but this one should already be significantly better.

pancho’s picture

Nice. At least D8.8 is green now.

Apart from that, I have to revert the changes in WebformSubmissionStorage, as the deprecated service has only been removed from ContentEntityStorageBase in Core version 8.7... :/

Same for WebformSubmissionViewBuilder and EntityViewBuilder.

Also, more reverts in WebformSubmissionStorage... :/

pancho’s picture

Same for WebformSubmissionViewController and EntityViewController.
Also, yet another revert in WebformSubmissionStorage.

We should be getting closer, but it might still take one or the other iteration.

pancho’s picture

StatusFileSize
new13.16 KB
new1013 bytes

Not too many remaining test failures. One more revert, and this patch might test green.

Note however that the PHP 5.6 failures are because webform 5.x is already broken on PHP 5.6.

pancho’s picture

Found a much better solution for WebformSubmissionStorage.
So if it still tests green, I think we're finally ready for review.

pancho’s picture

We currently don't really need the $entityFieldManager in WebformSubmissionStorage.
Instead, we may (and should) use SqlContentEntityStorage::getFieldStorageDefinitions(). While it is deprecated as well in D8.7, replacing it by entityFieldManager's getActiveFieldStorageDefinitions() should be a separate issue. I therefore filed #3058902: [Drupal 8.7.x] Replace the deprecated SqlContentEntityStorage::getFieldStorageDefinitions() as a followup.

Also fixed the issue causing the test fails in #7. Are we green again now?

pancho’s picture

Status: Needs work » Needs review

Tests are green, except for PHP 5.6, which is due to #3058899: Unpredictable order of confirmation and notification mails breaks tests on PHP5.

Ready for review.

pancho’s picture

jrockowitz’s picture

StatusFileSize
new17.01 KB

Re-rolling patch

pancho’s picture

Some minor fixes.

pancho’s picture

Fixing another CS issue.

jrockowitz’s picture

This patch should just target #3055154: [meta] Require Drupal 8.7.x..

jrockowitz’s picture

Status: Needs review » Postponed
jrockowitz’s picture

Title: Replace deprecated 'entity.manager' service by its various successors » [Drupal 8.7.x] Replace deprecated 'entity.manager' service by its various successors
pancho’s picture

Status: Postponed » Needs review

Sorry, but I don't see why it should. At least not in its entirety.
Why do we want to keep using deprecated Core functions without any necessity?

The argument might be that you're not willing to add any BC band-aid code only to remove it in December. That'd be understandable.
A solution might be: fix now, what may be finally fixed; fix in December, whatever we can't fully fix now.

jrockowitz’s picture

Status: Needs review » Postponed (maintainer needs more info)

I would rather, we set up and commit a single patch that resolves the issue completely. I just updated the issue queue test bot to use 8.7.x instead of 8.6.x.

pancho’s picture

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

There’s no “resolving the issue completely.” For each Core version, there are new deprecations, as you know.
We may only fix whatever may be fixed for particular Core versions we’re continuing to support.
As of 8.6, there’s more we can fix than we’ve done. #2985600: [Drupal 8.6.x] EntityManager has been split into 11 classes was a nice start, but remains incomplete.

Let me show you in another patch what may be done now without adding any BC band-aid. If you don’t like it, we may still push it to December.

jrockowitz’s picture

After Drupal 8.8.0 is released on December 4, 2019, no more APIs will be deprecated.

Personally, I don't want to commit a patch that says in six months someone (possibly me) has to do more work.

jrockowitz’s picture

Status: Needs work » Postponed
seanr’s picture

Status: Postponed » Active

Now that 8.8.1 is out, I suggest reopening this (and have done so).

jrockowitz’s picture

Status: Active » Closed (outdated)