[TASK] Clarify exception message for addPlugin()

Add verbosity to the exception message to make it
more clear what is going wrong.

Releases: 6.2, 6.3
Resolves: #60225
Change-Id: I7bb4a16ff94d05b8b97633383d42c61aa600b1cf
Reviewed-on: https://review.typo3.org/31562
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Disable notifications

Change-Id: I245db7b621ecd1d994b833da4a18fe1687a437d0
[BUGFIX] Extbase behaviour concerning workspaces

Issue #26732 introduced some behaviour into Extbase that cannot
work on the long-run. The usual behaviour of TYPO3 is "fetch
live, then overlay". Avoiding that chain might lead to
several side-effects.

This change integrates a new property "_versionedUid" than
contains the specific uid of the versioned record (this is
similar to the already existing _localizedUid property).
Besides that, changes of issue #26732 are reverted.

Functional frontend tests are enabled for live and workspace
for all IRRE ForeignField scenarios.

Resolves: #59107
Releases: 6.2
Change-Id: Idc46fb86830bc3d750972adade178cf9c618ece5
[WIP][TASK] Extract overlay handling to common class

Change-Id: I6af332f1044011ffb84e57398d91a140806b6f03
[TASK] Extend Regular DataHandler functional tests

* add third tt_content element with localization in live context
* populate changes to all scenarios in live and workspace context

Releases: 6.2, 6.3
Resolves: #59881
Change-Id: I644e264048a5c33c0a613d5f8440975cabd40721
[BUGFIX] Failing cascaded delete action of localized elements

Having a record in live workspace with an accordant localization
leads to the fact that actions to the default language also have
an impact to all localizations.

In a workspace, first deleting the localization, then deleting
the record of the default language, ends up in actually having
reverted the previous deletion of the localization.

The solution is to check for delete placeholders in
DataHandler::deleteL10nOverlayRecords().

Resolves: #59113
Releases: 6.2, 6.3
Change-Id: I888c83a58d591f57bc2ea75a49fa603a56a7f722
[FEATURE] Ease previewing custom record data in workspace module

Currently only pages, pages_language_overlay and tt_content have
the possibility to open a preview in the website frontend.
A hook needs to be used to open the preview for custom records
(since possibly the location of the rendering plugin and its
page needs to be resolved).

To ease that behaviour a new Page TSconfig setting is added:
options.workspaces.previewPageId

Possibilities:
* options.workspaces.previewPageId = 123
* options.workspaces.previewPageId = field:pid
* options.workspaces.previewPageId.tx_myext_table = 123
* options.workspaces.previewPageId.tx_myext_table = field:pid

Resolves: #59144
Releases: 6.3
Change-Id: I44fffa6fffb1ccc8af79e6dea48415cdf281cb01
[WIP][FEATURE] Rework workspace notification settings

Integrate a more flexible notification behaviour.

Resolves: #35245
Releases: 6.3
Change-Id: Icb680fe85fab61a51d53e3afb94b51a4930e180c
[TASK] Integrate collection selection behavior in workspace module

Since TYPO3 6.2 parent-child structures are visualized in
the workspace module. However, this representation lacks
the possibility to select all elements of that accordant
collection by one click.

A new event "holdclick" is integrated that is fired after
holding the mousedown event for 400ms. This event then
leads to have all records of the collection selected.

The regular mousedown (click) behavior still stays the same.

Resolves: #60010
Releases: 6.2, 6.3
Change-Id: I98d26f125428446157294866484f8be7106b0c51
[TASK] Simplify record icons in workspace module

The record details view renders record icons for both live and
versioned record. However, this representation is shown rather
stand-alone and can be combined with the accordant headers.

Resolves: #60015
Releases: 6.2, 6.3
Change-Id: I2f468a06271f335c491d90d825f7bcef7a9db9f6
[TASK] Possibility to disable grouping in workspace module

The workspace modules uses the ExtJS component GroupingStore
per default to group and nest version by page path. However,
this behavior get unhandy if all versions of all pages shall
be sorted by a particular column.

A new checkbox "group by path" shall be added to the top
columns menu to individually disable/enable this behavior.
Changes to that state are stored with the preferences of
a backend user for the accordant workspace.

Resolves: #60037
Releases: 6.2, 6.3
Change-Id: I8e9a2f3f14870c90ea5988a0182a54b22762390e
[TASK] Refactor file references relations retrieval

The retrieval of file references in BackendUtility
is currently bound to the thumbCode() method but
is useful for other components as well.

Resolves: #60054
Releases: 6.2, 6.3
Change-Id: Id92bdeaed24d8924285a640f905ffd55db21da4d
[WIP][TASK] Missing visual representation of sys_file_reference

Resolves: #60011
Change-Id: I6d22619c264ff0e5411a47b2d566ec2c9b7c2607