Problem/Motivation

ForumForm uses the old pattern of checking whether it is an add or an update form to provide dedicated messages.

Proposed resolution

Split ForumForm into ForumAddForm and ForumEditForm instead. One additional complexity is that ForumForm is extended by ContainerForm.

Remaining tasks

User interface changes

None.

API changes

None.

CommentFileSizeAuthor
#70 interdiff-2324871-68-70.txt1.96 KBnaveenvalecha
#70 2324871-70.patch11.47 KBnaveenvalecha
#68 interdiff-2324871-67-68.txt3.04 KBnaveenvalecha
#68 2324871-68.patch11.83 KBnaveenvalecha
#67 interdiff-2324871-65-67.txt2.15 KBnaveenvalecha
#67 2324871-67.patch11.78 KBnaveenvalecha
#65 interdiff-2324871-64-65.txt829 bytesnaveenvalecha
#65 2324871-65.patch13.02 KBnaveenvalecha
#64 interdiff-2324871-63-64.txt1.54 KBnaveenvalecha
#64 2324871-64.patch13.2 KBnaveenvalecha
#63 2324871-63.patch21.05 KByogeshmpawar
#52 interdiff-51.txt1.3 KBhoebekewim
#52 2324871-51.patch21.14 KBhoebekewim
#49 interdiff-48.txt9.52 KBhoebekewim
#49 2324871-48.patch20.11 KBhoebekewim
#46 inter-diff.txt2.78 KBhoebekewim
#46 2324871-46.patch15.3 KBhoebekewim
#35 Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-35.patch15.14 KBarskiainen
#32 Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-32.patch25.16 KBacrosman
#30 Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-30.patch15.15 KBacrosman
#27 interdiff.txt2.93 KBkim.pepper
#27 2324871-forum-split-27.patch12.66 KBkim.pepper
#22 Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-22.patch22.07 KBMichael Hodge Jr
#19 Screenshot 2014-09-05 15.40.31.png24.43 KBlarowlan
#19 Screenshot 2014-09-05 15.40.19.png27.86 KBlarowlan
#19 Screenshot 2014-09-05 15.40.08.png21.93 KBlarowlan
#19 Screenshot 2014-09-05 15.39.57.png29.32 KBlarowlan
#19 Screenshot 2014-09-05 15.39.51.png22.88 KBlarowlan
#19 Screenshot 2014-09-05 15.39.41.png29.69 KBlarowlan
#19 Screenshot 2014-09-05 15.39.35.png19.91 KBlarowlan
#19 Screenshot 2014-09-05 15.39.22.png50.14 KBlarowlan
#17 Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-17.patch21.85 KBMichael Hodge Jr
#17 interdiff-2324871-16-17.txt333 bytesMichael Hodge Jr
#16 interdiff-2324871-6-16.txt16.9 KBMichael Hodge Jr
#16 Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-16.patch21.84 KBMichael Hodge Jr
#6 Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-6.patch15.68 KBMichael Hodge Jr
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

larowlan’s picture

Issue tags: +Novice
Michael Hodge Jr’s picture

Assigned: Unassigned » Michael Hodge Jr
Michael Hodge Jr’s picture

So there is this function

  /**
   * Returns a select box for available parent terms.
   *
   * @param int $tid
   *   ID of the term that is being added or edited.
   * @param string $title
   *   Title for the select box.
   *
   * @return array
   *   A select form element.
   */
  protected function forumParentSelect($tid, $title) {
    // @todo Inject a taxonomy service when one exists.
    $parents = taxonomy_term_load_parents($tid);
    if ($parents) {
      $parent = array_shift($parents);
      $parent = $parent->id();
    }
    else {
      $parent = 0;
    }

    $vid = $this->config('forum.settings')->get('vocabulary');
    // @todo Inject a taxonomy service when one exists.
    $children = taxonomy_get_tree($vid, $tid, NULL, TRUE);

    // A term can't be the child of itself, nor of its children.
    foreach ($children as $child) {
      $exclude[] = $child->tid;
    }
    $exclude[] = $tid;

    // @todo Inject a taxonomy service when one exists.
    $tree = taxonomy_get_tree($vid, 0, NULL, TRUE);
    $options[0] = '<' . $this->t('root') . '>';
    if ($tree) {
      foreach ($tree as $term) {
        if (!in_array($term->id(), $exclude)) {
          $options[$term->id()] = str_repeat(' -- ', $term->depth) . $term->getName();
        }
      }
    }

    $description = $this->t('Forums may be placed at the top (root) level, or inside another container or forum.');

    return array(
      '#type' => 'select',
      '#title' => $title,
      '#default_value' => $parent,
      '#options' => $options,
      '#description' => $description,
      '#required' => TRUE,
    );
  }

It was in the old ForumForm file, and both the ForumAdd and ForumEdit will need it. Where is a good place to put it? I'd imagine I wouldn't want to duplicate the same function in both places.

larowlan’s picture

class ForumBaseForm {
  protected function formParentSelect
}
class ForumAddForm extends ForumBaseForm {}
class ForumEditForm extends ForumBaseForm {}
Michael Hodge Jr’s picture

Thanks Larowlan!

Michael Hodge Jr’s picture

Assigned: Michael Hodge Jr » Unassigned
Status: Active » Needs review
FileSize
15.68 KB

My first attempt at this one.

larowlan’s picture

assuming bot agrees I think this is +1 for rtbc

larowlan’s picture

oh, and thanks @Michael Hodge Jr :)

Michael Hodge Jr’s picture

You're welcome. Thanks for the help!

Status: Needs review » Needs work

The last submitted patch, 6: Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-6.patch, failed testing.

tstoeckler’s picture

Awesome work on the patch. I was about to complain why you put actions() only on the edit form, but then I realized why and it makes perfect sense, really good catch!!!

Sadly I have two things I do have to complain about, where the second one at least would need to be fixed before commit IMO. Can you tackle that @Michael Hodge Jr?

  1. +++ b/core/modules/forum/src/Form/ForumAddForm.php
    @@ -0,0 +1,33 @@
    +    $term_storage = $this->entityManager->getStorage('taxonomy_term');
    +    $term_storage->save($term);
    ...
    +    $form_state->setRedirect('forum.overview');
    
    +++ b/core/modules/forum/src/Form/ForumEditForm.php
    @@ -0,0 +1,51 @@
    +    $term_storage = $this->entityManager->getStorage('taxonomy_term');
    +    $term_storage->save($term);
    ...
    +    $form_state->setRedirect('forum.overview');
    

    Seems these parts could be moved to the parent implementation.

  2. +++ b/core/modules/forum/src/Form/ForumBaseForm.php
    @@ -0,0 +1,128 @@
    +class ForumBaseForm extends TermForm {
    

    Even though ForumBaseForm actually sounds a lot better, our current standard dictates that this class should be called "ForumFormBase".

Michael Hodge Jr’s picture

Assigned: Unassigned » Michael Hodge Jr

@Tstoeckler, I'll get those changes taken care of. It won't likely be until Saturday as I'm traveling this weekend, but they are on my to-do list. Any hints on why the test failed? I had this fail locally, but I thought it may have been a local thing. I couldn't figure out why this particular error was being triggered.

tstoeckler’s picture

I think the reason for these errors is the problem I hinted at in the issue summary: ContainerForm extends ForumForm in current 8.0.x, so it probably needs to be adapted in some way. It probably needs to split similarly into ContainerAddForm and ContainerEditForm, which both extend a ContainerFormBase, which in turn extends ForumFormBase. Sadly we cannot avoid duplicated code in this case, because of our inheritance chains, i.e. for ContainerAddForm we cannot extend both ContainerFormBase and ForumAddForm, so we probably need to copy the relevant bits from ForumAddForm. At least that's what seems to be the sanest solution that I've come up with, feel free to think of a better one. :-)

larowlan’s picture

In which case we need a trait?

tstoeckler’s picture

Sure, I think that would make sense. I think this is just another proof that we should replace most of our endlessly long inheritance chains with traits, but there a lot of people in the Drupal community who will fight back against that. In this case, though, we have a concrete reason, so let's do it!

Michael Hodge Jr’s picture

Status: Needs work » Needs review
FileSize
21.84 KB
16.9 KB

Alright, so I was able to get this worked out in a way that reduces the duplicated code, but didn't require a trait in order to do so. The test was failing because of the save() method in the container class. The message being output wasn't what the test expected.

I also refactored the ForumAdd/Edit classes some more per comment #2 to reduce some of the duplicated code. I also split the Container into ContainerAdd and ContainerEdit as appropriate.

Let me know what you guys think of this patch.

Michael Hodge Jr’s picture

Forgot a space between one of my functions. New patch and interdiff attached.

Michael Hodge Jr’s picture

Assigned: Michael Hodge Jr » Unassigned
larowlan’s picture

+++ b/core/modules/forum/src/Form/ForumFormBase.php
@@ -0,0 +1,125 @@
+    // @todo Inject a taxonomy service when one exists.
...
+    // @todo Inject a taxonomy service when one exists.
...
+    $tree = taxonomy_get_tree($vid, 0, NULL, TRUE);

FYI the issue is #1976298: Move taxonomy_get_tree() and associated functions to Taxonomy storage, deprecate procedural wrappers. which is RTBC, so might need a re-roll if that goes in first.

Screenshots from manual testing

tstoeckler’s picture

Awesome work @Michael Hodge Jr !!! Thanks for finishing this off!

alexpott’s picture

Status: Reviewed & tested by the community » Needs work
Issue tags: +Needs reroll
git ac https://www.drupal.org/files/issues/Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-17.patch
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22371  100 22371    0     0  21821      0  0:00:01  0:00:01 --:--:-- 41504
error: patch failed: core/modules/forum/src/Form/ContainerForm.php:1
error: core/modules/forum/src/Form/ContainerForm.php: patch does not apply
Michael Hodge Jr’s picture

Status: Needs work » Needs review
FileSize
22.07 KB

Here is the rerolled patch

larowlan’s picture

Status: Needs review » Reviewed & tested by the community

ta

tim.plunkett’s picture

  1. +++ b/core/modules/forum/forum.module
    @@ -163,8 +163,10 @@ function forum_entity_type_build(array &$entity_types) {
    +    ->setFormClass('forum-add', 'Drupal\forum\Form\ForumAddForm')
    +    ->setFormClass('forum-edit', 'Drupal\forum\Form\ForumEditForm')
    +    ->setFormClass('container-add', 'Drupal\forum\Form\ContainerAddForm')
    +    ->setFormClass('container-edit', 'Drupal\forum\Form\ContainerEditForm')
    
    +++ b/core/modules/forum/forum.routing.yml
    @@ -49,7 +49,7 @@ forum.add_forum:
    -    _entity_form: 'taxonomy_term.container'
    +    _entity_form: 'taxonomy_term.container-edit'
    
    @@ -57,7 +57,7 @@ forum.edit_container:
    -    _entity_form: 'taxonomy_term.forum'
    +    _entity_form: 'taxonomy_term.forum-edit'
    
    +++ b/core/modules/forum/src/Controller/ForumController.php
    @@ -163,7 +163,7 @@ public function addForum() {
    -    return $this->entityFormBuilder()->getForm($taxonomy_term, 'forum');
    +    return $this->entityFormBuilder()->getForm($taxonomy_term, 'forum-add');
    
    @@ -178,7 +178,7 @@ public function addContainer() {
         ));
    -    return $this->entityFormBuilder()->getForm($taxonomy_term, 'container');
    +    return $this->entityFormBuilder()->getForm($taxonomy_term, 'container-add');
    

    We don't use hyphens for form classes, please use underscores.

  2. +++ b/core/modules/forum/src/Form/ContainerFormBase.php
    @@ -0,0 +1,51 @@
    +class ContainerFormBase extends ForumFormBase {
    
    +++ b/core/modules/forum/src/Form/ForumFormBase.php
    @@ -0,0 +1,125 @@
    +class ForumFormBase extends TermForm {
    

    Why aren't these abstract? Also this just means yet another parent class. They could instead use the "template method pattern", like EntityStorageBase and BlockBase do, by declaring new abstract protected methods, calling those, and thereby forcing the subclasses to just implement their functionality without the need for overriding/parent::

Most importantly, I wonder if we're actually gaining anything here.

As I commented on #2324877-3: Split ShortcutSetForm into ShortcutSetAddForm and ShortcutSetEditForm:

Why are we doing this? Is there a meta issue for these where this was decided to be a good idea?

tim.plunkett’s picture

Status: Reviewed & tested by the community » Needs review
tstoeckler’s picture

@tim.plunkett: Search for *AddForm classes in core. This is a pre-existing pattern and we should employ it consistently. The fact that we haven't so far has various legacy reasons, but that doesn't mean it should stay that way.

Regarding new abstract methods are you thinking along the lines of getDisplayMessage(), getLogMessage(), etc.? I think that would be a great idea. I did not suggest it because there is no such pattern for forms yet in core, but on the other hand, if we're touching all these files here, we might as well do it right.

kim.pepper’s picture

Issue tags: -Needs reroll
FileSize
12.66 KB
2.93 KB

Re-roll of #22 plus a fix for #24 1)

Status: Needs review » Needs work

The last submitted patch, 27: 2324871-forum-split-27.patch, failed testing.

acrosman’s picture

I'm at DrupalCon LA Sprint. I'll try to re-roll the last working version of the patch for this issue.

acrosman’s picture

Status: Needs work » Needs review
FileSize
15.15 KB

I've rerolled the patch from #27

Status: Needs review » Needs work

The last submitted patch, 30: Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-30.patch, failed testing.

acrosman’s picture

Added namespaces to a few calls to l() and re-rolled the patch.

mglaman’s picture

Status: Needs work » Needs review

Marking for review to kick off test bot for updated patch in #32

Status: Needs review » Needs work

The last submitted patch, 32: Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-32.patch, failed testing.

arskiainen’s picture

Status: Needs work » Needs review
FileSize
15.14 KB

Rerolled patch from #32.

Status: Needs review » Needs work

The last submitted patch, 35: Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-35.patch, failed testing.

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 35: Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-35.patch, failed testing.

neetu morwani’s picture

Assigned: Unassigned » neetu morwani
Issue tags: +Needs reroll

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 35: Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-35.patch, failed testing.

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 35: Drupal-Split_ForumForm_Into_AddEdit_Classes-2324871-35.patch, failed testing.

neetu morwani’s picture

Assigned: neetu morwani » Unassigned
hoebekewim’s picture

Assigned: Unassigned » hoebekewim
hoebekewim’s picture

Used entityManager to retrieve the taxonomy items and vocabulary.
Passed an URL object instead of a link to Drupal::l().
This is part of a Drupal code sprint, i've noticed that some tests have failed. Work in progress.

MykolaBova’s picture

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

Status: Needs review » Needs work

The last submitted patch, 46: 2324871-46.patch, failed testing.

hoebekewim’s picture

Missing conversions to \Drupal::l() and passing the Url object using routing instead of a direct link.
ForumForm extends from ForumFormBase now and the duplicate code has been removed from ForumForm.
Maybe ForumForm can be removed now ?

hoebekewim’s picture

Status: Needs work » Needs review
stefan.r’s picture

Status: Needs review » Needs work

Let's remove ForumForm as well, I don't think we don't need it anymore?

hoebekewim’s picture

Issue summary: View changes
Status: Needs work » Needs review
FileSize
21.14 KB
1.3 KB

Remove @todo comments and removal of ForumForm in favor of ForumFormBase.

stefan.r’s picture

Assigned: hoebekewim » Unassigned
Issue tags: -Needs reroll

A few unrelated changes but those are fairly straightforward. I think this looks OK now, just needs a beta evaluation.

andypost’s picture

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.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.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

larowlan’s picture

pinged maintainer to see if this is still possible or is now a BC break

naveenvalecha’s picture

Could we deprecated the existing forms in 8.2/3.x and remove it in 9.x like here https://www.drupal.org/node/2428003#comment-11688399

alexpott’s picture

Yep we can't remove the classes in D8 but we can deprecate and use the new stuff.

catch’s picture

Just discussed this with @xjm. https://www.drupal.org/core/d8-bc-policy wasn't 100% clear, but form classes are in the same category as controllers, hence @internal, hence we don't need a bc layer here at all.

If this is going to affect form alters at all we should have a change record though.

naveenvalecha’s picture

Version: 8.2.x-dev » 8.3.x-dev
Status: Needs review » Needs work
Issue tags: -Needs beta evaluation +Needs reroll

The patch in #52 does not apply anymore.
We don't need beta evaluation anymore for 8.3.x & 8.2.x

yogeshmpawar’s picture

Assigned: Unassigned » yogeshmpawar
yogeshmpawar’s picture

Assigned: yogeshmpawar » Unassigned
Status: Needs work » Needs review
Issue tags: -Needs reroll
FileSize
21.05 KB

Here is the rerolled the patch against 8.3.x

naveenvalecha’s picture

FileSize
13.02 KB
829 bytes
larowlan’s picture

  1. +++ b/core/modules/forum/src/Form/ContainerFormBase.php
    @@ -5,9 +5,9 @@
    +class ContainerFormBase extends ForumFormBase {
    
    +++ b/core/modules/forum/src/Form/ForumEditForm.php
    rename from core/modules/forum/src/Form/ForumForm.php
    rename to core/modules/forum/src/Form/ForumFormBase.php
    
    +++ b/core/modules/forum/src/Form/ForumFormBase.php
    @@ -2,28 +2,25 @@
    +class ForumFormBase extends TermForm {
    

    should this be abstract?

  2. +++ b/core/modules/forum/src/Form/ForumFormBase.php
    @@ -135,7 +101,7 @@ protected function forumParentSelect($tid, $title) {
    +    $children = $this->entityManager->getStorage('taxonomy_term')->loadTree($vid, $tid, null, TRUE);
    
    @@ -143,7 +109,7 @@ protected function forumParentSelect($tid, $title) {
    +    $tree = $this->entityManager->getStorage('taxonomy_term')->loadTree($vid, 0, null, TRUE);
    

    Why did we remove the local variable?

naveenvalecha’s picture

FileSize
11.78 KB
2.15 KB

#66.1
yup we can make it abstract
#66.2
Reverted. This was in the rerolled patch above :)

More cleanup, less weight patch :)

naveenvalecha’s picture

FileSize
11.83 KB
3.04 KB

Replaced the deprecated functions.

larowlan’s picture

+++ b/core/modules/forum/src/Form/ForumAddForm.php
@@ -0,0 +1,38 @@
+  /**
+   * Reusable type field to use in status messages.
+   *
+   * @var string
+   */
+  protected $forumFormType;
+
+  /**
+   * Reusable url stub to use in watchdog messages.
+   *
+   * @var string
+   */
+  protected $urlStub = 'forum';

+++ b/core/modules/forum/src/Form/ForumEditForm.php
@@ -0,0 +1,56 @@
+   * Reusable type field to use in status messages.
+   *
+   * @var string
+   */
+  protected $forumFormType;
+
+  /**
+   * Reusable url stub to use in watchdog messages.
+   *
+   * @var string
+   */
+  protected $urlStub = 'forum';

This is duplicated in the add and edit form, but both of them extend the base form. Could we move them into the parent and remove the duplication?

naveenvalecha’s picture

Removed the duplicated code to the ForumBase Abstract class.

andypost’s picture

looks good, the only thing is BC - this form class names can be used in contrib

+++ b/core/modules/forum/forum.module
@@ -107,8 +107,10 @@ function forum_entity_type_build(array &$entity_types) {
-    ->setFormClass('forum', 'Drupal\forum\Form\ForumForm')
-    ->setFormClass('container', 'Drupal\forum\Form\ContainerForm')
+    ->setFormClass('forum_add', 'Drupal\forum\Form\ForumAddForm')
+    ->setFormClass('forum_edit', 'Drupal\forum\Form\ForumEditForm')
+    ->setFormClass('container_add', 'Drupal\forum\Form\ContainerAddForm')
+    ->setFormClass('container_edit', 'Drupal\forum\Form\ContainerEditForm')

that's makes me think about BC for contrib

naveenvalecha’s picture

#71, AFAIK, This is not BC as per the bc-policy because the form classes and controllers are internal unless they are tagged with @api https://www.drupal.org/core/d8-bc-policy#controllers
// Naveen

larowlan’s picture

Assigned: Unassigned » alexpott

I think this is ready, but over to alexpott to confirm the BC question/otherwise

andypost’s picture

Status: Needs review » Reviewed & tested by the community

Proper status

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 70: 2324871-70.patch, failed testing.

andypost’s picture

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

The bc issue here seems fine.

One thing I thought of was deprecating the old classes deprecated for removal in 8.4.x - then if someone really is using them, it gives them a minor release cycle to update.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 70: 2324871-70.patch, failed testing.

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

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.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.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.

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.

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.

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.

alexpott’s picture

Assigned: alexpott » Unassigned
+++ b/core/modules/forum/src/Form/ContainerEditForm.php
similarity index 93%
rename from core/modules/forum/src/Form/ContainerForm.php

We should deprecate the old classes instead of removing them. Our policy on these is best effort and leaving them in core but unused and deprecated seems fine to me - especially as the deprecation message is to extend the new abstract classes - which seem to have all the original functionality.

mradcliffe’s picture

I added the Needs issue summary update as I think that there is still a Novice task for the issue to re-scope the issue based on @alexpott's note about deprecating the old class and adding the new ones.

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.

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.

quietone’s picture

Status: Needs work » Postponed

Forum is approved for removal. See #1898812: [policy] Deprecate forum module for removal in Drupal 11

This is now Postponed. The status is set according to two policies. The Remove a core extension and move it to a contributed project and the Extensions approved for removal policies.

It will be moved to the contributed extension once the Drupal 11 branch is open.

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.

quietone’s picture

Project: Drupal core » Forum
Version: 11.x-dev » 1.0.1
Component: forum.module » Code
Status: Postponed » Needs work