\Drupal\rules\Ui\RulesUiDefinition is missing two methods from \Drupal\Component\Plugin\Definition\PluginDefinitionInterface, which is causing tests to fail.

CommentFileSizeAuthor
rules-fix-tests.patch571 bytessamuel.mortenson

Comments

samuel.mortenson created an issue. See original summary.

jonathan1055’s picture

Without this patch, I confirm that Rules cannot be installed at D8.3.0-beta1+19-dev (as at 2017-Feb-19).
For reference and for searchability the error is:

PHPUnit_Framework_Exception: Fatal error: Class Drupal\rules\Ui\RulesUiDefinition contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Drupal\Component\Plugin\Definition\PluginDefinitionInterface::id, Drupal\Component\Plugin\Definition\PluginDefinitionInterface::getProvider)
in .../modules/rules/src/Ui/RulesUiDefinition.php on line 146

which is the same as for the automated tests.

After applying the patch, Rules can be installed and used as before. I have done a small amount of manual testing and all seems OK. Also the automated tests for Scheduler run OK when this patch is applied. See #2851618: Rules automated tests fail at D8.3 and 8.4

Thanks for working on this.

kmajzlik’s picture

Status: Needs review » Reviewed & tested by the community
nehapandya55’s picture

Thanks Because of above patch i have successfully update version D8.2.6 to D8.3.0-beta1

jonathan1055’s picture

Priority: Normal » Major

New patches in the rules issue queue are "waiting for branch to pass" and do not get started. Maintainers can override this and force a patch to be tested, but ordinary contributors (like me) cannot override, so our patches will never be tested until the branch passes. For example see #15 in #2824348: Warnings when using token replacements in multiple string context parameters. This is effectively halting development work for those who want to contribute to Rules.

The fault also prevents Rules being installed at D8.3 and D8.4 which is a fairly big problem. The patch fixes this.

Hence upping the priority of this issue to Major. The fix is simple and has been confirmed by at least three users.

Thanks
Jonathan

rahulrasgon’s picture

Tested this patch. Works perfectly. RTBC +1

redeight’s picture

With the release of drupal 8.3 to production, this is now more urgent. Tested patch and it worked.

esolitos’s picture

Priority: Major » Critical

I agree with RedEight, this is Critical considering 8.3.0 is now released.

fonant’s picture

Confirming that this patch fixes the error for me :)

imjohnbon’s picture

Fixed the error for me as well. Hope this can get rolled into a release ASAP now that 8.3 is released.

frank hh-germany’s picture

The Patch works fine on 8.3

Thanks

lias’s picture

Ditto patch works on D 8.3

edaa’s picture

Works on 8.4.x-dev

jonathan1055’s picture

According to https://github.com/fago/rules

For some time, development will happen on GitHub using the pull request model:

So, to get this committed I think we need to create a pull request on https://github.com/fago/rules/pulls

esolitos’s picture

Assigned: Unassigned » esolitos

I'll create the PR.

esolitos’s picture

Assigned: esolitos » Unassigned
orabi’s picture

Great , patch works on D 8.3
Thanks

fago’s picture

Status: Reviewed & tested by the community » Fixed

thx, that works! Merged.

  • esolitos authored 0a338ab on 8.x-3.x
    Issue #2849779 by samuel.mortenson, esolitos, jonathan1055: Implement...
jonathan1055’s picture

Thank you fago for the commit, this will really help us all.

jonathan1055’s picture

Please would you consider tagging Rules with a new release 3.0-alpha3? The commit in this issue is critical for Rules at core 8.3. Some users do not download the dev releases, and tagging a new release would let everyone know that this major problem can be avoided by updating. See the later comments from #2854481-7: RulesUiDefinition must be abstract or implement two missing methods

Also, modules such Scheduler (which I maintain) that integrate with Rules and have automated tests that depend on Rules still fail because the dependency in testing only loads the latest tagged release. See #2851618-18: Rules automated tests fail at D8.3 and 8.4

Hopefully you will agree that tagging an alpha3 will be a big step towards more progress with Rules 8.x and will keep the momentum going for more people to be involved in helping this great module to reach 8.x full release.

kmajzlik’s picture

+1 for new release. As Drupal 8.3 has stable release it must-have.

jonathan1055’s picture

Just wanted to repeat the request for a new Rules release tag alpha3. This critical bug has been fixed but is still causing many problems because users do not download the dev code, for example, see these recent issues:

I have left those issues open and not closed them as duplicates yet, just to keep more people watching and involved in the progress.

tophboogie’s picture

+1 for a new release -- took me quite a bit of time to hunt down the php error and find this patch. But I can also confirm that it works :)

glass.dimly’s picture

+1 for releasing dev.

I think that if the current dev version is installable in 8.3 and the alpha2 release version is not, then the dev version should be released as alpha3.

jonathan1055’s picture

I have created #2880164: Make new Rules release 8.x-3.0-alpha3 because this issue may get closed. Please follow it and add your support for a new alpha3 release.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

finaukaufusi’s picture

Just to confirm, this patch works on 8.4.0
Thanks guys.