[TASK] Mitigate erroring builds

Builds error regularily because our scripts
need to output something at least every 10 minutes.

This might not happen as the complete functional test
suite takes longer than that.

To avoid these issues, only execute unit tests and lint
in parallel and each functional test suite.

By doing so, each functional test suite can take
up to 10 minutes which is for now a limit we do not
reach.

Releases: 6.2
Change-Id: I74cac706748cc03388f814f09e799a8705a26bca
Reviewed-on: https://review.typo3.org/29133
Reviewed-by: Markus Klein
Reviewed-by: Stefan Neufeind
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Fix impexp for importing exports from version 4.x

This patch introduces FAL support in impexp for the import of
exports done in version 4.x by using a legacy mode. Related images
from uploads/ (tt_content:images and pages:media) are moved to
the folder /_imported/ below users default storage.
Linked files and RTE images are moved to the original folder
structure below the folder /_imported/ below users default storage.

Also the images additional information, like titleTexts and links are
migrated to the new created file reference record.

These scenarios are covered with functional tests:
* pages media
* pages_language_overlay media
* tt_content images
* links to files
* links to files in RTE
* images in RTE
* other records using fields of type "group" internal_type "file"
  or "file_reference" in TCA and FlexForm fields.

Resolves: #52593
Releases: 6.2
Change-Id: I170ec20827af255f85ddc0fd51ffe30df7ef6b4e
Reviewed-on: https://review.typo3.org/22939
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[BUGFIX] impexp has to use module dispatcher

Resolves: #57873
Releases: 6.2
Change-Id: I6f622c32429143bd55ffe9286a26a920d791ea5b
Reviewed-on: https://review.typo3.org/29443
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Add available jQuery version to PageRenderer

The core still ships jQuery 1.9.1 within the contrib folder,
but the list of available versions in PageRenderer does not
contain that version.

Lets just add it.

Resolves: #57466
Releases: 6.2
Change-Id: I10f8e1d24b0c8a8864187c2fe3641cce4303fb5c
Reviewed-on: https://review.typo3.org/29449
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Improve the admin panel

There are 3 issues in the admin panel currently which slipped through.

* CSRF protection is not working in the FE even though
  there is a BE_USER provided
* Wrong title is used for the link of "record history" link
* Incorrect usage of htmlspecialchars-conversion
  (don't escape title for calls to getSpriteIcon, ...)

Resolves: #57579
Releases: 6.2
Change-Id: I613b67e78789d479435f561a27252550c42b4452
Reviewed-on: https://review.typo3.org/29095
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[FEATURE] Introduce signal in loadBaseTca

To improve performance in backend context, final
TCA should be cached in contrast to only parts of it.

To be able to cache the complete TCA, we need to introduce a signal
after building the cached TCA from files.

#57862 describes further steps, which are not in scope of this change.

This is a completely non breaking change, it only
adds new API which extension authors can also
use to benefit from the resulting performance gain.

Resolves: #57863
Documentation: #57895
Releases: 6.2
Change-Id: I1174b68b59f2ebc5b8c0c227ac13102366c2136a
Reviewed-on: https://review.typo3.org/29433
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Do not unset() PageRenderer class members

Instead reset them to a default value.

Resolves: #57920
Releases: 6.2
Change-Id: I900cbd46b5573a84133efe1cf9fbf29d483e8096
Reviewed-on: https://review.typo3.org/29469
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[CLEANUP] Remove unused [BE][usePHPFileFunctions] option

Resolves: #57921
Releases: 6.2
Change-Id: I5342f0d4f78831605c24b3354c1fbb7316738ca4
Reviewed-on: https://review.typo3.org/29470
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Updates prototype and scriptaculous, fixing IE9+ issues

Upgrades prototype from 1.6.0.3 to 1.7.1 and scriptaculous
from 1.8.2 to 1.9.0.

Solves the problem with sorting IRRE elements in IE9+, for example.

Resolves: #51768
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I5ea11b2e926ae0f23d1c6d85a0ff5ba24995eebb
Reviewed-on: https://review.typo3.org/27090
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[CLEANUP] Clean up comments and error messages in ResourceStorage

This changes adds some missing @throws annotations and improves the
readability of some comments.

Also fix a typo in an exception and reformat some exceptions for
better readability.

Moreover add some checks if the correct type is present
before calling undefined methods.

This change does not introduce any functional changes.

Releases: 6.2
Resolves: #57871
Change-Id: Iab4414bd480a05cc5ca3b29df0d12e719064b063
Reviewed-on: https://review.typo3.org/29439
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Remove hardcoded module name in AbstractDatabaseRecordList

TYPO3 Fluid offers view helper TableListViewHelper to generate
records list in backend modules. When pagination is rendered
for this list all links (previous, next etc.) redirect to
List module but they should point to current backend module.
Reason of this behaviour is hardcoded module name in listURL()
function.

This patch replaces hardcoded module name with the M
parameter from GET array. Extbase modules require also
controller and action name in url's so all GET params
are merged with this defined in listURL() function. We are
using all GET params because module might require more
than controller and action name for other elements than
records list.

Resolves: #55314
Releases: 6.2
Change-Id: I706cf99838620c961e1b3f7af667d0c6ba447077
Reviewed-on: https://review.typo3.org/27049
Reviewed-by: Stefan Neufeind
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Make category TCA changes cacheable

Currently TCA changes of the category API are applied on every request
after the extTables files is included. This makes it impossible to
override the changes by third party extensions and also we do not
benefit from caching.

Instead we now use the introduced signal and apply the changes
right before caching.

With this change we also have a clear separation of
registering category field additions (in ext_localconf.php) and
applying the TCA changes while building the TCA cache.

Resolves: #57881
Releases: 6.2
Change-Id: I385c894fe13eb4cd4f8f2b4c82a9513b05308daa
Reviewed-on: https://review.typo3.org/29424
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Revert "[BUGFIX] Make category TCA changes cacheable"

This reverts commit 2b4aeefc27719e0147858f7b0c82a70249a53749

This is reverted in favor of a better approach that makes
caching for every TCA additions or override possible.

Besides that, this change introduced a regression, as
database compare in install tool does not work properly any more.

Change-Id: I4fc0d3d76f28afd8ff82ae5537ff3b207fa53bae
Reviewed-on: https://review.typo3.org/29480
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[CLEANUP] Category related tests cleanup

The category registry test and makeCategorizable
test of extension management utility are cleaned up
to use proper naming and actually test what
is in their scope.

Resolves: #57949
Releases: 6.2
Change-Id: I5dae812435d71b5188b4dc8ecf9dd2ce9d400658
Reviewed-on: https://review.typo3.org/29488
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[FEATURE] Provide API to add cached TCA changes

This change adds the feature that php files in the
extension directory Configuration/TCA/Overrides/
will be executed right before building the cached
TCA. These files must *only* contain PHP code
that manipulate TCA (like addTCAColumns or
addToAllTCATypes).

The benefit in doing so is that we can move all code
manipulating the TCA that previously was in ext_tables.php
and therefore uncachable, can now be in a defined
location and is only executed when TCA is built
and after that cached.

This will give backend requests quite a performance
boost once extensions start using these files.

Category Registry changes will also be applied
after Configuration/TCA/Overrides/ has been processed
so that makeCategorizable calls can now also happen
in files in this locations and do not need to stay
in ext_localconf.php where they also would be executed
on every request.

For now only filemetadata extension TCA configuration
is moved. All other core extensions will follow later.

Resolves: #57942
Documentation: #57951
Releases: 6.2
Change-Id: Id7fdebac266bc0b4e85a45b64d73e4f4f3c59a36
Reviewed-on: https://review.typo3.org/29484
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] BE ignores l10n_mode for record titles

Change-Id: I8606f5e0a1525cb98839a41271466a18b9f3cccf
Fixes: #33499
Releases: 6.2, 6.1
Reviewed-on: https://review.typo3.org/10448
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] TceformsUpdateWizard shows up too often

After successfully migrating a field, the field is not added to the list
of finished fields, due to a superfluous check.

Running wizard again finally adds the field to the finished list as the
condition is fulfilled, but the additional run does not
do any useful work anymore.

Fix this by adjusting the condition to safe the extra run.

Resolves: #57497
Releases: 6.2
Change-Id: I6bc15de6f5dbeb58151a1745a849e1b0581b2fbe
Reviewed-on: https://review.typo3.org/29033
Reviewed-by: Frans Saris
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Follow-up to l10n_mode=exclude for record titles

Fix a possible warning in the new method and simplify test
cases a bit.

Change-Id: Ie9ee3c1b52d3a692c23428f21e3fb7311da9cb2a
Resolves: #33499
Releases: 6.2
Reviewed-on: https://review.typo3.org/29492
Reviewed-by: Andreas Wolf
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Merge remote-tracking branch 'upstream/master'