Make notification settings only available for events with an existing/created event entity

Created on 20 January 2022, almost 3 years ago
Updated 29 March 2023, over 1 year ago

Problem/Motivation

For people new to DANSE one detail in the configuration process for eg one content type is not intuitive at all and hard to grasp.

In the current example only the settings for the Create event are minded and used. All the other configuration settings being set in the screenshot have no effect at all.

Proposed resolution

How about to hide the configuration forms at the beginning and only show the unchecked event checkboxes (*i've only deleted the other nodes and took a screenshot to exemplify the idea) :

If one event checkbox gets checked the column with the according form elements gets faded in:

that would make the inner working of the settings page more apparent and clear.

the only detail to consider is how screenreader users would experience the faded in form elements if a create event checkbox is checked. will they get notified of the newly available options or will it be hidden to them and some extra steps might be necessary to notify them?

Feature request
Status

Fixed

Version

2.2

Component

User interface

Created by

🇩🇪Germany rkoller Nürnberg, Germany

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

    • jurgenhaas committed 2c0323e0 on 2.2.x
      Issue #3259573 by rkoller, jurgenhaas: Make notification settings only...
  • Issue was unassigned.
  • Status changed to Needs review over 1 year ago
  • 🇩🇪Germany jurgenhaas Gottmadingen

    I now had a chance to implement this, and it works as expected with one caveat being left: as this part of a form is being build as a table, we can't fully hide all the rows entirely if nothing is selected. We can only hide the individual cells, which results in empty rows like this:

  • 🇩🇪Germany rkoller Nürnberg, Germany

    i am not sure if that is related. but i've composer required danse 2.2.x-dev on a fresh install. i wanted to install danse and danse content only to test the functionality. but on install on the extend page i run into:

    The website encountered an unexpected error. Please try again later.
    
    Symfony\Component\DependencyInjection\Exception\RuntimeException: Service "danse.subscriber": Parent definition "eca.default_event_subscriber" does not exist. in Symfony\Component\DependencyInjection\Compiler\ResolveChildDefinitionsPass->doResolveDefinition() (line 75 of /var/www/html/vendor/symfony/dependency-injection/Compiler/ResolveChildDefinitionsPass.php).
    Symfony\Component\DependencyInjection\Compiler\ResolveChildDefinitionsPass->resolveDefinition(Object) (Line: 44)
    Symfony\Component\DependencyInjection\Compiler\ResolveChildDefinitionsPass->processValue(Object, 1) (Line: 80)
    Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue(Array, 1) (Line: 35)
    Symfony\Component\DependencyInjection\Compiler\ResolveChildDefinitionsPass->processValue(Array, 1) (Line: 44)
    Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->process(Object) (Line: 73)
    Symfony\Component\DependencyInjection\Compiler\Compiler->compile(Object) (Line: 721)
    Symfony\Component\DependencyInjection\ContainerBuilder->compile() (Line: 1329)
    Drupal\Core\DrupalKernel->compileContainer() (Line: 928)
    Drupal\Core\DrupalKernel->initializeContainer() (Line: 810)
    Drupal\Core\DrupalKernel->updateModules(Array, Array) (Line: 600)
    Drupal\Core\Extension\ModuleInstaller->updateKernel(Array) (Line: 236)
    Drupal\Core\Extension\ModuleInstaller->install(Array, 1) (Line: 83)
    Drupal\Core\ProxyClass\Extension\ModuleInstaller->install(Array) (Line: 502)
    Drupal\system\Form\ModulesListForm->submitForm(Array, Object)
    call_user_func_array(Array, Array) (Line: 114)
    Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object) (Line: 52)
    Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object) (Line: 595)
    Drupal\Core\Form\FormBuilder->processForm('system_modules', Array, Object) (Line: 323)
    Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 73)
    Drupal\Core\Controller\FormController->getContentResult(Object, Object)
    call_user_func_array(Array, Array) (Line: 123)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 583)
    Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 121)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
    Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 163)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 74)
    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: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 698)
    Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
  • 🇩🇪Germany jurgenhaas Gottmadingen

    This is because the dev release is currently WIP as I'm adding more ECA goodies to DANSE, I hope to bring this back to a stable later today.

    In the meantime, you should get it to work when you also enable the ECA module and flush your cache.

  • 🇩🇪Germany jurgenhaas Gottmadingen

    The latest Dev should now be working again. If there was an issue, this would most likely be a new one then.

  • 🇬🇧United Kingdom Janner

    I'm new to this module, so please excuse me if the following is expected behaviour...

    I'm running the current dev release.

    I have DANSE and DANSE content enabled.

    On the DANSE settings for a content type, I select all of the “Create Content” options.

    Doing so reveals a number of role selection lists.

    For “Allow entity type subscription”, there are selection lists for Create, Update, and Delete.

    For “Allow individual entity subscription”, there are selection lists for Update and Delete. (I understand why Create could not be an option here)

    For “Allow related entity subscription”, there are selection lists for Create, Update, and Delete.

    Consequently, I cannot select roles which can subscribe to the Publish, Unpublished, and Comment events.

    This doesn't seem like it should be expected behaviour, particularly for my own desired use case would be to expose the Publish and Comment events as subscription options.

    Note that on the current recommended release, where none of the ‘smart’ revealing/hiding of selection lists is implemented, I can select roles for my desired events and they appear to then behave as expected for allowing people to subscribe.

    One of the concerns mentioned above is the possible implication for screen reader users. As one myself, I personally find the new behavior introduces no issues. In fact, having the selection lists hidden until they are usable offers a more intuitive and efficient experience.

  • Assigned to jurgenhaas
  • Status changed to Needs work over 1 year ago
  • 🇩🇪Germany jurgenhaas Gottmadingen

    Thanks for your feedback, looks like with the conditions applied, some of the options have been lost. That's the purpose of the "Needs review" state.

    • jurgenhaas committed ed70db5e on 2.2.x
      Issue #3259573 by rkoller, jurgenhaas, Janner: Make notification...
  • Status changed to Fixed over 1 year ago
  • 🇩🇪Germany jurgenhaas Gottmadingen

    I fixed that and I also had to publish the 2.2.14 release as we also fixed a heavy performance issue and that needed to go out. I'm marking this as fixed and I suggest that people open new issues should there be any follow-up on this one.

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

Production build 0.71.5 2024