Feature: #100293 - New ContentObject EXTBASEPLUGIN in TypoScript

See forge#100293

Description

In order to lower the barrier for newcomers in the TYPO3 world, TYPO3 now has a custom ContentObject in TypoScript called EXTBASEPLUGIN.

Previously, TypoScript code for Extbase plugins looked like this:

page.10 = USER
page.10 {
    userFunc = TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run
    extensionName = shop
    pluginName = cart
}

The new way, which Extbase plugin registration uses under the hood now, looks like this:

page.10 = EXTBASEPLUGIN
page.10.extensionName = shop
page.10.pluginName = cart

The old way still works, but it is recommended to use the EXTBASEPLUGIN ContentObject, as the direct reference to a PHP class (Bootstrap) might be optimized in future versions.

Impact

This change is an effort to distinguish between plugins and regular other more static content.

Extbase is the de-facto standard for plugins, which serve dynamic content by custom PHP code divided in controllers and actions by extension developers.

Regular other content can be written in pure TypoScript, such as ContentObjects like FLUIDTEMPLATE, HMENU, COA or TEXT is used for other kind of renderings in the frontend.