Deprecate switchable controller actions (#89463)


In my opinion the removal of the sca’s and creating a dedicated plugin for each case might lead to a totally flooded new content elements wizard as well as lots of entries in tt_content’s “list_type” form selector. Imagine an installation contains 5 plugins and each plugin contains 4 switchable actions, that would lead to 20 (!) entried in “list_type” etc. I’ve got many t3 instances with custom extensions where this would result in > 50 plugins, too! I don’t really understand what would be the benefits of the removal, as using sca’s only offers benefits to me (encapsulating similar logic in ONE plugin instead of spreading it to severals)…

Hi Jan,
I don’t understand why you create this buzz now. I opened a dedicated slack channel these days, I explained that the deprecation does not necessarily mean a reduction of features or a worse UX.

Also, you didn’t name anything to decide on and you don’t state pros and cons yet as I asked you and others to provide in this document:

Please call this decision off and let’s do this right:

  1. Collect the facts
  2. State pros and cons of both solutions (you don’t know my ideas for a replacement yet)
  3. Create a new entry on this platform (if still necessary)

Thanks in advance


I see your concerns, but I don’t see how they could not be covered in the future:

  • The deprecation currently just states that it is an architectural concept which is deemed conflicting and in general odd for the future, thus it makes sense to change it
  • The proposed migration reflects the current state, the mention of be removed in 12 perhaps, not 11, reflects that there is deemed room for a discussion on a better solution (edited, was ~good solution is not yet in place~).

Concerning your concerns:

  • Splitting/Generating the additional controllers is not that big of an issue, you can still reuse your code, it is a one time migration, which can not be automated by core depending on what you did, but you can easily do it for your extensions if they are as similar designed as you propose
  • Additional entries in list_type is no problem as well, a simple grouping feature (which is yet to be added and defined) would resolve that quite easily and not contradict with the archtitecure problems mentioned in the deprecation notice

However I don’t get the intention of your post, neither from topic nor from text: do you want to stop the deprecation, change it, want a better solution before deprecation or want to discuss a better solution? I think it is the latter.

1 Like

I also dislike this decision without any really nice alternative.
By the way, the link is broken, it is now

In my case I have a ShopController with several entry points. I already have several plugins for this but with this change I need to create even more as I also created some switchablecontrolleractions where I define specifically which action will be the default and which actions are allowed to be called in this context. Having this in mind, I need at least 3x the amount of plugins now. This is not a good idea!

My biggest pain point though is that for a redirect (which I use a lot) the whole page needs to be rendered just for a simple redirect in a plugin. I created a special PAGE type just to include the ShopController with a specified amount of actions that are allowed to be called which handle the redirect much faster. A good solution for this problem would be highly appreciated.

For those that find their way here:
I created a gist, explaining some details regarding the deprecation and removal of switchable controller actions:

Sorry for creating this here… I did it before the gist and have been created and because sombody suggested it, as far as i remember… Sombody might delete it (i am not authorized)