Problem/Motivation

The latest release of ECA had to enhance the event subscriber interface for an additional argument and therefore, the ECA sub-module here requires and tiny update. I'll provide an MR in a minute.

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

jurgenhaas created an issue. See original summary.

jurgenhaas’s picture

Status: Active » Needs review
grimreaper’s picture

Status: Needs review » Needs work

A minor change but additionnally, should a version restriction be added into the sub-module .info.yml file?

And a composer.json in the sub-module or a conflict in the main module composer.json?

Also next time can you please link to the issue that introduced the change in ECA?

jurgenhaas’s picture

Assigned: Unassigned » jurgenhaas
jurgenhaas’s picture

Assigned: jurgenhaas » Unassigned
Status: Needs work » Needs review

Sorry for the delay, I've now responded to your review and also included another small API change from ECA. We're now close to 1.0 RC1 and do not expect API changes anymore.

As all previous versions of ECA have been WIP anyways, I don't think that a specific version restriction at this point would make much sense. We expect people not to really use this before 1.0 will have been released.

And yes, I will link to the issue next time.

rkoller’s picture

Status: Needs review » Needs work

I've applied the patch (and cleared the caches with drush several times). that way i was able to install and uninstall the entity_share module without the WSOD error i've sent you the error output via slack this morning @jurgenhaas. but when i tried to access a model now i ran into a new error:

 The website encountered an unexpected error. Please try again later.
Error: Class "Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase" not found in include() (line 25 of modules/contrib/entity_share/modules/entity_share_client/src/Plugin/Action/UpdatePolicyAction.php).
include() (Line: 571)
Composer\Autoload\includeFile('/var/www/html/web/modules/contrib/entity_share/modules/entity_share_client/src/Plugin/Action/UpdatePolicyAction.php') (Line: 428)
Composer\Autoload\ClassLoader->loadClass('Drupal\entity_share_client\Plugin\Action\UpdatePolicyAction')
class_exists('Drupal\entity_share_client\Plugin\Action\UpdatePolicyAction') (Line: 96)
Drupal\Component\Plugin\Factory\DefaultFactory::getPluginClass('entity_share_client_update_policy', Array, 'Drupal\Core\Action\ActionInterface') (Line: 17)
Drupal\Core\Plugin\Factory\ContainerFactory->createInstance('entity_share_client_update_policy', Array) (Line: 83)
Drupal\Component\Plugin\PluginManagerBase->createInstance('entity_share_client_update_policy') (Line: 61)
Drupal\eca\Service\Actions->actions() (Line: 450)
Drupal\eca_modeller_bpmn\ModellerBpmnBase->getTemplates() (Line: 73)
Drupal\bpmn_io\Plugin\ECA\Modeller\BpmnIo->edit() (Line: 147)
Drupal\eca\Controller\EcaController->edit('process_bspcxj9')
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 564)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 158)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 80)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 709)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

happened on the latest Drupal 9.4.x-dev version and also the dev version of eca and bpmn as well as version 3.x-dev@dev for entity_share.

jurgenhaas’s picture

Status: Needs work » Needs review

@rkoller yes, you also need to install the views_bulk_operations module, unfortunately. This is because the entity share module comes with an action that requires VBO and as ECA goes through all available actions, it loads that as well but fails because that module fails. From a entity share perspective, that action is optional, but when another module asks for a list of all actions, then entity share will cause this issue. That's unrelated to our entity_share_eca integration. It's a separate issue for entity_share in general together with the ActionPlugin manager from core.

grimreaper’s picture

Assigned: Unassigned » grimreaper

Thanks!

I will rebase locally for proper commit message and attribution.

Thanks for the detailed comments.

grimreaper’s picture

Assigned: grimreaper » Unassigned
Status: Needs review » Fixed

Merged.

Thanks!

grimreaper’s picture

Issue tags: +ddd2022
rkoller’s picture

uhhh sorry @jurgenhaas your answer slipped through. i've installed that latest stable version of VBO (4.1.2 - https://www.drupal.org/project/views_bulk_operations) but the error in #7 persists. :/

and on a side note i've checked the dependencies in the info.yml files as well as the modules composer.json for entity_share as well as entity_share_eca info.yml and in none of them VBO is listed as a dependency. would it be at least for entity_share_eca a reasonable step to make it a required dependency?

update: yuck apologies i am still half asleep and forgot to enable VBO after requiring it. so #7 is fixed and solved. but never the less i would still vote for adding VBO as a dependecy to the entity_share_eca info.yml. and maybe also make a note on the entity_share project page. there VBO is listed unted recommended not required modules which is fine. but make a remark at the entity_share_eca entry that for entity_share_eca in contrast is required instead of recommended so the user is aware of that necessity.

jurgenhaas’s picture

Adding VBO as a dependency to the ECA submodule wouldn't help. The problem is completely unrelated to ECA.

That problem in #7 already happens when just Entity Share Client is enabled and any module is using the action plugin manager from core to find out details about all the available actions with code like e.g. this:

$actions = [];
foreach ($this->actionManager->getDefinitions() as $plugin_id => $definition) {
  $actions[] = $this->actionManager->createInstance($plugin_id);
}

Calling createInstance will crash, if VBO is not enabled.

Status: Fixed » Closed (fixed)

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