Closed (fixed)
Project:
Drupal.org infrastructure
Component:
Meeting
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
14 Jan 2025 at 22:46 UTC
Updated:
12 Feb 2025 at 16:49 UTC
Jump to comment: Most recent
| benjifisher | Hi! I am benjifisher on d.o. |
| bryan | :wave: b_sharpe on d.o |
| bsnodgrass (he/him) | bsnodgrass on D.O. back from vacation refreshed! |
| alexpott | :wave: alexpott and I’ve made spaghetti carbonara… (cream is for heathens) |
| thejimbirch | Ah, you all are no fun. I want to see moar recipes =}Here's one I made last night playing with the AI CKEditor module.https://github.com/kanopi/saplings-ai-ckeditor-experience |
| bryan | Mine are all non-public unfortunately |
| leslieg | leslieg on d.o. Have not created any Drupal recipes yet |
| benjifisher | Can we open threads in the main channel, or is there a thread to add discussion topics? |
| thejimbirch | Ah, I missed making that thread to add topics @benjifisher . Feel free to add the next number, I am done for now. |
| Bob McDonald (ultrabob) | ultrabob. I’ve made a few internally, and we’ll be ramping up in the coming weeks, and hopefully engaging more to contribute back to the initiative. |
| mandclu | mandclu... Events recipe :calendar: (edited) |
| guptahemant | guptahemant, internally we have been working on converting our setup profile to recipes |
| hestenet (he/him) | Tim from the DA - just following along! |
| markie | markie here.. I am still working on a hockey league recipe |
| sonfd | sonfd, in a former life with recipes jr. (i.e. about 18 months ago) I created a whole proprietary install profile built with dozens of recipe ingredients, dishes, and meals.I haven't touched recipes in about 12 months which is a shame because soooo much has happened in that time :heart_eyes: :tada: (edited) |
| RobLoach | robloach here! Been looking through some of the AI-based Recipes :fire: |
| raubin | r.aubin here, creating some recipes to test things out and our team's working on the contact form recipe |
| bircher | bircher :wave: |
| ltrain | Sorry I’m late to the party… @ltrain here. We’ve added paragraphs and layout builder recipes to our starter kit at Four Kitchens (choose your own adventure). They have our default components that integrate with our front-end component library and Emulsify theme (also comes with the starter kit). I need to add them to the recipe book. I’ll do that this week! |
| thejimbirch | Cleverly named also. :chefkiss: |
| jnicola | I wasn’t here yesterday, but here meow!I’ve not made Recipes yet. Working to get RecipeDiscovery in place as a few of us spent some time on it at DrupalCon. We (PDX Drupalcon folks) also made a bare bones “RecipeUI” that worked similar to to the Module UI and did install recipes, as nothing existed at the time and folks were really excited and intersted. That is tabled currently pending RecipeDiscovery and if ProjectBroswer is just straight up superior to it now. |
| thejimbirch | We should be able to close a lot of the issues in the Recipes Application section of our Roadmap[#3446089]#recipe-application |
| phenaproxima | Let me also state, importantly, that the default behavior is still to do strict comparisons. We might change that, but for now, the status quo is unchanged. And in some cases, you might want strict comparisons. Don’t just opt all your recipes out of it and call it a day. (edited) |
| phenaproxima | This is also not the same thing, to be clear, as force-apply. Force-apply would be “you WILL use this config, no matter what”. We don’t support that yet. |
| phenaproxima | This is more “if you already have config with the same name(s), I’ll just leave those existing ones alone” |
| alexpott | I’ll just leave those existing ones aloneIs not quite correct. It’s “ignore the config files in recipe or modules and get on with running the config actions already” |
| phenaproxima | @alexpott :thinking_face: That makes it sound like it skips import entirely and runs config actions only, which is not the case. It will still import whatever doesn’t exist. |
| alexpott | “ignore the specified config files in recipe or modules if they exist and get on with running the config actions already” …my point being is that we don’t really leave them alone. |
| phenaproxima | Oh, I see. We don’t leave them “alone” in the sense that the config actions ignore them. That’s true. |
| Rajab Natshah | WOW, so nice - I faced issues with that.I had case on this with |
| Rajab Natshah | My Playground testing case was.Recipes to assign permission to active user roles ( on the projects page )https://git.drupalcode.org/project/cucumber_recipes/-/tree/10.0.x/cucumb... to assign permission to active user roles ( on the Products page )https://git.drupalcode.org/project/cucumber_recipes/-/tree/10.0.x/cucumb... to assign permission to active user roles ( on the Components page )https://git.drupalcode.org/project/cucumber_recipes/-/tree/10.0.x/cucumb... user roleshttps://git.drupalcode.org/project/cucumber/-/tree/10.0.x/config/install... user roles on optional caseshttps://git.drupalcode.org/project/cucumber/-/tree/10.0.x/config/optiona... for optional roleshttps://git.drupalcode.org/project/cucumber_user_roles/-/tree/10.0.x/mod... |
| Rajab Natshah | I think strict: false could shrink that in my custom playground profile install_tasks to work well with my selected recipes while installing |
| phenaproxima | Probably. Use it with forethought |
| guptahemant | Let me also state, importantly, that the default behavior is still to do strict comparisonsBut in the change record i noticedThat said, in certain situations, recipes might want the strict behavior. The recipe can set strict: true to keep doing things the old way.So just to confirm what’s the correct and do we need to update the change record to clarify things correctly |
| phenaproxima | @guptahemant Yes, the CR is accurate. The default is to still do strict, but I would still recommend setting strict: true just to be explicit about your intentions. And, if we change the default, your recipes will keep working as expected. |
| bircher | I think this solves the issue that we discussed with @alexpott in Barcelona (for which I din't open an issue on d.o) with the naïve recipe creation where you just copy the config from the sync directory into the recipes config folder instead of putting it into a "create if not exists" section in the recipe yaml file. I don't have any beef with the default to be strict if it is so easy to set. Time will tell which is the more used option, so I happy that the recommendation is to be explicit (ie set it to TRUE if you actually care about the strict comparison) |
| bryan | on that note, whats the current "Should this be core or distributions_recipes" status? I'm out of the loop on the expectations here |
| thejimbirch | Bug fixes and minor improvements have been going to core. I appreciate the Recipes Initiative tag so we can track.Things that need more than one issue, or are larger epics can be on the project. We can always move the issue to core. |
| alexpott | I plan to get to this one really soon. It’d be great to land as it is a key piece of the recipe puzzle. |
| Rajab Natshah | Unpacker :star-struck:For sure when this is in Drupal Core, we will need the following.Maybe in Core, or it could be in the Composer Patches ~2.#3452522: "Unpack" patches from a recipes composer.json to the root composer.json |
| benjifisher | If someone will point me to where this decision was discussed, then I will not ask anyone to explain it here. |
| benjifisher | OTOH, if the answer is "seemed like a good idea at the time", I will suggest some alternatives. |
| bryan | I'm not sure I follow what you're asking? Are you asking why they aren't in folders specific to their function? |
| thejimbirch | Recipes aren't namespaced. |
| phenaproxima | @benjifisher They are all in separate projects, as far as you need be concerned. Core is special cased because of technical reasons. |
| phenaproxima | Core is the only thing that can ship multiple recipes. |
| benjifisher | Why can't a module include recipes/mymodule_example/recipe.yml or a bare recipe.yml? |
| phenaproxima | A module could include that, @benjifisher, but it would not be able to use any recipes except for core’s. |
| alexpott | And a module’s recipes would not turn up magically in discovery. |
| thejimbirch | If a module had a recipe, there will be no doubt be some conflicts in how the config folder is consumed also. (edited) |
| benjifisher | ... it would not be able to use any recipes except for core’s.Cool. |
| phenaproxima | I like to think of it as a cookbook. If you’re building a cookbook, you put all the recipes in the same binder. You don’t scatter them all over your house. 🙂 |
| benjifisher | I am not thinking of the recipes that we want to expose to site builders, like https://www.drupal.org/project/events. I am thinking of the small recipes used as building blocks. So it is OK that they can only use core recipes. |
| alexpott | @benjifisher if they are to be building blocks then don’t you want other more complex recipes to be able to use them? |
| phenaproxima | :this2: If you have any desire for your recipe to be shared with the world, or used to build up other recipes, it needs to be its own package. |
| benjifisher | For example, the content_editor_role might live in the user module. |
| phenaproxima | It would then become unusable by other recipes. |
| benjifisher | ... don’t you want other more complex recipes to be able to use them?Yes.It would then become unusable by other recipes.Is that fundamental or current policy? |
| phenaproxima | Fundamental technical limitation. |
| alexpott | But one that could be discussed. |
| alexpott | I do not want to do recipe magical discovery |
| phenaproxima | Agreed. |
| benjifisher | I have to run in 5 ... |
| alexpott | The ability to place modules inside modules and anywhere has been awful - it is complex and fragile |
| benjifisher | But one that could be discussed.Consider this thread the discussion? |
| alexpott | However, allowing @user/content_editor_role might be okay. And that map to user module directory /recipes/content_editor_role |
| bryan | Isn't a recipe without the building blocks not a broken recipe? |
| phenaproxima | @alexpott “Might” being the key word - that would implicitly make recipe loading dependent on extension discovery. |
| benjifisher | One example: maybe some day the content_moderation module is moved out of core. What happens to the editorial_workflow recipe?Maybe it goes into drupal_cms. I guess the default is that it becomes a separate project. I suggest that it stay with the content_moderation module.' |
| alexpott | recipe loading dependent on extension discovery.That’s already true… it’s Drupal everything is dependent on extension discovery! |
| benjifisher | Another example: the paragraphs_demo module (part of the paragraphs project) could be a recipe instead of a module.Did you say something about modules inside modules? :wink: |
| phenaproxima | @alexpott Yeah, BUT…extension discovery has to contend with modules-in-modules. So, if you have @paragraphs/some_recipe , and there’s more than one paragraphs.info.yml in the code base, which one will it find? |
| phenaproxima | That introduces ambiguity, which is precisely what we wanted to avoid by having all recipes in one place. |
| alexpott | @phenaproxima it’ll find the same one it will use for the code. That’s extension system magic and I agree not lovely but we already cope with that. It’s a solved problem. |
| phenaproxima | Gotcha. But YUCK — we really wanna have to document that? |
| alexpott | Nah - we don’t… and people have lived with and (ab)used this for years…. I think the D7 pressflow shipped with a node module that overrode the core provided module for example. |
| phenaproxima | I could be persuaded, but I’m not certain that the value-to-confusion ratio is favorable here (edited) |
| phenaproxima | All your building blocks go in one place. Simple as that. |
| phenaproxima | All your building blocks go in…various places…I don’t want to have to explain that |
| alexpott | Yeah the current approach is complete and, once understood, a limitation that inspires clarity. |
| phenaproxima | Modules that want to ship little one-off recipes that are not meant to be composed, that’s one thing. But I’m not sure it’s worth officially supporting and expanding that paradigm. |
| alexpott | I think there is another side of this topic that’s worth thinking about. Say you’re building Drupal CMS and someone wants to use the recipes there… to build a similar thing but with a react or vue or whatever frontend. How are they going to do that. Will each track produce a drupal-cms/track_name recipe that’s available separately? How will we encourage the cookbooks to share? |
| phenaproxima | That’s the idea - the components are supposed to eventually be available individually, once we figure out the subtree splitting. |
Participants:
benjifisher, b_sharpe, bsnodgrass, alexpott, thejimbirch, leslieg, ultrabob, mandclu, guptahemant, hestenet, markie, sonfd, robloach, r.aubin, bircher, ltrain, jnicola, phenaproxima, rajab natshah
Comments
Comment #2
kristen polAdded meeting notes and participants.
Comment #3
kristen polNeeds review and credits
Comment #4
jdleonardConverted participant list to use d.o usernames to ease crediting
Comment #5
thejimbirch commentedComment #22
hestenet