Account created on 12 December 2011, about 13 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States skyriter

@jackfoust I posted a patch on issue 2949540 Allow specific form ids for clientside validation Needs work for allowing us to exclude forms by form id so that we could use the browser's built-in validation. That is our current work-around.

🇺🇸United States skyriter

Adding the newest patch, after the issues identified by coderdan were resolved.

This patch removes any mention of webform.

🇺🇸United States skyriter

This issue was written without an understanding of what was already being done in https://www.drupal.org/project/clientside_validation/issues/2949540 Allow specific form ids for clientside validation Needs work .

As a result, I added code over there to satisfy the need to both include and exclude forms.

I think now that this issue would be better scoped to only exclude fields (though having spent some time trying to do just that, I am stumped on how to do it).

🇺🇸United States skyriter

skyriter changed the visibility of the branch 3495738-form-exceptions to hidden.

🇺🇸United States skyriter

Now that I've updated the config that gets installed, the tests are passing.

🇺🇸United States skyriter

I have added the patch file, but even though this is working on my local and in our testing environment, I'm getting a PHPUnit error that I do not understand. If anyone could help with this, I'd appreciate it.

2949540-39.patch

🇺🇸United States skyriter

I should note that we have tested this patch and it appears to be working without issue.

🇺🇸United States skyriter

I created a separate issue specific to exceptions, building off of the the most recent work done for this issue: https://www.drupal.org/project/clientside_validation/issues/3495738#comm... Add a configuration option for exceptions to all forms selection Active

🇺🇸United States skyriter

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

🇺🇸United States skyriter

@johnv, we filter on the workflow state itself, rather than the transition.

🇺🇸United States skyriter

Good point. I can just call my node creation function in the gatherItemsToProcess() before I go and get those just created nodes.

🇺🇸United States skyriter

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

🇺🇸United States skyriter

Those steps are now here in this issue. This should be ready once more to be reviewed.

🇺🇸United States skyriter

Compared in a visual diff tool both the Safari and Chrome output, and it was the same.

🇺🇸United States skyriter

I'm continuing with this work. Whereas yesterday, I added a -webkit-drop-shadow to maintain Safari UI parity with Chrome and Firefox, I realized that the type of shape we are putting the shadow on was a rectangle and cshould be visually identical with box-shadow, which Safari supports. So I'm going to update the code accordingly.

🇺🇸United States skyriter

@marky was mentoring at my table and helped me in my first time contribution.

🇺🇸United States skyriter

Could someone take a look at this when they have a moment?

🇺🇸United States skyriter

I added this merge request during the Portland DrupalCon 2024 Contribution day.

🇺🇸United States skyriter

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

🇺🇸United States skyriter

Even though I agree we've ruled out logging, the slowdown is still a legitimate phenomenon, at least when running the script on my content. I suspect this will be experienced by others with mature platforms. I would like to keep this ticket open to investigate a possible mitigation.

If it turns out that some combination of sleep() and resume after a certain number of items achieves the desired effect of shortening the overall execution time significantly, we could add a feature request issue to add config in the UI to pause at after a certain number of items and set the length of the pause. We could even provide some guidance while leaving the option as an advanced setting, perhaps.

🇺🇸United States skyriter

After more research into the codit_batch_operations script behavior and that of a similar previously-written custom script that does the same thing, I have to concur. I see no evidence that it has anything to do with logging. Based on conversations @swirt and I have had privately, I'm convinced by his initial supposition that it was about other processes associated with saving the nodes that begin to stack up.

🇺🇸United States skyriter

Because we are pushing changed data to a queue to send to an api, we found that a source of significant slowdown a deduplication process to make sure to we don't add duplicate data to the queue. Turning off that process, which we have in a config form on our site, made a huge difference.

Running this locally in DDEV, before I had the deduping turned off, I was getting the following performance as the script processed ~16,000 items (broken out during certain percentage bands of completeness):

  • 4 - 5%: 5:11 minutes (at around 30 row/min)
  • 7 - 8%: 7:02 minutes (at around 25 row/min)
  • 8 - 9%: 7:19 minutes (at around 25 row/min)
  • 8 - 10%: 8:28 minutes (at around 17 row/min)

After I turned off deduping, I saw this performance:

  • 38 - 39%: 1:00 minute
  • 39 - 40%: 1:00 minute
  • 40 - 41%: 1:00 minute
  • 61 - 62%: 1:45 minutes
  • 62 - 63%: 1:49 minutes

Not, that we're still seeing a slowdown, but not nearly as extreme. The changed content is still being added to our queue to push to an api, as it would in production. If we didn't have content that did so, we would probably see better performance.

🇺🇸United States skyriter

When I try to rerun it, the codit code returns a message to delete the running instance first, so I did that.

But the time I ran it after the rebuild of the environment, I did not rerun it. It slowed down, nevertheless.

🇺🇸United States skyriter

Another option would be to have getNidsOfType() accept a prefix argument, which could be the <bundle_type> or anything else.

🇺🇸United States skyriter

Thanks for this and all your help, Steve.

🇺🇸United States skyriter

I was just looking through this and wanted to note that with Drupal 8 having reached EOL, this patch should no longer have to do a version check.

🇺🇸United States skyriter

I was wondering why the Access policy API is not in alphabetical order. Was that intentional?

🇺🇸United States skyriter

I fully endorse Norah, knowing her to be a supportive and effective Drupal community member for years with many code and organizational contributions.

🇺🇸United States skyriter

For some context, I created a site on Simplytest.me with the following modules installed and enabled
- office_hours@1.17.0
- clientside_validation@4.0.2
- clientside_validation_jquery@4.0.2

I used the default configuration.

While entering the hour range, the site threw this error when going from the "To" to the "From" field.

🇺🇸United States skyriter

johnv, do you know when a new release will be created?

🇺🇸United States skyriter

Thank you for your quick response and action, johnh. We use this module in many of our content types and paragraphs at the VA. Would you mind granting me credit for my involvement on this issue?

🇺🇸United States skyriter

I noticed that this failed the test pipeline. I think it's because config/schema/office_hours.schema.yml was not updated to include "show_empty".

🇺🇸United States skyriter

#10 worked for me, but the other patch did not.

🇺🇸United States skyriter

After discussion with other developers on the project, I opted to not completely replace the help text but to concatenate it, both to have consistency with the help test across all Linkit widgets and to minimally affect existing fields.

🇺🇸United States skyriter

The records with a null field that had been failing previously are passing once again during migration.

🇺🇸United States skyriter

I have run multiple migrations successfully with this patch in my local development environment.

🇺🇸United States skyriter

Um, please disregard.
A co-worker noticed my typo

class TsField extends ProcessPluginBase {

not

class TzField extends ProcessPluginBase {

Production build 0.71.5 2024