- 🇦🇺Australia mstrelan
I guess this should be updated to mention attributes instead of annotations.
I agree about having an "action system" component. This is not system.module though, maybe "base system" or "other".
- 🇫🇷France prudloff Lille
I think #24 is a valid concern (see 🌱 [policy] Treat username enumerations as security bugs that require Security Advisories Active ).
- 🇫🇷France prudloff Lille
prudloff → changed the visibility of the branch 2842858-basic-auth-module to hidden.
- 🇫🇷France prudloff Lille
prudloff → changed the visibility of the branch 10.4.x to hidden.
- 🇫🇷France prudloff Lille
prudloff → changed the visibility of the branch 10.3.x to hidden.
- First commit to issue fork.
- 🇺🇸United States smustgrave
Thank you for creating this issue to improve Drupal.
We are working to decide if this task is still relevant to a currently supported version of Drupal. There hasn't been any discussion here for over 8 years which suggests that this has either been implemented or is no longer relevant. Your thoughts on this will allow a decision to be made.
Since we need more information to move forward with this issue, the status is now Postponed (maintainer needs more info). If we don't receive additional information to help with the issue, it may be closed after three months.
Thanks!
- 🇳🇿New Zealand RoSk0 Wellington
Reviewed merge request #12275 - diff is identical to the 11.x commit.
I believe this should also be ported to the 10.6.x.
- 🇳🇿New Zealand ericgsmith
I'm reopening this as this was comitted to 10.4.x but not 10.5.x - which doesn't feel right? I'll open an MR with the commit on 10.5.x
- @ericgsmith opened merge request.
- First commit to issue fork.
Automatically closed - issue fixed for 2 weeks with no activity.
- 🇬🇧United Kingdom catch
The change record here is for the previous solution, which is also still in the summary. Does that need a follow-up issue?
Also, I think this could use a change record/release note to inform site owners they will get a config diff the next time they export config and why.
- 🇳🇿New Zealand quietone
Moving to the coding standards project in the hopes of some discussion.
- 🇳🇿New Zealand quietone
The Ideas project is being deprecated. This issue is moved to the Drupal project. Check that the selected component is correct. Also, add the relevant tags, especially any 'needs manager review' tags.
Changing to the standard issue template → would also help other contributors.
Due to the lack of activity here in the past 7 years, I am setting this to I am setting the status to Postponed (maintainer needs more info.
Is this feature still of interest?
- 🇦🇺Australia larowlan 🇦🇺🏝.au GMT+10
It feels like it should be simple enough - the main impacts here are on page regions and patterns. Add content templates if that ends up being in beta.
Tagging as such
- 🇺🇸United States smustgrave
Thank you for creating this issue to improve Drupal.
We are working to decide if this task is still relevant to a currently supported version of Drupal. There hasn't been any discussion here for over 8 years which suggests that this has either been implemented or is no longer relevant. Your thoughts on this will allow a decision to be made.
Since we need more information to move forward with this issue, the status is now Postponed (maintainer needs more info). If we don't receive additional information to help with the issue, it may be closed after three months.
Thanks!
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Here there is not, and perhaps we should introduce it.
Here it is indeed the sequence order (which implicitly has "deltas" as keys: a PHP "list" array, so
0
,1
etc.) that ensures the correct ordering.I'm contemplating whether this should be a beta blocker or not. It feels like it'd be safer to make this a beta blocker. Do you agree?
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Also, folding the original scope of 📌 Consider renaming javascript component ID to 'id' rather than machineName Active into this:
$component = JavaScriptComponent::create([ 'machineName' => $this->randomMachineName(),
Camel case here has tripped me up twice now, this should probably just be
id
ormachine_name
.— @longwave at https://git.drupalcode.org/project/experience_builder/-/merge_requests/5...
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
We either need to:
- make this a
beta blocker
- or make this a
stable blocker
, but then we'll need an update path
For now, assuming the latter.
- make this a
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Re-parenting to 🌱 [META] Production-ready data storage Active . Related: 🌱 Plan to allow editing props and slots for exposed code components Active .
Two big changes since we last commented on this issue, which impacts what this issue would need to solve:
-
📌
Calculate field and component dependencies on save and store them in an easy to retrieve format
Active
happened ⇒ we can now fully reliably query not just the existence of a
Component
config entity for a code component (i.e. aJavaScriptComponent
config entity), but also for instances of (i.e. usages of) thatComponent
config entity! -
✨
Store and calculate dependencies in `JavaScriptComponent`
Active
happened (which is what @effulgentsia described in #12) ⇒ changing a
JavaScriptComponent
'smachineName
would now also have to update both theenforced_dependencies
of allJavaScriptComponents
that depend on the one being renamed, as well as updating the source code JS + compiled JS
That last one I know that @balintbrews has actually provided an outline of a solution for in #14.
I think I partially understand now! 🥳
Doing this issue would mean storing not
dependencies: enforced: config: - experience_builder.js_component.xb_test_code_components_with_no_props - experience_builder.js_component.xb_test_code_components_with_props
but
dependencies: enforced: config: - experience_builder.js_component.56133d44-1556-4408-a225-4e00a22d6998 - experience_builder.js_component.dbba4ea1-b2b2-4f48-8ae5-a70efdedb3f3
Plus, at code editor time, transform
import Button from '@/components/56133d44-1556-4408-a225-4e00a22d6998'
to
import Button from '@/components/button'
So that to the person using the code editor, the UUIDs are never visible, only the (mutable!) machine name. Which means that if somebody changes the machine name from
button
tofancybutton
, I would automatically see:import Button from '@/components/fancybutton'
Cool! But, … what if the code component is modified to no longer export
Button
? 🤔 -
📌
Calculate field and component dependencies on save and store them in an easy to retrieve format
Active
happened ⇒ we can now fully reliably query not just the existence of a
- 🇩🇪Germany donquixote
I created a branch and MR with a reduced set of conversions, using PhpStorm:
- Create inspection profile with only "Property can be promoted", all others disabled.
- Run inspection, apply fixes.This only converts parameters where the property has the same name and type as the parameter.
So, no automatic rename. - @donquixote opened merge request.
- 🇩🇪Germany donquixote
@donquixote you're a wizard! Can you share the script?
I should have done this as a script, but instead just used phpstorm find/replace.
I am trying to find it in the history, be careful, I could be picking the wrong line.First step:
Find: "^( (?:public|protected|private) function __construct\()((?:(?!public)(?!protected)(?!private)[^,\)\n]*\$\w+(?: = [^,\)\n]*)?,(?: |\n ))*(?:public|protected|private) [^,\)\n]*\$\w+(?: = [^,\)\n]*)?)"
Replace: "$1// BREAK HERE SQUIRREL\n $2"Second step (repeated):
Find: "// BREAK HERE SQUIRREL(\n [^,\)]*,) "
Replace: "$1// BREAK HERE SQUIRREL\n "Last step for empty body:
Find: "// BREAK HERE SQUIRREL(\n [^,\)]*)\) \{\n \}"
Replace: "$1,\n \) \{\}"Last step for non-empty body:
Find: "// BREAK HERE SQUIRREL(\n [^,\)]*)\) \{"
Replace: "$1,\n \) \{"Later you can use "git diff --ignore-all-space --word-diff -U0" to quickly review the changes.
- 🇦🇺Australia acbramley
Would make it a two step process but might be worth it considering the actual commit would hopefully be one-hit.
Yeah it already is anyway since rector is putting the opening brace onto newlines (see IS)
@donquixote you're a wizard! Can you share the script?
- 🇩🇪Germany donquixote
Good old (repeated) regex trick...
Detect and mark any constructor with at least one promoted parameter:
public function __construct(// BREAK HERE $a, $b, protected $c, $d) {
Repeatedly apply a regex replace to move the marker step by step.
public function __construct( $a,// BREAK HERE $b, protected $c, $d) {
public function __construct( $a, $b,// BREAK HERE protected $c, $d) {
public function __construct( $a, $b, protected $c,// BREAK HERE $d) {
Handle the last parameter and the {}.
- 🇬🇧United Kingdom catch
I can't find a rector rule to break constructor params onto newlines though.
Maybe phpcbf has one? Would make it a two step process but might be worth it considering the actual commit would hopefully be one-hit.
- 🇫🇷France prudloff Lille
prudloff → changed the visibility of the branch 2844620-finishresponsesubscriber-need-warningerror to hidden.
- 🇫🇷France prudloff Lille
prudloff → changed the visibility of the branch 2118743-twig-debug-output-d10 to hidden.
- 🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺
Great discussion! 👍 Let's continue it after 1.0 😊
Thanks, both of you!