Problem/Motivation
Track the steps needed to deprecate the Ban module. See Remove a core module and move it to a contributed project of the deprecation policy.
The removal of extension Ban was approved in #1570102: [Policy] Deprecate Ban module.
mstrelan has agreed to maintain version 1 of the module in contrib, see #13
Remaining tasks
Begin finding someone to maintain the contrib version of the extension.- Move integrations implemented by other modules to the extension.
Create child issues or child meta issues, as needed, to address the following points. Not all points will apply to all extensions.Move non-migration tests to the extension. - N/AMove Help Topics to the extension. - N/ARemove the extension from one or more profiles.
Used in testing_install_profile_all_dependencies #3488838: Use a test module instead of Ban in tests
- Remove references to the extension from database dumps. Like for last major update this will be done in a single issue for all deprecated extensions.
Remove templates from the extension’s markup.- Remove templates from themes that are staying in core, leave them in deprecated themes
- Keep skipping the template in the stable copies test.
For a module, handle migrations, if the module has migrations.- #3488834: Remove Ban module from migration tests not in the module
- No changes are needed in the migrate_drupal_ui functional tests. The module is not installed and there are also no entity count tests since the blocked ips are not entities.
- Do a thorough search of core for any remaining references to the extension. If references are found, outside of the extension, then create issues to remove the references.
- #3488836: Remove Ban from help topics
- There are usages of 'ban' in comments in \Drupal\Core\Config\ConfigImporter::createExtensionChangelist. It is in the context of how a sort works and is not about the functionality of 'ban'. This can stay unchanged.
Create the contrib project with a stable release, before the alpha version of the major release. Follow the process in Create the contrib project with a stable release for creating the sub tree split.Deprecate the core extension. #3499865: Deprecate the Ban moduleUpdate the doc page
Comments
Comment #2
quietone commented@andypost, thanks for starting the issue. If you like, I will setup the issues for the other planned removals.
Comment #3
andypost@quietone thank you, makes sense
Comment #4
quietone commentedComment #5
quietone commentedComment #6
quietone commentedComment #7
berdirSituation here seems a bit different/more complicated than some other core removals as there are multiple alternative modules and additions. We use it in combination with https://www.drupal.org/project/perimeter and https://www.drupal.org/project/auto_unban, which also overlaps with autoban and advban.
Should we consider to deprecate ban in favor of an existing contrib project like advban? Or do the opposite, and merge those additional features into the ban contrib project and attempt to establish a new 2.x release branch of that as the canonical solution for some of these ban features?
I'll ping a few of the current maintainers of those projects on slack.
Comment #8
anybodyThat would definitely be my personal favourite!
Comment #9
quietone commentedComment #10
catch@berdir in terms of core I think a 1.x version that provides continuity with core is enough to remove it, but consolidating the various similar/extending contrib modules into a single contrib project, which could be the ban 2.x branch, sounds great.
Comment #11
goodboy commentedRegarding of idea I've added the ban reason field to the latest release of advban module. This was the only concern I read with advban.
Comment #12
quietone commentedAsked in #core-development for someone to maintain the contrib module.
Comment #13
mstrelan commentedI don't use the ban module, but I'm motivated to assist in removing it from core. So I'd be happy to maintain a 1.x version, but would need to find others to maintain the proposed 2.x version.
Comment #14
jurgenhaasI'm the maintainer of the CrowdSec module, which depends upon the Ban module, and we do have plans for moving that forward. So, I'm interested in maintaining the Ban module moving forward. Short term, I don't have much availability, but it looks like the process of managing the deprecation is already in good hands.
Just wondering, what's the plan about Drupal core's flood control as it depends upon the ban module as well. Are we deprecating flood control too?
Comment #15
catchFlood control doesn't depend on the ban module - it's a core subsystem.
Comment #16
jurgenhaasOh, flood control only blocks further login attempts, it doesn't ban the IP. Thanks for the clarification.
Comment #17
quietone commentedComment #18
quietone commentedComment #19
quietone commented@mstrelan, still interested in Ban in contrib? If so, is the contrib project created? I ask because the issue to deprecate Ban is needs review.
Comment #20
mstrelan commented@quietone sure, if no one else wants to in the short term then I can. I tried to created the project but the short name "ban" is reserved. Any tips?
Comment #21
longwaveThe DA has prevented certain projects, including most core module names, from being created on d.o: https://bitbucket.org/drupalorg-infrastructure/drupal.org/src/6e4bceb300...
Create an issue at https://www.drupal.org/project/infrastructure linking back to here to get
banunbanned.Comment #22
mstrelan commented#3537047: Allow to create project for ban module in contrib
Comment #23
mstrelan commentedI now have maintainer access to the ban project in contrib. Is now the right time to create the subtree split?
Comment #24
mstrelan commentedOK we now have Ban 1.0.0.
FWIW I struggled a bit with knowing exactly what steps were needed for the contrib project, because core project names are reserved and there are weird namespace issues to know about. Steps should be updated something like this:
drupal/PROJECT-PROJECTI think we can move over to #3499865: Deprecate the Ban module now.
Comment #25
catch@mstrelan thanks for doing this.
I thought we had the steps for moving a module to contrib in a docs page somewhere, but can't find it. The problem is it happens on average about once or twice per year, but it might be worth trying to put somewhere, maybe next to the deprecation guide or similar?
Comment #26
mstrelan commentedIt's linked at the top of the IS, but it only goes as far as creating the project with the subtree split, doesn't mention the namespacing issue. I can try update it tomorrow.
Comment #27
mstrelan commentedOpened #3539672: Ensure that Ban does not get special core treatment
Comment #28
quietone commentedAll the steps should be at https://www.drupal.org/about/core/policies/core-change-policies/how-to-d... and that link is in the issue summary. Is that incomplete?
Comment #29
quietone commentedAh, creating the infrastructure issue is in the template for the removal process. May just need to move things around.
Comment #31
quietone commentedI updated the doc page, https://drupal.slack.com/archives/CGKLP028K/p1769125658588549
Comment #32
mstrelan commentedThe last child issue is in, I think we can say this is done.
Comment #33
quietone commentedYes, this is all done. I have updated credit.
Thanks!