๐Ÿ‡บ๐Ÿ‡ธUnited States @axb

Account created on 8 March 2022, almost 3 years ago
#

Merge Requests

More

Recent comments

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

I wonder if it is a good time to redo a roadmap for Drupal 10+.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

axb โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

axb โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

I think I fixed it a little bit

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

axb โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

aXb โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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).

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

aXb โ†’ made their first commit to this issueโ€™s fork.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Issue appears to be from origination of module

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Cannot reproduce issue as described.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

aXb โ†’ made their first commit to this issueโ€™s fork.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

w00t. Thank you.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

alexb7217 โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Ok, I see now. Thank you for the clarification.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

The changes I made were the minimum possible to support Drupal 10.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Thank you.

I am unclear on the process. Did I request ownership by putting this issue into the Drupal.org Project Ownership queue?

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Just watching this. As a new contributor I made the wrong branch merge mistake already. Maybe I can learn something here.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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)
๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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)
๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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).
๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Created an issue fork, cloning to my development machine to try updating the code.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Since I did the tutorial, was going to see if I can update this to Drupal 10 or 11 supported.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Punctuation in summary for consistency with other items on the SDC index page.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Punctuation in summary for consistency with other items on the SDC index page.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Punctuation in summary for consistency with other items on the SDC index page.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Punctuation in summary for consistency with other items on the SDC index page.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Or maybe I can close it?

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Put in a hasty pull request with a basic fix.

I'm interested in the CLI support idea as well.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

alexb7217 โ†’ created an issue.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Let me know if I can help at all. I could try to write some tests or something.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Switching to minor. This is no big deal.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

Made a trivial commit. My first commit to Drupal code. I will look for additional opportunities to contribute here.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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::

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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.

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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?

๐Ÿ‡บ๐Ÿ‡ธUnited States axb

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

Production build 0.71.5 2024