Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Problem/Motivation
Steps to reproduce:
- Edit new users view
- Add field, filter by user, select all of them
- Click save
Drupal\Core\Config\ConfigValueException: user_add_role_action.administrator key contains a dot which is not supported. in Drupal\Core\Config\ConfigBase->validateKeys() (line 217 of core/lib/Drupal/Core/Config/ConfigBase.php).
Drupal\Core\Config\ConfigBase->validateKeys([Array])
Drupal\Core\Config\ConfigBase->validateKeys([Array])
Drupal\Core\Config\ConfigBase->validateKeys([Array])
Drupal\Core\Config\ConfigBase->validateKeys([Array])
Drupal\Core\Config\ConfigBase->validateKeys([Array])
Drupal\Core\Config\ConfigBase->validateKeys([Array])
Drupal\Core\Config\ConfigBase->set(display, [Array])
Drupal\Core\Config\Config->set(display, [Array])
Drupal\Core\Config\Entity\ConfigEntityStorage->doSave(who_s_new, Drupal\views\Entity\View)
Drupal\Core\Entity\EntityStorageBase->save(Drupal\views\Entity\View)
Drupal\Core\Config\Entity\ConfigEntityStorage->save(Drupal\views\Entity\View)
Drupal\Core\Entity\Entity->save()
Drupal\views_ui\ViewUI->save()
Drupal\views_ui\ViewEditForm->save([Array], Drupal\Core\Form\FormState)
call_user_func_array([Array], [Array])
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers([Array], Drupal\Core\Form\FormState)
Drupal\Core\Form\FormSubmitter->doSubmitForm([Array], Drupal\Core\Form\FormState)
Drupal\Core\Form\FormBuilder->processForm(view_edit_form, [Array], Drupal\Core\Form\FormState)
Drupal\Core\Form\FormBuilder->buildForm(Drupal\views_ui\ViewEditForm, Drupal\Core\Form\FormState)
Drupal\Core\Entity\EntityFormBuilder->getForm(Drupal\views_ui\ViewUI, edit, [Array])
Drupal\views_ui\Controller\ViewsUIController->edit(Drupal\views_ui\ViewUI, block_1)
call_user_func_array([Array], [Array])
Drupal\Core\Controller\HtmlPageController->getContentResult(Symfony\Component\HttpFoundation\Request, \Drupal\views_ui\Controller\ViewsUIController::edit)
Drupal\Core\Controller\HtmlPageController->content(Symfony\Component\HttpFoundation\Request, \Drupal\views_ui\Controller\ViewsUIController::edit)
call_user_func_array([Array], [Array])
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Symfony\Component\HttpFoundation\Request, 1)
Symfony\Component\HttpKernel\HttpKernel->handle(Symfony\Component\HttpFoundation\Request, 1, TRUE)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Symfony\Component\HttpFoundation\Request, 1, TRUE)
Drupal\Core\StackMiddleware\PageCache->handle(Symfony\Component\HttpFoundation\Request, 1, TRUE)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Symfony\Component\HttpFoundation\Request, 1, TRUE)
Stack\StackedHttpKernel->handle(Symfony\Component\HttpFoundation\Request, 1, TRUE)
Drupal\Core\DrupalKernel->handle(Symfony\Component\HttpFoundation\Request)
Proposed resolution
Remaining tasks
User interface changes
API changes
Comment | File | Size | Author |
---|---|---|---|
#12 | interdiff.txt | 1.3 KB | olli |
#12 | 2354491-12.patch | 3.88 KB | olli |
#9 | 2354491-9.patch | 2.58 KB | olli |
#9 | 2354491-test_only.patch | 1.85 KB | olli |
#4 | 2354491.patch | 835 bytes | dawehner |
Comments
Comment #1
penyaskitoIf I'm right, throwing an exception to the user face makes an issue critical during beta period.
I used the views component, but not sure if it is config instead.
Comment #2
penyaskitoThe culprit is "User: Bulk update".
Comment #3
penyaskitoWhat we are intending to save is:
Actions ids are in the form
action_name.rid
, but the.
is not allowed as keys, which is what views is trying to do.Comment #4
dawehnerSomething along this is probably the simplest solution.
Comment #5
penyaskitoThis is meant to be the action id, so is the filename of the yml file too. ':' is not allowed in a file name in Windows.
Comment #6
dawehnerWhat kind of other separator could we use? Two underscores maybe?
Comment #7
penyaskitoThat was my first thought, but that would be a convention we don't have any way to enforce afaik. I will ping alexpott for getting his view on this one.
Comment #8
penyaskitoDiscussed with alexpott and dawehner on IRC:
Comment #9
olli CreditAttribution: olli commentedSomething like this?
Comment #11
dawehnerI guess you would have to adapt the config schema here as well? Maybe though we just don't have any config schema for it yet, you never know :)
Comment #12
olli CreditAttribution: olli commentedWe have some schema in core, action, node and user:
core/config/schema/core.data_types.schema.yml
core/modules/action/config/schema/action.views.schema.yml
core/modules/node/config/schema/node.views.schema.yml
core/modules/user/config/schema/user.views.schema.yml
Not sure what to do with these here, but moved that mapping from node to core.
Why is the bulk_form implementation in system module, tests, schema and views_form_substitutions in action module, views_data in views module? These would be easier to find if we could move them to views in a follow-up for example.
Comment #13
dawehnerIt is indeed kind of a mess at the moment, and there was probably "a reason" for it. I think we thought that this is an UI for actions, which is exactly what is part of action module ... but yeah feel free to change that in the future.
Comment #15
alexpottThis issue addresses a critical bug and is allowed per https://www.drupal.org/core/beta-changes. Committed 629f4e0 and pushed to 8.0.x. Thanks!