Account created on 4 February 2011, almost 14 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States adamzimmermann

Those changes make sense to me. I'll see if I can find some time to take a swing at this in the next several weeks and report back with any questions.

🇺🇸United States adamzimmermann

I heard back from the editorial team:

"...a large part of the appeal of workspaces for us is launching/closing a competition, where we have to make many edits to many nodes around the site. Currently that's done manually on individual nodes in succession. With this we can do it all at once and be able to identify exactly what was done where all at once/in one view."

🇺🇸United States adamzimmermann

That's a great question. I forget all of the context around the original request from the editorial staff, but I believe it was centered around the idea of not wanting to have to click that button for each node when a workspace might contain changes from dozens of entities. Let me see if someone still on the project can chime in here with more information.

🇺🇸United States adamzimmermann

I ran into the same issue and it stumped me as I'm not a front-end developer. Another developer on my team pointed out that Drupal 11 ships with jQuery 4, Select2 doesn't seem to support jQuery 4 yet, and the isArray method is deprecated in jQuery 4, hence the issue.

Here are some links that provide more context:

So we decided to go with the Tagify module/library until this is resolved.

Hope that helps!

🇺🇸United States adamzimmermann

Are you saying that the chosen module offers that now?

Nope, that's what led me to this module!

🇺🇸United States adamzimmermann

I can confirm this issue exists. I was hoping to switch to this module from Chosen, but this is a blocker. I'm loving everything else about this module though!

🇺🇸United States adamzimmermann

I have a commit ready to add the tests, but I don't seem to have access to the MR.

I'm not sure we need a test for the issue reported in #12 since the new approach doesn't have that issue, and from my experience of trying to do it the wrong way too (before I found this issue), the fact that we can load the node edit page earlier in the test proves there isn't an issue.

I upload a patch if that helps.

🇺🇸United States adamzimmermann

I'm using 2.0.0-beta3 and the changes in MR 64 work perfectly for me and solved a client request. Thank you!

So RTBC from that perspective, but I see that this MR targets the 8.x branch, so I'll refrain from updating the issue Status for now.

🇺🇸United States adamzimmermann

The issue referenced in the previous comment was merged. Re-rolled the patch so it applies to 2.1.2

🇺🇸United States adamzimmermann

If you are using the diff module with the Workspaces Extra module , you will need the patch I just uploaded to alter the service definition.

🇺🇸United States adamzimmermann

This seems to have fixed the issue for me too.

🇺🇸United States adamzimmermann

This takes the work from the patch in comment #3 and adds return types to fix a WSOD issue and removes some debugging code I found in the patch. I'm able to load the diff route now with this module enabled.

FWIW I based my patch branch off of the 2.0.x branch and the patch in #3 applied cleanly as my starting point for updating it.

🇺🇸United States adamzimmermann

This works in my local testing, now to see if it works for others.

🇺🇸United States adamzimmermann

Should this issue be for version 2.0.x-dev? I think that is why the MR I opened had a diff wildly different than what I expected.

Going to try take two on generating a new patch that adds return types to the methods to make them match the method signatures in the latest diff module.

🇺🇸United States adamzimmermann

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

🇺🇸United States adamzimmermann

For anyone else encountering this, the Workspaces Extra module provides a much cleaner interface that "solved" this issue for us.

🇺🇸United States adamzimmermann

The MR in its current state fixed the issue I was having. However, I wasn't seeing this in relation to CKEditor. I was having this issue after enabling the core Workspaces module and some associated modules. I can provide more detail if that would be helpful.

🇺🇸United States adamzimmermann

For anyone else having this issue, the Workspaces Extra module seems to help solve this and many other issues. It feels weird to need a contrib module for core functionality to work though.

🇺🇸United States adamzimmermann

Assumption: Most Drupal sites are uploading files using media entities, and media entities throw the error noted above when trying to edit them in the non-default workspace. This makes the workspaces module unusable (with media entities) as someone trying to implement it on a new site build right now.

I don't see any recent activity on this issue and the last patch seems to have issues from what others are reporting.

Is the workspaces module simply not being used on production sites yet, or how are others getting around this?

Do we need to alter media entities like they have done for files in 🐛 Cannot create entity with image in a workspace Fixed ? Are there known side-effects to this that make this not a viable solution?

Any insight is much appreciated!

🇺🇸United States adamzimmermann

I updated the MR so it applies to the latest branch cleanly. I regenerated the CSS, but front-end development is not my strong suite, so hopefully I did that correctly.

However, I'm unable to apply the patch due to it containing binary file changes. I got around that by simply removing those changes in my local patch file, but then I'm missing some icons. How are others testing this?

A few notes:

I'm still seeing the issue reported in #29 (likely due to my patching issue).

Style to match Gin branding.

This is listed in the issue description, and I think it would be great to try to do this still. If someone can point me in the right direction on the approach we want to take, I can take a swing at it.

While the MR in its current state is a big improvement. The interface is still very different from anything else rendered in the Gin theme. This seems to be due to the CSS from the core module. Perhaps we need to be more aggressive in overriding it to provide a cohesive admin experience?

Toolbar with the current state of the MR:

🇺🇸United States adamzimmermann

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

🇺🇸United States adamzimmermann

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

🇺🇸United States adamzimmermann

I'm not sure what is going on with the preview-image-styles fork, but the patch from that MR would not cleanly apply. I suspect it has something to do with the fork being out of sync. I tried to update the fork, but there was a conflict.

I didn't have the time to fully sort this all out, so I just recreated the patch for the 2.x branch.

I tried to create a new MR instead of a patch (hence the new extra branch), but again I was having issues with the fork being out of date and the 2.x branch in the fork was not up to date enough to create a patch against.

Hopefully this patch helps someone who can sort this out, or just apply the patch directly like the old days.

Unfortunately the patch also includes a fix from another issue, as trying to apply both patches at the same time was causing a patch application failure. However, both patches were needed, as the other patch allows the preview controller to not throw an error ( 🐛 Preview results in Error: Call to a member function getDefinitions() on null Active ).

Once that issue is merged, the patch will need to be re-rolled. Until then, I can confirm that this patch works on 2.x.

Perhaps the "Version" on this issue should be updated to 2.x-dev as well? I'll let the powers to be handle that though.

🇺🇸United States adamzimmermann

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

🇺🇸United States adamzimmermann

I can also confirm that this fixes the issue.

🇺🇸United States adamzimmermann

This seems to duplicate the work in 🐛 imageEffectManage not assigned RTBC . This MR includes some additional refactoring though.

🇺🇸United States adamzimmermann

I'm working on a new project where they have built their own version of SDC with a slightly different feature set, but a similar ideology. When I saw it I thought of this issue and wanted to share the approach.

We are integrating with generic Twig templates from a component library, and needed a way to map data to specific variables with specific formatting/values in a way that kept that mapping connected to the Twig template it was used with.

The use of a custom plugin system was the solution they architected. Each component/Twig template has an associated plugin class that does the mapping, but it could be used for preprocessing too.

I agree with @CtrlADel here. We should not have unrelated files change how the component renders, we'd be violating the Single in SDC.

I would second this, and it seems that I'm sharing something similar to the plugin idea shared above in #3321203-18: Have a way to implement the a preprocess function per each SDC component (ideally in the same folder) .

Hope this helps.

🇺🇸United States adamzimmermann

Excited to see what you come with here. I'm not surprised there are some inconsistencies and issues with the refactoring to where queueing occurs mid-project.

🇺🇸United States adamzimmermann

I would like to push this forward if possible still. @apotek what are your thoughts on some of the issues you raised?

🇺🇸United States adamzimmermann

Thank you for creating this follow-up issue.

@apotek if you have time, feel free to work on this too, just let me know so we don't duplicate effort.

🇺🇸United States adamzimmermann

trim() requires a string, but $row->get(configuration['field']) returns a field

What is a "field"? I'm trying to work on a fix, but genuinely unsure what the code change should be to prevent the issue.

🇺🇸United States adamzimmermann

I just ran into this issue and confirm that it causes a WSOD.

I can also confirm that the patch solves the issue.

I haven't done extensive regression testing, but my initial testing of our endpoints shows no issues.

🇺🇸United States adamzimmermann

The initial MR was merged, but I would like to keep this open for adding the final polish/fixes as the work I did was more of a prototype of the functionality and not feature complete.

@apotek has noted some of those changes in his comments above.

🇺🇸United States adamzimmermann

I think, given the option of having to re-queue 1 million items from the start, if the process is interrupted, versus possibly having some paging overlap or possible interstitial changes (which could be queued later with a date-based query), I would prefer having to re-queue and re-migrate a few hundred over having to requeue and remigrate a million. I think even a "sloppy" resume is worth it. My $0.02

When you put it that way, it makes my concern seem like less of an issue haha.

I have a MR coming. I don't think it's ready for merging or final review, but it could be a interim solution that we use via patch and continue to improve on as time permits. I'm open to feedback on the approach here.

🇺🇸United States adamzimmermann

Thank you for creating this issue and providing such a detailed request.

I want to acknowledge that I 100% see the desire for this and the value, but I have two concerns off-hand.

  1. The complexity around managing the state of the current page/the page that should be resumed from and keeping that separate for different types of requests. This is solvable in my mind though.
  2. The issue around the result set changing between the initial request and the next request, which might completely alter the items in a given page of results depending on the sorting being used. This is potentially solvable if new items are only ever added to later pages, but that is something we need to determine based upon the sorting algorithm being used.

We will have to think about this more when we get to this.

🇺🇸United States adamzimmermann

@pratik_kamble thank you! This just removed the need for a patch from a PR I had in progress.

🇺🇸United States adamzimmermann

I went with this approach:

or keep it as is and create a new function called retrieveContentItem() :p that we call from within getContentItem()?

I named it slightly different though.

🇺🇸United States adamzimmermann

Currently, orange_dam drush commands specify the migration with an `--migration` option. But the migrate module specifies it as a bare argument. IOW, we do `drush orange-dam:migration-run --migration=` but the migrate module does it this way `drush migrate:import `

@apotek I actually tried to go down that road and if we go that route, we will lose the ability to not pass a migration and have the interaction choice tool. So I can see both sides of the argument. What are your thoughts?

Cannot add a required argument after an optional one.

I'm going to merge the changes we have so far, and we can continue the discussion about this.

🇺🇸United States adamzimmermann

I'm going to take a pass at understanding the scope/feasibility of this.

🇺🇸United States adamzimmermann

@apotek I believe the changes I made address the needs you surfaced. It should pass through any options that are sent to it.

🇺🇸United States adamzimmermann

I have solved the issues and this is ready for review.

Production build 0.71.5 2024