Deprecate SyndicateBlock

Created on 14 April 2025, 29 days ago

Problem/Motivation

This block has many issues as outlined in https://www.drupal.org/project/drupal/issues/3174990#comment-16035695 🐛 Test that SyndicateBlock works when views disabled Active

1. Has a block_count config which does nothing. This will need an update path to remove the config, etc. See 🐛 SyndicateBlock has unused block_count configuration Needs review
2. Config dependencies - the block should depend on the view.
3. Access controls - The block shouldn't render if the view or display doesn't exist - what happens if someone renames the display from feed_1? Should we just hide the block in those cases?
4. Cacheability - the block render cache needs to depend on the views config.
5. The block breaks if the url changes in the frontpage view 🐛 Test that SyndicateBlock works when views disabled Active
6. It has a configFactory class property that isn't used.

Proposed resolution

Deprecate the block with no replacement

Remaining tasks

Do it

User interface changes

Block removed from Olivero

API changes

SyndicateBlock is deprecated

Release notes snippet

SyndicateBlock is deprecated

📌 Task
Status

Active

Version

11.0 🔥

Component

node system

Created by

🇦🇺Australia acbramley

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @acbramley
  • Merge request !11835Issue #3518990: Deprecate SyndicateBlock → (Closed) created by annmarysruthy
  • Pipeline finished with Failed
    27 days ago
    Total: 723s
    #473896
  • 🇳🇿New Zealand quietone

    I noticed the change record for this issue published. Since this issue not fixed I un-published it.

  • Pipeline finished with Failed
    27 days ago
    Total: 480s
    #474105
  • Pipeline finished with Failed
    27 days ago
    Total: 646s
    #474186
  • 🇦🇺Australia acbramley

    I don't think we should be adding @legacy to all those tests. The block should instead be removed from the profile and theme.

  • Pipeline finished with Failed
    27 days ago
    Total: 566s
    #474584
  • Pipeline finished with Failed
    27 days ago
    Total: 149s
    #474629
  • Pipeline finished with Failed
    27 days ago
    Total: 443s
    #474632
  • Pipeline finished with Failed
    26 days ago
    Total: 439s
    #474637
  • 🇮🇳India annmarysruthy

    annmarysruthy changed the visibility of the branch 3518990-deprecate-syndicateblock to hidden.

  • 🇮🇳India annmarysruthy

    @acbramley Can I skip deprecating the block and directly remove it? But what if the block is currently being used in sites.

  • 🇨🇭Switzerland berdir Switzerland

    You want to deprecate the block *plugin* and remove the block configuration from standard profile so it is no longer used.

  • 🇨🇭Switzerland berdir Switzerland

    This also is related to 📌 Create a way to declare a plugin as deprecated Needs work . Ideally, a deprecated block shouldn't show up anymore as a possible option in the UI, but you should still be able to view and edit a block that's already placed, possibly with a warning in the UI.

    We had custom logic for this for the node type visibility plugin in D8 or 9.

  • Pipeline finished with Failed
    26 days ago
    Total: 484s
    #474947
  • 🇮🇳India annmarysruthy

    Deprecated the block and removed it from theme and profile. still getting a few test failures in merge request !11835.

  • Pipeline finished with Failed
    8 days ago
    Total: 548s
    #488829
  • Pipeline finished with Canceled
    8 days ago
    Total: 147s
    #488834
  • Pipeline finished with Failed
    8 days ago
    Total: 703s
    #488835
  • 🇦🇺Australia acbramley

    Most of the test failures were due to the block being in the update fixture which I've now removed.

    The last failures are around performance tests.

    StandardPerformanceTest is now failing with an additional query to the path alias table which is very strange since we're removing a block that renders a link to that:
    SELECT 1 AS "expression" FROM "path_alias" "base_table" WHERE ("base_table"."status" = 1) AND ("base_table"."path" LIKE "/rss.xml%" ESCAPE '\\') LIMIT 1 OFFSET 0

  • Pipeline finished with Failed
    8 days ago
    Total: 689s
    #488851
  • Pipeline finished with Failed
    7 days ago
    Total: 451s
    #489599
  • Pipeline finished with Success
    7 days ago
    Total: 1380s
    #489621
  • 🇦🇺Australia acbramley

    Finally green.

    Re #11 I think that'd be nice but I'm hoping since this block is most likely not used that much we probably don't need to block on that?

  • 🇦🇺Australia mstrelan

    Opened 📌 Deprecate RSS usage in core Active to discuss if we want to deprecate RSS more broadly in core

  • 🇨🇭Switzerland berdir Switzerland

    Do we want to do something about #11? Specifically, do we want to indicate or completely hide this block when placing a new block? We don't have an official way to do that anymore and the referenced issue is actually going to be tricky to implement now with typed classes and constructors, but we could add a a hardcoded workaround.

  • 🇦🇺Australia acbramley

    Found a nice way to do #16 - there's a _block_ui_hidden key on the definition that BlockLibraryController uses to filter out definitions when adding a block. This doesn't affect existing blocks that have already been placed. Works perfectly for what we need here!

  • Pipeline finished with Failed
    6 days ago
    Total: 855s
    #490851
  • Pipeline finished with Success
    6 days ago
    Total: 475s
    #490862
  • The Needs Review Queue Bot tested this issue. It no longer applies to Drupal core. Therefore, this issue status is now "Needs work".

    This does not mean that the patch necessarily needs to be re-rolled or the MR rebased. Read the Issue Summary, the issue tags and the latest discussion here to determine what needs to be done.

    Consult the Drupal Contributor Guide to find step-by-step guides for working with issues.

  • First commit to issue fork.
  • Pipeline finished with Success
    about 3 hours ago
    Total: 437s
    #495101
  • 🇺🇸United States dcam

    Rebased MR 11853

Production build 0.71.5 2024