Closed (fixed)
Project:
Navigation
Version:
1.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
9 Apr 2024 at 20:11 UTC
Updated:
10 May 2024 at 22:49 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #4
m4oliveiSimple start to core inclusion adjustments. This will evolve. Need something to write the script against.
Comment #5
m4oliveiHere is a script adapted from the one @lauriii wrote for Claro.
The most noteable difference is that this is written to push to the core navigation module issue fork. I've commented out the final lines to do that for now to allow an opportunity to review this approach. But testing locally shows that it should be ready to go, granted you have push access to the core issue fork.
Other highlights / open questions:
Comment #7
m4oliveiReplaced the core inclusion patch in #4 with a MR: https://git.drupalcode.org/project/navigation/-/merge_requests/238
Also updating the script to pull the diff from the MR. Including an interdiff for that.
Comment #8
m4oliveiOops, diff'd it the wrong way. Here is a correct interdiff for the script.
Comment #9
plopescGood job @m4olivei!
These is a great starting point for this one.
Some comments/thoughts here related your questions:
Comment #10
e0ipsoApologies for chiming in without any context on the module (yet). I was pinged for ideas, and here I am.
From past experiences I would:
@internal, make servicesprivate, turn classes or methods intofinal, make methodsprivate. This will help with making it beta (more on that below).10.3.xand you don't see it in10.3.0,10.3.1, ... until the experimental module is marked asbeta. Create an issue to mark the module beta. You can use #3354860: Mark SDC as beta so it can be included in 10.1 as a reference.*.component.ymlfile, and you alter/extend with the usual component replacement.Comment #11
m4oliveiThanks @plopesc.
I'm wondering this as well. I'm not clear on the etiquette, even considering @e0ipso's notes. I thought I remember @ckrina saying at some point we weren't marking it as experimental, but I could be wrong there.
I commited some simple changes to *.info.yml to match what Claro had prior to their core inclusion patch. I think any changes that can live in the module in contrib land are good to have ther to make the adjustment patch/MR only as big as it needs to be.
Good to know. We should get clarity on this point. If our core patch/MR does need to move classes like ShortcutsNavigationBlock, we'll need to carry along a patch here that the script will apply, like Claro did. The MR here on this issue won't be enough, b/c the MR is limited to affecting just the code in the navigation module. Either that or we have a combination of
mv / sedcommands in the script that does that move.I like it. Lets get this going. I've filed an issue.
Agreed.
Comment #12
e0ipsoI forgot to mention. If you are planning to move classes, take a moment to find the correct eventual location. Once done, add
class_aliasto the current location.Comment #13
m4oliveiWe clarified in our meeting today:
class_alias.Also, thanks @e0ipso. Your wisdom is always welcome!
Great point. I've filed an issue for us here: #3439996: Review and define the back-end APIs of the experimental module.
We discussed this point at the meeting this morning. I think we had some confusion around where the beta marker would be, which I see you had the same question there and got a good response from @alexpott. To summarize, there is a page here documenting "Experimental modules and themes in Drupal core". On that page there is a table of current experimental projects. The table has a stability marker. Until the stability is beta (and/or at core committer discretion), the module is removed from tagged versions of Drupal core.
We're presently in a beta phase in the contrib project (tagged last week). My impression is we may need additional documentation and/or rationale up against the requirements. Not totally sure.
We should create an issue for this one for review / definition.
Thanks for the offer! We'll definately take you up on it.
Comment #14
m4oliveiExperimental requirements docs: https://www.drupal.org/about/core/policies/core-change-policies/experime...
Comment #15
m4oliveiWe'll need a handful of changes only when navigation is living in the core/modules directory to outside drupal core files. Here is a patch for that. Not really a good place to put this as an MR that I can think of, but open to suggestions.
Comment #16
m4oliveiComment #17
m4oliveiComment #18
m4oliveiComment #19
m4oliveiHere is an updated script that.
core/modulesoverwriting anything thereAfter a script run, the changes necessary are all staged for commit. They should be reviewed, committed, and pushed to the core inclusion MR.
Comment #20
m4oliveiUpdated patch. The phpstan ignore path was incorrect.
Comment #21
m4oliveiUpdated script.
Comment #22
m4oliveiUpdated patch and script. Adds some eslint globals.
Comment #23
ckrinaThanks! Closing since we're in!! :D