The ConfigFormBase constructor supports the typed config manager as an optional argument in Drupal 10
public function __construct(ConfigFactoryInterface $config_factory, $typedConfigManager = NULL) {
https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Form%21Co...
The change to the required arguments in Drupal 11 necessarily prevents support of Drupal 8 and 9.
I wonder if it is a good time to redo a roadmap for Drupal 10+.
Uncertain what to do with this automated issue. From the information provided, it sounds like it is worth keeping open until one of the releases is up to date with the latest Drupal.
Issue 3491720 was opened separately to modify the .info.yml file to Drupal 11.
Closing this as outdated. I created a new issue to start from a cleaner point since I appear to have made a mess of the git history.
Between this and the fix for
issue 3490317
๐ฌ
Needs Typed Config Manager for D11 I Think
Active
the beta version of responsive_menus
should be Drupal 11 compatible.
I tried 2.0.x insofar as getting /admin/config/user-interface/responsive_menus to load in Drupal 11.
We will be presently making use of this module as part of a Debug Academy Drupal training course and can provide in-depth reporting of 2.0.x behavior if desired.
I did the same as @ultrabob
:
I've set up a fresh site with Drupal 11, visited and saved the settings form, set up the responsive menu, and confirmed that it works with no errors in the error log.
Additionally, I made the same adjustments to the competing module 'responsive_menus' for Drupal 11 compatibility.
The fix seems good to me.
I think I fixed it a little bit
We did it.
Comment here explaining why you would like to maintain the module:
This module is 99% the same code and same functionality as the other module I am maintaining: https://www.drupal.org/project/rsvplist โ
I would like to maintain both, and eventually merge them (retire one, and keep the other).
taking a look see
Issue appears to be from origination of module
Cannot reproduce issue as described.
aXb โ made their first commit to this issueโs fork.
aXb โ made their first commit to this issueโs fork.
I wonder if there is a way to show in example code how to instantiate an object using a factory function.
https://www.drupal.org/docs/develop/standards/php/object-oriented-code#i... โ
$foo = new Thing();
is natural to me, and I'd probably default to that just not being familiar with factory function object creation syntax.
Would be happy to provide the documentation edit myself, with a little guideance. Web search for "drupal factory function instantiate object" hasn't been helpful.
w00t. Thank you.
Fixed.
alexb7217 โ created an issue.
Ok, I see now. Thank you for the clarification.
The changes I made were the minimum possible to support Drupal 10.
Thank you.
I am unclear on the process. Did I request ownership by putting this issue into the Drupal.org Project Ownership queue?
Comment here explaining why you would like to maintain the module.
I contributed some code to update the module to Drupal 10 support, and opened a pull request (https://git.drupalcode.org/project/rsvplist/-/merge_requests/1)
Since this module is closely related to the Acquia module development course, I think it would be a good contrib module to work on after completing the module training course.
If the project is opted in to security coverage, confirm that you have previously received security coverage opt-in permission
The project is not opted in to security coverage at this time.
Just watching this. As a new contributor I made the wrong branch merge mistake already. Maybe I can learn something here.
You cannot use a project where most of the code has been committed/written by somebody else, to get the permission to opt projects into security advisory policy.
Fair enough, will opt out of security coverage until / if the code is rewritten. Thank you.
Sending to the project ownership queue
Link to the project: https://www.drupal.org/project/issues/rsvplist โ
Comment here explaining why you would like to maintain the module.
I contributed some code to update the module to Drupal 10 support.
Since this module is closely related to the Acquia module development course, I think it would be a good contrib module to work on after completing the module training course.
If the project is opted in to security coverage, confirm that you have previously received security coverage opt-in permission
The project is not opted in to security coverage at this time.
I would like to apply for security coverage and use this module as a project to learn how to get it covered.
After updating the submitForm()
function to be compatible with Drupal 10, the next issue is at /admin/reports/rsvplist
:
The website encountered an unexpected error. Try again later.
TypeError: array_map(): Argument #1 ($callback) must be a valid callback or null, class "Drupal\Component\Utility\SafeMarkup" not found in array_map() (line 57 of modules/rsvplist-3449703/src/Controller/ReportController.php).
Drupal\rsvplist\Controller\ReportController->report()
call_user_func_array() (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 627)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 121)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext() (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 704)
Drupal\Core\DrupalKernel->handle() (Line: 19)
Module installed and configured fine after adjusting `rsvplist.info.yml` to core_version_requirement: ^10
.
Not surprised the next issue shows up when testing the RSVP Form on submit. Firing up Xdebug:
The website encountered an unexpected error. Try again later.
Error: Call to undefined function Drupal\rsvplist\Form\db_insert() in Drupal\rsvplist\Form\RSVPForm->submitForm() (line 83 of modules/rsvplist-3449703/src/Form/RSVPForm.php).
call_user_func_array() (Line: 129)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers() (Line: 67)
Drupal\Core\Form\FormSubmitter->doSubmitForm() (Line: 597)
Drupal\Core\Form\FormBuilder->processForm() (Line: 325)
Drupal\Core\Form\FormBuilder->buildForm() (Line: 224)
Drupal\Core\Form\FormBuilder->getForm() (Line: 25)
Drupal\rsvplist\Plugin\Block\RSVPBlock->build() (Line: 171)
Drupal\block\BlockViewBuilder::preRender()
call_user_func_array() (Line: 111)
Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 859)
Drupal\Core\Render\Renderer->doCallback() (Line: 421)
Drupal\Core\Render\Renderer->doRender() (Line: 493)
Drupal\Core\Render\Renderer->doRender() (Line: 240)
Drupal\Core\Render\Renderer->render() (Line: 475)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 149)
__TwigTemplate_79a18381ad3382211b8ce6c6c54a4a7d->doDisplay() (Line: 394)
Twig\Template->displayWithErrorHandling() (Line: 367)
Twig\Template->display() (Line: 379)
Twig\Template->render() (Line: 38)
Twig\TemplateWrapper->render() (Line: 39)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 480)
Drupal\Core\Render\Renderer->doRender() (Line: 240)
Drupal\Core\Render\Renderer->render() (Line: 475)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 93)
__TwigTemplate_71ba187603886f286a07b876dfe22b76->doDisplay() (Line: 394)
Twig\Template->displayWithErrorHandling() (Line: 367)
Twig\Template->display() (Line: 379)
Twig\Template->render() (Line: 38)
Twig\TemplateWrapper->render() (Line: 39)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 480)
Drupal\Core\Render\Renderer->doRender() (Line: 240)
Drupal\Core\Render\Renderer->render() (Line: 158)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 627)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 153)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
call_user_func() (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 704)
Drupal\Core\DrupalKernel->handle() (Line: 19)
First error, as expected:
The website encountered an unexpected error. Try again later.
Drupal\Core\Extension\InfoParserException: The 'core_version_requirement' key must be present in modules/rsvplist-3449703/rsvplist.info.yml in Drupal\Core\Extension\InfoParserDynamic->parse() (line 67 of core/lib/Drupal/Core/Extension/InfoParserDynamic.php).
Created an issue fork, cloning to my development machine to try updating the code.
alexb7217 โ created an issue.
Since I did the tutorial, was going to see if I can update this to Drupal 10 or 11 supported.
Working on this issue at `#drupalconpdx` with and `#chadhester` and `#Zoyace Shrestha` `#first-contribution` with guidance from `#ultimike`
We spent 1200 to 1500 May 8 2024 porting the merge request from Drupal 10 to Drupal 11.
Punctuation in summary for consistency with other items on the SDC index page.
Punctuation in summary for consistency with other items on the SDC index page.
Punctuation in summary for consistency with other items on the SDC index page.
Punctuation in summary for consistency with other items on the SDC index page.
CLI support for cache flushing on remote machines would also be nice to have.
`drush cache:rebuild -vvv` works however it is not as fun as an animated flushing ascii graphic would be.
Or maybe I can close it?
I would agree. After filing this, came across several other similar contib module tests not working properly. Thank you. I will investigate our setup.
Feel free to close this or allow to autoclose. I don't seem to have the power to do so.
alexb7217 โ created an issue.
Randomly came across this request for more information, I was searching for information and examples of compiling the uswds frontend.
Not a maintainer for the project, but can say 8.x-1.0-beta3 is pinned to Drupal 8. Since Drupal 8 is end of life, 8.x-1.0-beta3 is, by association, also end of life.
Reference:
https://www.drupal.org/psa-2021-11-30 โ
https://git.drupalcode.org/project/uswds/-/blob/8.x-1.0-beta3/uswds.info...
For future support timelines, I've rarely if ever seen a Drupal contrib module offer a concrete guarantee. Since we are mostly volunteers, if we need something supported we roll up our sleeves and support it.
Agreed with @maxstarkenburg, I looked in the issue queue to see if I could find some guidance with configuring the module and its dependencies. The documentation for getting started with this module would benefit from some more thorough documentation.
Adding my notes here for other lost devs who wander here:
Installed project ( https://www.drupal.org/project/dropzonejs โ ) using "The composer way #2".
Manually modified `composer.json` as instructed, however updated the version to 5.9
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
},
{
"type": "package",
"package": {
"name": "enyo/dropzone",
"version": "5.9.1",
"type": "drupal-library",
"dist": {
"url": "https://github.com/enyo/dropzone/archive/v5.9.1.zip",
"type": "zip"
}
}
}
],
After running the `composer require drupal/dropzonejs enyo/dropzone` command, the DropzoneJS library was indeed installed at /libraries, e.g.:
โโโ autoload.php
โโโ core
โโโ example.gitignore
โโโ index.php
โโโ INSTALL.txt
โโโ libraries
โโโ dropzone
โโโ modules
โโโ profiles
โโโ README.md
โโโ robots.txt
โโโ sites
โโโ themes
โโโ update.php
โโโ web
โโโ web.config
Then I needed to `npm run build` and sort through some node issues to get dropzone to build the minified js and css files as required by the module, e.g.:
libraries/dropzone/dist
โโโ basic.css
โโโ dropzone-amd-module.js
โโโ dropzone.css
โโโ dropzone.js
โโโ min
โโโ basic.min.css
โโโ dropzone-amd-module.min.js
โโโ dropzone.min.css
โโโ dropzone.min.js
Once that was in place, I was able to install and enable the "dropzonejs" module in Drupal.
Clear the caches and refresh open tabs to utitilze the installed Drupal modules and DropzoneJS installed libraries
Finally I set up a test config at `/admin/config/media/media-bulk-config`, and uploaded some test files at `/media/bulk-upload/test_media_bulk_upload_config`. The module worked fine, functionally.
Put in a hasty pull request with a basic fix.
I'm interested in the CLI support idea as well.
The module relies on Javascript in the browser to play the fun flushing sound.
In the case of CLI only development, perhaps a CLI flushing animation would be a good approach.
alexb7217 โ created an issue.
Let me know if I can help at all. I could try to write some tests or something.
Switching to minor. This is no big deal.
alexb7217 โ created an issue.
Thank you again. We are currently implementing page layouts using this module. It seems like it will be very useful for us, and it looks like more people are trying it out recently. I will keep an eye out for opportunities to contribute as I become more familiar with it.
Made a trivial commit. My first commit to Drupal code. I will look for additional opportunities to contribute here.
I also just installed and tested the patch version and confirmed parent select and cascading select/deselect are working great.
$ git clone -b 3347244-select-parents-automatically https://git.drupalcode.org/issue/term_reference_tree-3347244.git
Then configured and tested as described in the documentation. ::thumbsup::
This is great. I can take a closer look when I get in to the office today.
I'd be happy to help write documentation for this module. It seems like it will be a useful addition to our project.
> "Go to the content type you wish to add the paragraph components too."
Could be further rewritten for clarity as:
> "Create or edit the relevant content type in your Drupal project."
This shortens the word count and avoids the preposition "to" at the end of the sentence.
I can also make a try at contributing documentation changes through the issue system, if needed.
With experimentation I discovered that Content type > Add field > Add a new field > - Select a field type - > Reference revisions - Paragraph seems to map the field to a type that can be used to create at least the USWDS Cards (Regular) component. This shows in the table as Field type: Entity reference revisions - which I think is what was intended by the configuration instructions.
alexb7217 โ created an issue.
Yes, we have already resolved the issue we are having by removing the <strong>
tag from the footer menu template in the sub-theme. Curious still to know why the <strong>
tag is there to begin with, since the USWDS source code does not prescribe it, and appears to have no visible or semantic benefit.
The issue appeared to be intermittent at first. I was only able to really isolate it on an actual mobile device using Chrome to debug over USB. Now able to reproduce it consistently with a fresh install of everything, emulating a mobile device in Chrome dev tools.
Not an exact match, this issue reports on a related problem: https://github.com/uswds/uswds/issues/4809
The poster reports the console log error related to currentElement.nextElementSibling.setAttribute("id", menuId);
The poster also describes the resulting lack of MENU button functionality and footer rendering problems that follow the error.
The poster also suggests a simple condition check to resolve it: if (currentElement.nextElementSibling) { currentElement.nextElementSibling.setAttribute("id", menuId);}
-- which was my naive proposed fix as well.
The Javascript could be made more resilient on the USWDS side, for sure. We can also resolve the issue on the theme side if the twig template doesn't need the <strong>
tag in web/themes/contrib/uswds_base/templates/navigation/menu--footer_menu.html.twig
Watching this issue as well.
If I removed the strong element from the code in `web/themes/contrib/uswds_base/templates/navigation/menu--footer_menu.html.twig` --
Then it appears the Big Footer menu JS issue is resolved, and the footer collapses properly in mobile view. I think it may be just that simple.
From this:
<div class="mobile-lg:grid-col-6 desktop:grid-col">
<section class="usa-footer__primary-content usa-footer__primary-content--collapsible">
<strong>
{{ link(item.title, item.url, link_attributes.addClass('usa-footer__primary-link'))}}
</strong>
<ul class="usa-list usa-list--unstyled">
{% if item.below %}
{{ menus.menu_links(item.below, 1, footer_style, link_attributes) }}
{% endif %}
</ul>
</section>
</div>
To this ...:
<div class="mobile-lg:grid-col-6 desktop:grid-col">
<section class="usa-footer__primary-content usa-footer__primary-content--collapsible">
{{ link(item.title, item.url, link_attributes.addClass('usa-footer__primary-link'))}}
<ul class="usa-list usa-list--unstyled">
{% if item.below %}
{{ menus.menu_links(item.below, 1, footer_style, link_attributes) }}
{% endif %}
</ul>
</section>
</div>
Is it possible the strong element is unnecessary?
Looking at the example code for the Big Footer, as an example: https://designsystem.digital.gov/components/footer/
The
elements are in place alongside a
which gives the markup a structure that works with the Javascript code and avoids the error state.
It may be there are two actions to pursue:
1. This theme could implement the footer code to provide markup compatible with the Javascript in USWDS
2. The USWDS Javascript could provide better case handling to accomodate the failure mode without breaking the functionality
It may be there are two actions to pursue:
1. This theme could implement the footer code to provide markup compatible with the Javascript in USWDS
2. The USWDS Javascript could provide better case handling to accomodate the failure mode without breaking the functionality
alexb7217 โ created an issue.