Follow-up to #2873395: [meta] Add @internal to core classes, methods, properties

Problem/Motivation

https://www.drupal.org/core/d8-bc-policy#controllers
Core modules contain many route controllers that are bound to individual routes, as well as form classes. These controllers are not part of the API of the module unless specifically marked with an @api tag on the method or class.

Proposed resolution

Add @internal tag to the controller classes

How to fix thisissue

  1. Read the description for a category in its issue
  2. Identify and confirm an example. Ask in IRC if unclear.
  3. Search core for the relevant category.
  4. Add @internal per the backwards compatibility policy.
  5. Reviewers should confirm that each @internal mention is appropriate for that category according to the policy.

Remaining tasks

Make the Patch and post it

User interface changes

None.

API changes

There should be no implicit API changes.

CommentFileSizeAuthor
#109 drupal-set-controllers-as-internal-2873668-109.patch58.07 KBaarti zikre
#108 drupal-set-controllers-as-internal-2873668-108.patch57.77 KBaarti zikre
#107 drupal-set-controllers-as-internal-2873668-107.patch58.38 KBaarti zikre
#106 drupal-set-controllers-as-internal-2873668-106.patch58.38 KBaarti zikre
#105 drupal-set-controllers-as-internal-2873668-105.patch58.07 KBaarti zikre
#104 drupal-set-controllers-as-internal-2873668-104.patch58.9 KBaarti zikre
#103 drupal-set-controllers-as-internal-2873668-102.patch58.68 KBaarti zikre
#101 drupal-set-controllers-as-internal-2873668-101.patch58.68 KBaarti zikre
#100 drupal-set-controllers-as-internal-2873668-9.5.x-dev-100.patch53.45 KBaarti zikre
#99 drupal-set-controllers-as-internal-2873668-9.5.x-dev-99.patch53.45 KBaarti zikre
#98 drupal-set-controllers-as-internal-2873668-9.5.x-dev-98.patch53.45 KBaarti zikre
#97 drupal-set-controllers-as-internal-2873668-9.5.x-dev-97.patch.patch57 KBaarti zikre
#95 drupal-set-controllers-as-internal-2873668-9.5.x-dev-95.patch57.03 KBaarti zikre
#94 drupal-set-controllers-as-internal-2873668-9.5.x-dev-89.patch56.79 KBaarti zikre
#88 interdiff-2873668-8.9.x-9.0.x-88.txt827 bytesmradcliffe
#88 drupal-set-controllers-as-internal-2873668-9.0.x-88.patch58.72 KBmradcliffe
#88 drupal-set-controllers-as-internal-2873668-8.9.x-88.patch60.01 KBmradcliffe
#85 drupal-set-controllers-as-internal-2873668-85.patch60.01 KBavpaderno
#83 drupal-set-controllers-as-internal-2873668-83.patch58.74 KBavpaderno
#82 drupal-set-controllers-as-internal-2873668-82.patch58.74 KBavpaderno
#81 drupal-set-controllers-as-internal-2873668-81.patch59.66 KBavpaderno
#76 controller-2873668-76.patch59.85 KBshimpy
#75 controller-2873668-75.patch58.93 KBnickmans
#71 controller-2873668-71.patch58.96 KBnickmans
#67 controller.png125.36 KBGayathri J
#63 controller-2873668-63.patch59.09 KBdinesh18
#61 controller_2873668_61.patch58.91 KBshimpy
#59 update_controller.patch59.45 KBshimpy
#57 controller_update.patch35.67 KBshimpy
#55 controller_update.patch59.45 KBshimpy
#52 2873668.patch35.48 KBPriyadarshini Govinthan
#51 Screenshot at 2019-10-15 15-25-03.png167.88 KBshimpy
#48 patch fail log.txt540 bytesfabienly
#42 interdiff-2873668-38-42.txt7.3 KBwengerk
#42 2873668-42.patch71.71 KBwengerk
#4 add-internal-to-core-controllers-2873668-4.diff69.84 KBsafetypin
#5 add-internal-to-core-controllers-2873668-5.patch59.96 KBsafetypin
#6 add-internal-to-core-controllers-2873668-6.patch0 bytessafetypin
#7 add-internal-to-core-controllers-2873668-7.patch59.96 KBsafetypin
#16 add-internal-to-core-controllers-2873668-16.patch62.13 KBlinef
#16 add-internal-to-core-controllers-2873668-7-16.interdiff.txt3.15 KBlinef
#20 add-internal-to-core-controllers-2873668-20.patch62.1 KBpk188
#22 add-internal-to-core-controllers-2873668-22.patch62.09 KBpk188
#31 2873668-31.patch61.21 KBjofitz
#35 2873668-35.patch61.96 KBimalabya
#38 2873668-38.patch61.99 KBwengerk
#38 interdiff-2873668-35-38.txt1.15 KBwengerk

Comments

naveenvalecha created an issue. See original summary.

naveenvalecha’s picture

Title: Add @internal to core classes, methods, properties to Tests » Add @internal to core classes, methods, properties to Controllers
Issue summary: View changes
safetypin’s picture

Assigned: Unassigned » safetypin

I'm working on this for the DrupalCon Baltimore mentored core sprints.

safetypin’s picture

Assigned: safetypin » Unassigned
Status: Active » Needs review
StatusFileSize
new69.84 KB

I've completed an initial pass at adding @internal to all core controllers. I went through all *.routing.yml files and used _controller: [...] lines as a reference to find all core controller class files, and added @internal to the comment block to all the controller class files I found.

safetypin’s picture

Rebased the patch on latest commit, looks like there was a different commit that got included in the patch.

safetypin’s picture

Correcting a backwards patch.

safetypin’s picture

Attempt # 4.

The last submitted patch, 4: add-internal-to-core-controllers-2873668-4.diff, failed testing.

The last submitted patch, 5: add-internal-to-core-controllers-2873668-5.patch, failed testing.

The last submitted patch, 6: add-internal-to-core-controllers-2873668-6.patch, failed testing.

leanderl’s picture

Me and my collegues are working on this at the Baltimore Code Sprint right now...

Status: Needs review » Needs work

The last submitted patch, 7: add-internal-to-core-controllers-2873668-7.patch, failed testing.

marcusml’s picture

Any clues why the test fails? I've run the System.Drupal\system\Tests\System\ErrorHandlerTest locally with and without the patch. The test runs fine without the patch applied. I'll continue investigating with leanderl and our other collegues.

safetypin’s picture

The patch only changes comments, in theory it shouldn't be causing any tests to fail.

I did run into an issue with my first patch attempt where there had been a completely unrelated change that was included, but I was able to rebase and exclude that change.

Andreas Hansson’s picture

Actually, the test seems to create a PHP tests and checks for the error on row-number in the file ErrorHandlerTest.php.

I, Marcus, Line and Leanderl are sitting here in Baltimore and checking for this, will try to apply a fixed patch soon.

linef’s picture

Status: Needs work » Needs review
StatusFileSize
new62.13 KB
new3.15 KB

Previous patch failed because tests referred to specific line numbers, we adjusted this to make the test pass.

linef’s picture

leanderl, marcusml, Andreas Hansson and I worked with the patch together.

xjm’s picture

Updating issue credit based on #17. Thanks @linef!

wim leers’s picture

Status: Needs review » Needs work
Issue tags: +Needs reroll

This no longer applies unfortunately. Which makes reviewing this quite hard. This is looking wonderful already though!

pk188’s picture

Status: Needs work » Needs review
Issue tags: -Needs reroll
StatusFileSize
new62.1 KB

Re rolled.

Status: Needs review » Needs work

The last submitted patch, 20: add-internal-to-core-controllers-2873668-20.patch, failed testing.

pk188’s picture

Status: Needs work » Needs review
StatusFileSize
new62.09 KB

Either pushed it up early or we have to again re roll it after some time again and again.

xjm’s picture

Thanks @pk188 for the reroll.

dawehner’s picture

Can't we declare controllers as a not supported API, instead? It feels really a bit stupid to add @internal to all those things.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

chenderson’s picture

I am working on this issue at DrupalCon Vienna.

yogen.prasad’s picture

I am working on this issue with @Valthebald and @chenderson at DrupalCon Vienna.

Thanks

yogen.prasad’s picture

Issue tags: +Vienna2017
chenderson’s picture

This is not a novice issue as per comment Comment #24

tedbow’s picture

Status: Needs review » Needs work
Issue tags: -Needs subsystem maintainer review +Needs reroll

Removing Needs subsystem maintainer review tag. since this effects nearly every system and module I don't think that applies.

Regarding #24

Controllers are already declared @internal in our docs https://www.drupal.org/node/2562903/ but also I think in the proposed changes #2550249: [meta] Document @internal APIs both explicitly in phpdoc and implicitly in d.o documentation

I think #2550249 would be the place to argue that we should not explicitly add the @internal tags to controllers(or other things that our docs also say are internal).

Or if we don't think we should move forward with these types of changes we should address that in the meta issue #2873395: [meta] Add @internal to core classes, methods, properties

jofitz’s picture

Status: Needs work » Needs review
Issue tags: -Needs reroll
StatusFileSize
new61.21 KB

Re-rolled.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

mradcliffe’s picture

Status: Needs review » Needs work
Issue tags: +DrupalEurope, +Needs reroll, +Novice

The patch no longer applies so this needs another re-roll and a review to get this in.

imalabya’s picture

Status: Needs work » Needs review
StatusFileSize
new61.96 KB

Re-rolled the patch.

wengerk’s picture

Still need reroll

wengerk’s picture

Status: Needs review » Needs work
wengerk’s picture

StatusFileSize
new1.15 KB
new61.99 KB

Here is the rerolled patch. I also change 3 @internal mention with a breaking-line before for consistency with every others @internal annotation, see interdiff-2873668-35-38.txt.

wengerk’s picture

Status: Needs work » Needs review
Issue tags: -Needs reroll
sutharsan’s picture

I'm at DrupalEurop and reviewing the work.

@wengerk, Thansk for the reroll. Next time, please provide two consecutive patches: first a reroll, then the additional changes. Reroll requires a different kind of review than a change. But very good you provided a diff for the changes, that helps very much.

sutharsan’s picture

Status: Needs review » Needs work

#38 patch applies cleanly. Compared #35 and #38 patches and found no other changes than expected.

After applying the patch, I find various controllers that have no @internal. (I've searched for extends Controller, Controller {). I used the following criteria:
- Controllers that are bound to individual routes
- All controllers in tests

All unmarked route controllers are either related to external URLs or can be considered part of the API (e.g. Entity list controllers).

Todo: Various controllers in tests are not marked @internal, other test controller are. A.o. search for 'TestController'.

wengerk’s picture

StatusFileSize
new71.71 KB
new7.3 KB

Thanks for your review !
Here the changes from the suggestions in #41

wengerk’s picture

Status: Needs work » Needs review
dawehner’s picture

I am wondering whether we could add a codestyle rules to automatically check for that.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

avpaderno’s picture

Title: Add @internal to core classes, methods, properties to Controllers » Add @internal to core classes, methods, properties to controllers
Issue summary: View changes

I changed the proposed solution to match with the described task and the given patches.

tatarbj’s picture

Issue tags: +DrupalCampBelarus2019
fabienly’s picture

Assigned: Unassigned » fabienly
StatusFileSize
new540 bytes

Hi, on drupal-8.8.x-dev patch fail to apply on :

  • - core/lib/Drupal/Core/Entity/Controller/EntityViewController.php
  • - core/modules/system/src/Tests/System/ErrorHandlerTest.php
  • - core/modules/system/tests/modules/conneg_test/src/Controller/TestController.php

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

shimpy’s picture

Status: Needs review » Needs work
shimpy’s picture

StatusFileSize
new167.88 KB

#42 is not getting applied. I would like to work for #41

errot log

Priyadarshini Govinthan’s picture

Status: Needs work » Needs review
StatusFileSize
new35.48 KB

I have added @internal tag to the controller classes for version 8.9.x. Please review.

Status: Needs review » Needs work

The last submitted patch, 52: 2873668.patch, failed testing. View results

avpaderno’s picture

Title: Add @internal to core classes, methods, properties to controllers » Add @internal to core controller classes, methods, and properties
shimpy’s picture

Status: Needs work » Needs review
StatusFileSize
new59.45 KB

I have created a patch by adding @internal to all the controller classes , methods etc in drupal core with version 8.9.x. Please review.

shimpy’s picture

I have got phplint failed error for #55. Can anyone suggest me how to correct this error??

shimpy’s picture

StatusFileSize
new35.67 KB

I have re-created a patch for controller doocumentation.
Please review.

Status: Needs review » Needs work

The last submitted patch, 57: controller_update.patch, failed testing. View results

shimpy’s picture

StatusFileSize
new59.45 KB

I have tried recreating a patch. Hope this will pass the test.

avpaderno’s picture

There is a syntax error in the patch.

PHP Parse error: syntax error, unexpected 'FormController' (T_STRING), expecting '{' in /var/www/html/core/lib/Drupal/Core/Entity/HtmlEntityFormController.php

shimpy’s picture

Status: Needs work » Needs review
StatusFileSize
new58.91 KB

I have tried correcting the php parse error.

Status: Needs review » Needs work

The last submitted patch, 61: controller_2873668_61.patch, failed testing. View results
- codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

dinesh18’s picture

StatusFileSize
new59.09 KB

Fixed the failing test. Here is the updated patch.
Kindly review

dinesh18’s picture

Status: Needs work » Needs review
fabienly’s picture

Assigned: fabienly » Unassigned

Status: Needs review » Needs work

The last submitted patch, 63: controller-2873668-63.patch, failed testing. View results
- codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

Gayathri J’s picture

StatusFileSize
new125.36 KB

Hii @Dinesh18 #63 not getting applied coming whitespace errors.
image

chrisdarke’s picture

Issue tags: +Amsterdam2019

Adding Amsterdam2019 tag, for work in DrupalCon Amsterdam 2019.
Needs review and testing of patch and fix of the issue in the comment #67.

frederikvho’s picture

I am going to check this out now at DrupalConAmsterdam2019

nickmans’s picture

I'm going to work together with Frederikvho

nickmans’s picture

StatusFileSize
new58.96 KB

Removed all whitespaces. Please review.

frederikvho’s picture

Status: Needs work » Reviewed & tested by the community

I tested this on 8.9.x and it works. The patch error has been resolved in comment #71.

avpaderno’s picture

Status: Reviewed & tested by the community » Needs review

May we just wait for the tests to complete?

Status: Needs review » Needs work

The last submitted patch, 71: controller-2873668-71.patch, failed testing. View results
- codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

nickmans’s picture

StatusFileSize
new58.93 KB

Fixed coding standards issues, but not sure on how to fix this:

 Drupal\FunctionalTests\Bootstrap\UncaughtExceptionTest::testUncaughtFatalError
Failed asserting that 200 is identical to 500.

/var/www/html/core/tests/Drupal/FunctionalTests/Bootstrap/UncaughtExceptionTest.php:364
/var/www/html/core/tests/Drupal/FunctionalTests/Bootstrap/UncaughtExceptionTest.php:113
shimpy’s picture

StatusFileSize
new59.85 KB

I tried to fix the test fail error. Not sure if it will work or not.

shimpy’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 76: controller-2873668-76.patch, failed testing. View results
- codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

avpaderno’s picture

The failing test is the following one.

  /**
   * Tests displaying an uncaught fatal error.
   */
  public function testUncaughtFatalError() {
    $fatal_error = [
      '%type' => 'TypeError',
      '@message' => 'Argument 1 passed to Drupal\error_test\Controller\ErrorTestController::Drupal\error_test\Controller\{closure}() must be of the type array, string given, called in ' . \Drupal::root() . '/core/modules/system/tests/modules/error_test/src/Controller/ErrorTestController.php on line 62',
      '%function' => 'Drupal\error_test\Controller\ErrorTestController->Drupal\error_test\Controller\{closure}()',
    ];
    $this->drupalGet('error-test/generate-fatals');
    $this->assertResponse(500, 'Received expected HTTP status code.');
    $message = new FormattableMarkup('%type: @message in %function (line ', $fatal_error);
    $this->assertRaw((string) $message);
    $this->assertRaw('<pre class="backtrace">');
    // Ensure we are escaping but not double escaping.
    $this->assertRaw('&#039;');
    $this->assertNoRaw('&amp;#039;');
  }

The controller method that should cause a fatal error is ErrorTestController::generateFatals().

public function generateFatals() {
  $function = function (array $test) {
  };
  $function("test-string");
  return [];
}
avpaderno’s picture

The patch is correcting the argument passed to that anonymous function, which is the reason why the fatal error would be thrown. The wrong parameter is intentional, and it should not be "corrected."

 /**
  * Controller routines for error_test routes.
+ *
+ * @internal
  */
 class ErrorTestController extends ControllerBase {
 
@@ -59,7 +61,7 @@ public function generateFatals() {
     $function = function (array $test) {
     };
 
-    $function("test-string");
+    $function(["test-string"]);
     return [];
   }
avpaderno’s picture

Status: Needs work » Needs review
StatusFileSize
new59.66 KB
avpaderno’s picture

avpaderno’s picture

(The third time should go fine.)

Status: Needs review » Needs work
avpaderno’s picture

Status: Needs work » Needs review
StatusFileSize
new60.01 KB

As reminder, whenever the ErrorTestController.php file is edited, the following lines could need to be edited too.

    $fatal_error = [
      '%type' => 'TypeError',
      '@message' => 'Argument 1 passed to Drupal\error_test\Controller\ErrorTestController::Drupal\error_test\Controller\{closure}() must be of the type array, string given, called in ' . \Drupal::root() . '/core/modules/system/tests/modules/error_test/src/Controller/ErrorTestController.php on line 62',
      '%function' => 'Drupal\error_test\Controller\ErrorTestController->Drupal\error_test\Controller\{closure}()',
    ];

62 in on line 62 must be corrected to the number of the line containing $function("test-string"); which, with the changes made here, became line 64.

shimpy’s picture

Status: Needs review » Reviewed & tested by the community

#85 looks good.. Cleany applied.
Thanks @kiamlaluno

catch’s picture

Status: Reviewed & tested by the community » Needs work
Issue tags: +Needs re-roll

Needs a 9.0.x patch.

mradcliffe’s picture

Status: Needs work » Needs review
Issue tags: -Needs re-roll
StatusFileSize
new60.01 KB
new58.72 KB
new827 bytes
git apply -3 drupal-set-controllers-as-internal-2873668-85.patch
error: patch failed: core/lib/Drupal/Core/Entity/Controller/EntityViewController.php:13
Falling back to three-way merge...
Applied patch to 'core/lib/Drupal/Core/Entity/Controller/EntityViewController.php' cleanly.
error: core/modules/tracker/src/Controller/TrackerPage.php: does not exist in index
error: core/modules/tracker/src/Controller/TrackerUserRecent.php: does not exist in index
error: core/modules/tracker/src/Controller/TrackerUserTab.php: does not exist in index

TrackerPage, TrackerUserRecent, and TrackerUserTab were removed in #3097454: Remove tracker.module BC layers.

I removed these from the patch and re-applied to 9.0.x successfully wit a 3-way merge.

I've re-uploaded the patch in 85 as 8.9.x-88.patch and then uploaded the 9.0.x-88.patch for 9.0.x. An interdiff between these two patches is confusing because the interdiff suggests the pages exist in the second patch. They do not. Grepping for TrackerPage, TrackerUserRecent, and TrackerUserTab in the 9.0.x patch shows that those are no longer there but do exist in the 8.9.x patch.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

aarti zikre’s picture

Created for Drupal 9.5.x dev version please test and review this.

aarti zikre’s picture

spokje’s picture

Status: Needs review » Needs work

Patch doesn't apply, looks like there's a bit of local work on /vendor/coder included?

aarti zikre’s picture

avpaderno’s picture

-        'Drupal\error_test\Controller\ErrorTestController::Drupal\error_test\Controller\{closure}(): Argument #1 ($test) must be of type array, string given, called in ' . \Drupal::root() . '/core/modules/system/tests/modules/error_test/src/Controller/ErrorTestController.php on line 65' :
-        'Argument 1 passed to Drupal\error_test\Controller\ErrorTestController::Drupal\error_test\Controller\{closure}() must be of the type array, string given, called in ' . \Drupal::root() . '/core/modules/system/tests/modules/error_test/src/Controller/ErrorTestController.php on line 65',
+        'Drupal\error_test\Controller\ErrorTestController::Drupal\error_test\Controller\{closure}(): Argument #1 ($test) must be of type array, string given, called in ' . \Drupal::root() . '/core/modules/system/tests/modules/error_test/src/Controller/ErrorTestController.php on line 64' :
+        'Argument 1 passed to Drupal\error_test\Controller\ErrorTestController::Drupal\error_test\Controller\{closure}() must be of the type array, string given, called in ' . \Drupal::root() . '/core/modules/system/tests/modules/error_test/src/Controller/ErrorTestController.php on line 64',
       '%function' => 'Drupal\error_test\Controller\ErrorTestController->Drupal\error_test\Controller\{closure}()',
     ];
     $this->drupalGet('error-test/generate-fatals');

It seems the line number is wrong, since that exception message isn't found in the page output.

aarti zikre’s picture

aarti zikre’s picture

StatusFileSize
new58.9 KB
aarti zikre’s picture

StatusFileSize
new58.07 KB
aarti zikre’s picture

aarti zikre’s picture

StatusFileSize
new58.38 KB
aarti zikre’s picture

StatusFileSize
new57.77 KB
aarti zikre’s picture

StatusFileSize
new58.07 KB
aarti zikre’s picture

aarti zikre’s picture

Assigned: aarti zikre » Unassigned
Status: Needs work » Needs review
jatingupta40’s picture

Assigned: Unassigned » jatingupta40
Status: Needs review » Active

I will review this patch

jatingupta40’s picture

Assigned: jatingupta40 » Unassigned
Status: Active » Reviewed & tested by the community

All the @insert are placed properly. The patch is working fine and updating to RTBC.

Status: Reviewed & tested by the community » Needs work
aarti zikre’s picture

Status: Needs work » Needs review
anjali rathod’s picture

Status: Needs review » Reviewed & tested by the community

The patch applies successfully and works fine. Dont know why it was moved to Needs review again!

xjm’s picture

Status: Reviewed & tested by the community » Needs work
Issue tags: +Prague2022

Great work on this so far!

One thing we should add is that we should typically explain why something is marked as internal. For example, for plugins we have:

 * @internal                                                                    
 *   Plugin classes are internal. 

So, we should do something similar for this issue, like:

 * @internal                                                                    
 *   Form and route controllers are internal. 
xjm’s picture

@Anjali Rathod and @JatinGupta40, Thank you for reviewing this issue!

The automated testing infrastructure tells us whether the change set still applies, so we do not need people to review that. It is also not sufficient criteria for the issue to be marked "Reviewed and Tested by the Community".

What we do need people to review is whether the issue has a correct scope, whether it passes the core gates, whether the solution completely fixes the problem without introducing other problems, and whether it's the best solution we can come up with. See the patch review guide for more information.

When you do post a review, be sure to describe what you reviewed and how. This helps other reviewers understand why you considered the issue RTBC (and is considered for issue credit).

In this case, it would be good to post specifics of how you checked that all the @internal were properly placed, and how you ensured that no controllers were missed. Describe your review process in detail. For example, post exact commands you used, such as specific grep commands, inside <code> tags (not as screenshots) and what the results of those commands were.

Also see the issue credit guidelines for more information on which kinds of contributions are credited.

And @aarti zikre, in the future, when using a patch workflow, provide interdiffs for your patches. That allows reviewers to evaluate your changes. Thanks!

xjm’s picture

Issue tags: +beta target

This is a good candidate to commit during the beta.

We also need versions of the patch that work with 10.1.x and 10.0.x. Mostly this is just a simple matter of removing hunks that are for modules that were removed in Drupal 10:

error: core/modules/aggregator/src/Controller/AggregatorController.php: does not exist in index
error: core/modules/aggregator/tests/modules/aggregator_test/src/Controller/AggregatorTestRssController.php: does not exist in index
error: core/modules/ckeditor/tests/modules/src/CkeditorOffCanvasTestController.php: does not exist in index
error: core/modules/image/src/Controller/QuickEditImageController.php: does not exist in index
error: core/modules/quickedit/src/QuickEditController.php: does not exist in index
error: patch failed: core/tests/Drupal/FunctionalTests/Bootstrap/UncaughtExceptionTest.php:95
error: core/tests/Drupal/FunctionalTests/Bootstrap/UncaughtExceptionTest.php: patch does not apply

Only that last line for UncaughtExceptionTest needs to be fixed (again).

chrisdarke’s picture

This issue is tagged for first time contributors at DrupalCon Prague 2022.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

xjm’s picture

Issue tags: -Novice

Unfortunately this does not meet the criteria for a novice issue in its current state when it is so many versions behind.

These issues were novice at one point, but the way they need to be solved is one at a time, during the beta phase for a release, and generated using scripts and static tooling.

Hiding the old patch files for clarity.

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.