Brooklyn, NY
Account created on 25 September 2008, over 16 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

Okay my mistake the issue is with the media_contextual_crop_iwc_adapter

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz created an issue.

🇺🇸United States jrockowitz Brooklyn, NY

I updated the project page based on your suggestions.

🇺🇸United States jrockowitz Brooklyn, NY

I had a few minutes to test this patch.

Below are my basic steps to review

  • Check out the MR
  • Clear cache
  • Add custom field to page content type
  • Create a link field using default values
  • Create a link field that only shows URL, placeholder, attributes, etc...
  • Confirmed default link field worked as expected
  • Confirmed customize link field worked as expected

The most immediate minor issue I found was adding a new link field logged the below warning multiple times.

Deprecated function: Creation of dynamic property Drupal\custom_field\Plugin\DataType\CustomFieldLink::$value is deprecated in Drupal\Core\TypedData\TypedData->setValue() (line 102 of core/lib/Drupal/Core/TypedData/TypedData.php).

🇺🇸United States jrockowitz Brooklyn, NY

I will promote my sandbox to a dedicated ECA report module, allowing people to contribute to it there. On the project page, I will reference this ticket.

🇺🇸United States jrockowitz Brooklyn, NY

If the consensus is that this functionality will eventually be integrated into the Modeler API and ECA (core), I could promote the sandbox to a project with the 'eca_report' namespace. The only downside of that decision is that we are establishing an 'eca_report' namespace, which might be around for only a few years.

🇺🇸United States jrockowitz Brooklyn, NY

Based on #11, the new modeler API can provide a plugin usage report. The ECA Report module adds some additional columns to the reports based on the plugin type.

It might make the most sense to postpone this and leave the code in the sandbox module AS-IS.

🇺🇸United States jrockowitz Brooklyn, NY

The \Drupal\eca_report\Controller\EcaReportBaseController::getUsedIn method is relatively basic and could be reworked to support the Modeler API. At the same time, in 3.x, the ECA entity is not being changed, so we might not have to tweak any code.

My hope is that we select an MVP solution that can be easily iteratively improved without requiring additional work for the ECA maintainers.

I do see that eca_ui.module is going to change significantly with 3.x, and maybe adding this report to that module is not the best approach.

🇺🇸United States jrockowitz Brooklyn, NY

I appreciate the immediate feedback.

For #2, similar to the Views plugin report, we should only list enabled plugins.

For #3, also similar to the Views plugin report, I added a 'Used in' to track an ECA plugin's usage.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

We could implement the work-around inside the webform module if required.

🇺🇸United States jrockowitz Brooklyn, NY

The patch removes the expanded attribute which I think improves the accessiblity for screen readers.

Even though a machine/automated review says the tag + attributes is invalid, it does not mean we should remove the attribute to pass an automated test.

🇺🇸United States jrockowitz Brooklyn, NY

I am not sure this is resolvable. Changing the tooltip's HTML tag will cause visual regression on the sites targeting the SPAN tags. You might have to use the patch AS-IS.

🇺🇸United States jrockowitz Brooklyn, NY

The challenge will be adding Ajax callbacks to the widget.

🇺🇸United States jrockowitz Brooklyn, NY

@damienmckenna I am hesitant to add new features, but maybe this is simple to implement, and the variant dropdown is only visible if the webform is using variants.

The webform nodes 'References' kind of allows people to build nodes for different variants.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz changed the visibility of the branch 3517069-accessibility-issue-tabs to hidden.

🇺🇸United States jrockowitz Brooklyn, NY

This is most likely the future direction for external libraries.

Create a mirror for external library dependencies for composer support Active

🇺🇸United States jrockowitz Brooklyn, NY

Please create an MR and lets see if the test pass.

I am not sure we can make this type of access control change without impact existing expectations.

🇺🇸United States jrockowitz Brooklyn, NY

People should weigh-in if this enhancement is useful.

🇺🇸United States jrockowitz Brooklyn, NY

The short answer is people have to upgrade to resolve this issue

🇺🇸United States jrockowitz Brooklyn, NY

I reverted the commit.

🇺🇸United States jrockowitz Brooklyn, NY

@BramDriesen My jaw dropped when I logged back in. I was about to re-roll the MR when I saw that you had already done it. Thank you!!!

🇺🇸United States jrockowitz Brooklyn, NY

We probably need to rebase this because of 📌 Convert to OOP Hooks Active

🇺🇸United States jrockowitz Brooklyn, NY

Your persistence has paid off. I am at DrupalCon is time to merge this. Thank you!!!

🇺🇸United States jrockowitz Brooklyn, NY

While it is a big patch, this is the same process used for core to convert, and we can spot check that the conversions are accurate. Since this is rector it's really just copying the hooks to a hook class an method.

Webform also has more tests than most modules so we can have more confidence than most modules would have that this won't introduce systemic issues.

I completely agree with you that this should not introduce systemic issues and merging it would nudge more contrib modules to use OOP hooks.

🇺🇸United States jrockowitz Brooklyn, NY

I have to agree that this is a release blocker

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

Since we are changing the $form array, this should be only committed to 6.3.x

🇺🇸United States jrockowitz Brooklyn, NY

Here is the change record. With tests passing, I am fine with merging this.

🇺🇸United States jrockowitz Brooklyn, NY

There are security implications for allowing someone to specify the submission owner via query parameter.

ChatGPT suggested the below approach which is a valid solution

/**
 * Implements hook_webform_submission_presave().
 *
 * Allow setting the webform submission owner from a query string parameter.
 */
function MYMODULE_webform_submission_presave(WebformSubmissionInterface $webform_submission) {
  // Check if a query parameter 'submission_owner' exists.
  $owner_uid = \Drupal::request()->query->get('submission_owner');
  
  if ($owner_uid && is_numeric($owner_uid)) {
    // Ensure the user ID exists in the system.
    $user = \Drupal\user\Entity\User::load($owner_uid);

    if ($user) {
      // Set the submission's owner to the user ID from the query string.
      $webform_submission->setOwnerId($owner_uid);
    }
  }
}
🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

I think we need to fork the webform bootstrap 3 module into a dedicated project and deprecate the code in the webform module.

🇺🇸United States jrockowitz Brooklyn, NY

In a form alter hook, you can change the $form['progress'] weight or alter the $form array.

ChatGPT suggested the below approach, which is completely valid and the simplest solution

/**
 * Implements hook_form_alter().
 */
function mymodule_form_alter(array &$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  // Check if the form ID matches the webform submission form.
  if ($form_id == 'webform_submission_form') {
    // Save the progress element into a temporary variable.
    $progress_element = $form['progress'];
    // Remove the progress element.
    unset($form['progress']);
    // Add the progress element to the end of the form.
    $form['progress'] = $progress_element;
  }
}
🇺🇸United States jrockowitz Brooklyn, NY

Please review the MR based on #17 which tries to keep the changes as simple as possible.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

I am for any patch that simplifies the JS code and is safe to commit.

Core at some point reversed https://www.drupal.org/node/1570578 and use strict is no longer included in core JS.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

🇺🇸United States jrockowitz Brooklyn, NY

I think the current OOTB approach is the use something like IMCE to upload a file to the public file directory and attach the file via the Attachment URL element.

If we were going to support attachments via file upload I would opt for Attachment File element, which could be maintained in a dedicated contributed module. Does this approach make sense?

🇺🇸United States jrockowitz Brooklyn, NY

Make sense that a mailer application needs the body to be a string.

🇺🇸United States jrockowitz Brooklyn, NY

Adding a new property to Name would require a new 6.4.x version of Webform to be created.

This improvement should be handled in a dedicated contrib module. You can also use https://www.drupal.org/project/webform_composite to create this variation of a name input.

🇺🇸United States jrockowitz Brooklyn, NY

I tested the fix in Chrome and Firefox and it looks good.

🇺🇸United States jrockowitz Brooklyn, NY

MRs are welcome to help resolve this

🇺🇸United States jrockowitz Brooklyn, NY

We have been using this patch on production and it seem sreasonable that we want to ensure the webform_image_select.element library loads after webform.filter.js

🇺🇸United States jrockowitz Brooklyn, NY

The tweak looks fine to me, and enough people have reviewed this

🇺🇸United States jrockowitz Brooklyn, NY

jrockowitz made their first commit to this issue’s fork.

Production build 0.71.5 2024