- Oct 02, 2022
-
-
Oliver Bartsch authored
In the process of using dedicated TCA types, the new TCA type "file" is introduced and replaces TCA type "inline" with "foreign_table" set to "sys_file_reference". The new type allows to remove a lot of cross dependencies and special cases for type "inline", in case the field is used in FAL context. Also DataHandler and friends benefit from this change, since dedicated functionality can be used now. It therefore effectively allows to improve FAL independently in the future. Due to the nature of "inline" a lot of code had to be copied for the new type, while changing the internal naming was not always easily possible. This will be done step by step with further patches. Besides the new TCA type also three new PSR-14 Events are introduced: - CustomFileControlsEvent - ModifyFileReferenceControlsEvent - ModifyFileReferenceEnabledControlsEvent While the ModifyFileReferenceControlsEvent and ModifyFileReferenceEnabledControlsEvent are equal to their inline counterparts does the CustomFileControlsEvent replace the "customControls" hook option, which is therefore only available for type "inline". Further notable changed: - Superfluous field "table_local" is removed from "sys_file_reference" - ExtensionManagementUtility::getFileFieldTCAConfig() is deprecated - Placeholders are introduced for common image/media/file types - File extension filtering is now done automatically in FormEngine and DataHandler Executed commands: composer u typo3/cms-styleguide Resolves: #98479 Releases: main Change-Id: Ie7a14e8cef444816d3c1844df43e6c0c93706d5d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75916 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Jochen <rothjochen@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Jochen <rothjochen@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benni Mack authored
This change introduces a new PSR-14 event "ModifyDatabaseQueryForRecordListingEvent" which serves as a successor for various hooks: * $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/class.db_list_extra.inc']['getTable'] * $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList']['modifyQuery'] * $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList']['makeSearchStringConstraints'] The interface "RecordListGetTableHookInterface" is not in use anymore and is marked as deprecated. In addition, several methods in DatabaseRecordList now have a different method signature: * DatabaseRecordList->getTable() without $pageId and $additionalConstraints * DatabaseRecordList->getQueryBuilder() without the "pageId" argument * DatabaseRecordList->makeSearchString() now marked as protected Resolves: #98490 Releases: main Change-Id: Ied0b84bdddf3298050e1f6633da472e5f194a3d4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75928 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Annett Jähnichen authored
DB Check seems to be the only module in backend that uses an Overview view for displaying the functions. Other modules have a default function that is loaded. Replace overview page by loading Manage Reference Index as default function, as this is probably where the least loading overhead occurs. * Remove DatabaseIntegrityController->overviewAction * Remove IntegrityOverview.html * Remove Test seeOverview Resolves: #98477 Releases: main Change-Id: Id37d5bd50071f9abbb6bba37e6edc43f5b0a0ef2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75921 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Annett Jähnichen <mcmietz@web.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Annett Jähnichen <mcmietz@web.de>
-
- Oct 01, 2022
-
-
Benjamin Franzke authored
Some plugins and integrations have been kept on purpose in #96874, in order to keep the patch small. All CKEditor4 related infrastructure is now removed as it is unused. Resolves: #98497 Related: #96874 Releases: main Change-Id: Iedfe53fbb102b28be5127c1c5fbd4d8877507e7f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75937 Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
Oliver Hader authored
This change adds CKEditor v5, which is a completely new editor compared to the previous CKEditor 4. It works without iframes, and has a new plugin API and editing API, allowing to work faster and easier with rich text content editing. CKEditor v4 is removed completely from TYPO3 v12, as its support lifecycle will end in late 2023. CKEditor v5 is created as a bundle file with a list of built-in plugins (see ckeditor5-bundle.js). TYPO3 ships with a typo-link custom plugin, which can be added and loaded dynamically via the RTE configuration yaml file. As most of the editor configuration is changed due, a migration tool will migrate as many options as possible. However, PLEASE NOTE: It might be possible that data loss occurs as some features have to be enabled explicitly. As the iframe is removed, the contents.css now needs a CSS prefix for the editor in order to apply styling. This is done via a SCSS parser (added as PHP dependency) for the time being, until we find a better solution to create custom CSS files for RTEs. This change is marked as breaking as CKEditor 4 configuration and integration is removed, and due to the possible data loss, which might happen due to invalid plugins (based on CKEditor 4) which then do not render their contents anymore. The new editor and its configuration is still experimental as we need to stabilize our integration code to cover more scenarios. Supported functionality: * Configurable toolbar items via RTE presets * Custom typolink plugin + dynamically loaded plugin architecture via ES6 * Custom contents.css file loaded * Migration for various config settings (see CKEditor5Migrator class) Missing features which might get added later-on: * extended autolinking plugin * additional attributes for typo3-link plugin In addition, the integration code still contains various "@todo" remarks which should get resolved during further v12 development. CKEditor4 removal is put in a dedicated, separate patch. Used commands: composer req scssphp/scssphp:^1.11 composer req scssphp/scssphp:^1.11 -d typo3/sysext/core --no-update cd Build/ npm install \ @ckeditor/ckeditor5-alignment \ @ckeditor/ckeditor5-autoformat \ @ckeditor/ckeditor5-basic-styles \ @ckeditor/ckeditor5-block-quote \ @ckeditor/ckeditor5-clipboard \ @ckeditor/ckeditor5-code-block \ @ckeditor/ckeditor5-core \ @ckeditor/ckeditor5-dev-utils \ @ckeditor/ckeditor5-editor-classic \ @ckeditor/ckeditor5-engine \ @ckeditor/ckeditor5-essentials \ @ckeditor/ckeditor5-find-and-replace \ @ckeditor/ckeditor5-heading \ @ckeditor/ckeditor5-horizontal-line \ @ckeditor/ckeditor5-html-support \ @ckeditor/ckeditor5-indent \ @ckeditor/ckeditor5-link \ @ckeditor/ckeditor5-list \ @ckeditor/ckeditor5-paragraph \ @ckeditor/ckeditor5-paste-from-office \ @ckeditor/ckeditor5-remove-format \ @ckeditor/ckeditor5-source-editing \ @ckeditor/ckeditor5-special-characters \ @ckeditor/ckeditor5-style \ @ckeditor/ckeditor5-table \ @ckeditor/ckeditor5-theme-lark \ @ckeditor/ckeditor5-ui \ @ckeditor/ckeditor5-undo \ @ckeditor/ckeditor5-utils \ @ckeditor/ckeditor5-word-count npm install --save-dev \ @types/ckeditor__ckeditor5-alignment \ @types/ckeditor__ckeditor5-autoformat \ @types/ckeditor__ckeditor5-basic-styles \ @types/ckeditor__ckeditor5-block-quote \ @types/ckeditor__ckeditor5-clipboard \ @types/ckeditor__ckeditor5-code-block \ @types/ckeditor__ckeditor5-core \ @types/ckeditor__ckeditor5-editor-classic \ @types/ckeditor__ckeditor5-engine \ @types/ckeditor__ckeditor5-essentials \ @types/ckeditor__ckeditor5-find-and-replace \ @types/ckeditor__ckeditor5-heading \ @types/ckeditor__ckeditor5-horizontal-line \ @types/ckeditor__ckeditor5-html-support \ @types/ckeditor__ckeditor5-indent \ @types/ckeditor__ckeditor5-link \ @types/ckeditor__ckeditor5-list \ @types/ckeditor__ckeditor5-paste-from-office \ @types/ckeditor__ckeditor5-remove-format \ @types/ckeditor__ckeditor5-source-editing \ @types/ckeditor__ckeditor5-special-characters \ @types/ckeditor__ckeditor5-table \ @types/ckeditor__ckeditor5-ui \ @types/ckeditor__ckeditor5-undo \ @types/ckeditor__ckeditor5-utils \ @types/ckeditor__ckeditor5-word-count npm uninstall \ ckeditor-wordcount-plugin \ ckeditor4 Resolves: #96874 Releases: main Change-Id: I09134caacafe6dc084d9efc6f260047d7bf8b118 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75480 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
Oliver Hader authored
Having manually(!) enabled "enhanced spell checking" in browsers, can lead to scenarios where password data is sent to remote services which actually take care of the spell checking. see https://www.otto-js.com/news/article/chrome-and-edge-enhanced-spellcheck-features-expose-pii-even-your-passwords Since this issue is caused by browsers and the determination of "confidentiality" is fuzzy here, this issue is handled in public. Following changes have been applied: + forms dealing mainly with credentials, as well as all forms in ext:install have been adjusted to `<form ... spellcheck="false">` + other password form elements, including TCA type `password` have been adjusted to `<input type="password" ... spellcheck="false">` Resolves: #98492 Releases: main Change-Id: I32cab686040e09fb491a93187a3c1b196e7cf1bf Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75930 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
Benni Mack authored
CKEditor does not use RequireJS anymore since https://review.typo3.org/c/Packages/TYPO3.CMS/+/72733 regardless of any upgrade strategy, this code can be removed Resolves: #98495 Releases: main Change-Id: I92e6ebdfef7cb97ee00a1840080db95d9032495d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75935 Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
Benni Mack authored
When running in composer-mode TYPO3 can benefit from having most PHP code outside of the document root, making TYPO3 behave more like a modern PHP application. In addition, the name "LocalConfiguration" sounds very confusing, and has been in its place for 10 years (TYPO3 v6.0). The file names are changed, as "Local" is very confusing for newcomers, as it is actually a "instance-specific" or "installation-specific" regular configuration / settings file, paving the way to making it easier to understand TYPO3 in general. For this reason, when TYPO3 is running in composer mode with a separate public/ folder, the previous locations * public/typo3conf/LocalConfiguration.php * public/typo3conf/AdditionalConfiguration.php are now located at * config/system/settings.php * config/system/additional.php In non-composer mode the files are now moved to * typo3conf/system/settings.php * typo3conf/system/additional.php Combined with the typo3/cms-composer-installers v5, the actual typo3conf folder does not need to be created anymore in Composer Mode for v12+. Configuration files of TYPO3 projects from previous versions are automatically moved to the proper file location. Resolves: #98319 Releases: main Change-Id: I74b1421c0424ebf12e01a3ecdc9a0dbb9387793e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75858 Tested-by:
Benjamin Franzke <bfr@qbus.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Benni Mack authored
Composer-based installations will now have their extensions within composers' vendor folder instead of typo3/sysext/ and typo3conf/ext/. This way, all non-public files are moved outside the document root (ideally), while public files within extensions are symlinked to public/_assets/. TYPO3 will then resolve "EXT:" syntax depending on public / private folders to their respective locations. Used commands: - composer req "typo3/cms-composer-installers:^5.0" - composer req "typo3/cms-composer-installers:^5.0" --no-update -d typo3/sysext/core Resolves: #98484 Releases: main Change-Id: Ia790e9e306ec142a0c581b801936d6b2c36e5c46 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75917 Tested-by:
Benjamin Franzke <bfr@qbus.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Markus Klein authored
Due to the improved strictness of the API the query methods logicalAnd and logicalOr required at least two parameters. This is very inconvenient for developers and force the same boilerplate code to be present in almost all extensions using array decomposition like: ->logicalAnd(...$constraints) Prevent this situation by adding dummy-conditions inside the methods to fulfill the interface's contracts. As it is impossible to add straight conditions like "1=1" directly from within the Query object, the solution is to use conditions based on the "uid" field. Resolves: #98415 Related: #96044 Releases: main Change-Id: I824ef076b3e0dfbeb6701965f71d3c7df9c70cd8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75836 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Chris Müller authored
ViewHelpers f:link.page and f:uri.page in non-Extbase context don't handle "additionalParams" correctly since #98484, leading to a PHP warning. Handle that argument correctly and add some tests. Resolves: #98486 Related: #98474 Releases: main Change-Id: Ife768faaab346893e34dc90dac432db9925a18b4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75926 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benjamin Franzke authored
With the upgrade to codemirror v6 in #96575 it was forgotten to remove the RequireJS configuration that is no longer needed, as codemirror v6 is loaded via ES6 modules and importmap configuration. Releases: main Resolves: #98491 Related: #96575 Change-Id: I6fc849ea1ad8bc4f493447f492140617ea6445af Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75929 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benni Mack authored
The example tasks "sleep" and "test" have been removed. They were introduced in 2009 when EXT:scheduler was added to TYPO3 Core. Kudos to Georg Ringer who brought this up in https://review.typo3.org/c/Packages/TYPO3.CMS/+/74053 Resolves: #98489 Related: #98453 Related: #11555 Releases: main Change-Id: I4d9ea99a2a886252dccf86183e72d1d4fd008cc4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75927 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Chris Müller <typo3@krue.ml> Tested-by:
Benjamin Franzke <bfr@qbus.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Chris Müller <typo3@krue.ml> Reviewed-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Sep 30, 2022
-
-
Christian Kuhn authored
The patch makes table "sys_template" no longer obey workspaces: The workspace related fields are gone and the overlay calls removed. An upgrade wizard sets all existing workspace overlay rows to deleted. There are quite a few reasons to do this: * Workspaces is about content: pages, tt_content and attached inline relations are content. All that is typically editable by editors. But TypoScript templates are system configuration: Templates and the Template module are admin-only, editors can't and shouldn't fiddle here. When content depends on a sys_template change, editors can't publish this in one go. Having sys_template table workspace aware is a conceptual flaw from this point of view since it creates a hard dependency to admin actions when publishing content. * Preparing sys_template changes in a workspace is not a good development workflow: More and more TypoScript is delivered by file includes under VCS to be easily manageable and deployable. Spreading TypoScript using sys_template records in the page tree is becoming old fashioned and contracts this good practice. * Workspace aware sys_template record usages are an seldom edge case: Most situations can be handled by preparing TypoScript in live already. Typical use cases are additional CSS files, which can be prepared in live by admins already using different selectors or TypoScript conditions and similar. * The workspace implementation of sys_template records was at least partially broken: Neither the Backend Template module nor the frontend worked with it flawlessly, especially when multiple sys_template records on one page were handled. * Removing workspace awareness for sys_template records reduces complexity and gives us a do-able path to improve performance on a query level in further v12 core development, especially in Frontend full-cached page scenarios and for instances not using workspaces at all. Change-Id: Id5fdd5c8f9c91ae134bea7506f0b31bf47b28fee Resolves: #98480 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75918 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Andreas Fernandez authored
With #98455, the package devbridge-autocomplete was removed, but a patch file was forgotten, leading to a warning during installation of npm packages. This patch removes the left over patch file. Resolves: #98482 Related: #98455 Releases: main Change-Id: I3c18424e667e9f441572ffe543c8854d55570972 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75923 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Benni Mack authored
This change updates rollup and installs some further devDependencies we need for optimizations in CKEditor5. Used command: cd Build/ npm install --save-dev \ rollup@^2.79.1 \ @rollup/plugin-node-resolve \ rollup-plugin-postcss \ rollup-plugin-svg \ rollup-plugin-terser grunt build Resolves: #98478 Releases: main Change-Id: Id682568fdd7d8ed8fdeefb056bb4d2c8dcb023f9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75920 Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org>
-
Georg Ringer authored
Create database fields for TCA type `slug` columns automatically if they have not already been defined. Resolves: #97173 Releases: main Change-Id: Ib3cb0914e3b174fa00cacca9d4f238c90f2c16dd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75865 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Torben Hansen authored
When the forgot password function is used, TYPO3 looks up the affected frontend user record by either the email address or the username. If a user record is found, the email address of that record is used to set the password forgot hash. This may lead to the situation, that the password forgot hash is set to multiple frontend user records containing the same email address (e.g. in different storage PIDs). With this change, the calculated password forgot hash is now saved based on the frontend users uid. Additionally, the sendRecoveryEmail function in RecoveryService has been streamlined and simplified. The superfluous and wrong lookup of the frontend user by the email address in RecoveryService has been removed and the function signature of sendRecoveryEmail has been changed to support an array of given userdata and a pre-calculated password forgot hash. Resolves: #95132 Related: #97784 Releases: main Change-Id: I32c3256ef88649e5bc0b4fa660eb780cc01e6389 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75274 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Sep 29, 2022
-
-
Christian Kuhn authored
The StandaloneView has a very unfortunate flaw in __construct(): It creates an Extbase Request by default without asking and adds it to RenderingContext. The patch removes this default initialization. StandaloneView is typically *not* used within Extbase context: Extbase by default uses TemplateView. As such, creating an Extbase Request in StandaloneView by default is bad, since it switches context to Extbase when it shouldn't. This can make ViewHelpers behave differently and in general adds trouble and cross dependencies. As a side effect, some ViewHelpers will now actively refuse to work in non-extabse context and throw exceptions. Most notably, f:form and f:form.* throw exceptions when used in a FLUIDTEMPLATE content object. We *might* be able to relax this during further v12 development, though. It is possible we later add a factory to the Fluid views in general that takes care of setting a request to the view. This however needs some streamlining in Fluid standalone library first and requires some further decisions. Change-Id: I1cf7b8a7baf5280d67f887c55b7b6493942c136a Resolves: #98377 Related: #96473 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75779 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
Field 'pid' in TCA tables should not allow negative integer values anymore since "pid -1" values have been removed from workspaces in v10. The patch changes the field to an unsigned int. Change-Id: I876ffe78cef160979fae42a77a59972f26414ddf Resolves: #98475 Related: #89555 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75915 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Daniel Siepmann authored
Resolves: #98421 Releases: main, 11.5 Change-Id: I069ae69d4d396883393f76b1c9cf1b1cacaa0f9d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75852 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Markus Klein authored
Avoid PHP warning if pageRow is empty, i.e. no 'editlock' can be checked. Releases: main, 11.5 Resolves: #98459 Change-Id: I49d5d98484612921c02746bcf75c9dfc2bef526c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75884 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Andreas Fernandez authored
This patch migrates the auto-suggest feature used in FormEngine to a custom implementation incorporating web components. A user may navigate through the result list with the keyboard's arrow keys and select an item with the "Enter" key. In the same run, the JavaScript library `devbridge-autocomplete` is removed as it is not used anymore within TYPO3, along with its associated CSS definitions. As the web component approach allows us more flexibility and to maintain a consistent look & feel of the backend, some properties were removed from the suggest wizard's items. Resolves: #98455 Releases: main Change-Id: I7abc40bfe9161a7a246ac451bd046034dcc8d9bd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75881 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Frank Nägler <frank.naegler@typo3.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Frank Nägler <frank.naegler@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Chris Müller authored
Resolves: #98465 Related: #98426 Releases: main Change-Id: I3d963f20b2b6212a36a6912f439aa19e1fc71383 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75888 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Chris Müller authored
Resolves: #98466 Releases: main Change-Id: Idccac90e9915e078b0097f2c7af5ec708b5a0e1c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75889 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benni Mack authored
This change uses the core UriBuilder and LinkFactory (FE) for creating links in f:link.page and f:uri.page to avoid booting up Extbase when using f:link.page in non-Extbase Fluid context. Resolves: #98474 Releases: main Change-Id: Iec0e09af01dae0bb11bf62cee5f03be50e25352d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75808 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Andreas Fernandez authored
The UX team discusses internally whether the existing shortcut to open the live search (Shift+Shift) introduced in #98348 is counter-intuitive for regular editors or not. Common sense seems to be Ctrl/Cmd+K to open the search in several applications and websites (Discord, Slack, and even in Chrome), so the keyboard shortcut should be changed. If any modal is already open, the new keystroke is not caught and any default browser behavior is kept. Resolves: #98467 Related: #98348 Releases: main Change-Id: I6e4a08030f88ebee1cc0e6f944786e1defb30ea4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75890 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Froemken <froemken@gmail.com> Tested-by:
Frank Nägler <frank.naegler@typo3.com> Tested-by:
Annett Jähnichen <mcmietz@web.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Stefan Froemken <froemken@gmail.com> Reviewed-by:
Frank Nägler <frank.naegler@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Oliver Hader authored
Added tests for malformed JWT-like literals. Resolves: #98473 Related: #97305 Releases: main Change-Id: Ida62075c4bf9480d208ee1ca77b010c0559b025f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75913 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Andreas Fernandez authored
The preview mode selector doesn't change its width anymore based on the largest element available as the behavior may become glitchy and hard to replicate once jQuery is gone. As a drive-by fix, the iframes have a white background in case the pages have no dedicated CSS to avoid overlapping the content of the iframes in the "Slider" preview mode. Resolves: #98420 Releases: main Change-Id: I344ee7c99888261b19b97ad98cc31c519d1e1d4b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75850 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Frank Nägler <frank.naegler@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Frank Nägler <frank.naegler@typo3.com> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Oliver Hader authored
A CSRF-like request-token handling has been introduced, to mitigate potential cross-site requests on actions with side-effects. This approach does not require an existing server-side user session, but uses a nonce (number used once) as a "pre-session". The main scope is to ensure a user actually has visited a page, before submitting data to the web server. Introduces package https://packagist.org/packages/firebase/php-jwt > composer req firebase/php-jwt Besides that, AbstractUserAuthentication has been changed to require this introduced request-token, to mitigate Login CSRF attacks. The security enhancement potentially break custom login templates and application handlers - this is why it is introduced and enforced for TYPO3 v12.0. Resolves: #97305 Releases: main Change-Id: I74d9e1890017aae4a00999f549ea04716d68f721 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74183 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org>
-
Christian Kuhn authored
Property $type is set by a required constructor argument and needs no default. Resolves: #98472 Releases: main Change-Id: I6b366496acce5f7370cf8c31d841ab2cb4d562dd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75912 Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Christian Kuhn authored
FormProtectionFactory has a static instance cache that potentially leaks state in between tests. The patch adds a couple of purgeInstances() calls to avoid this. Resolves: #98470 Releases: main, 11.5 Change-Id: Ic3e0aa5b6cbd7b7368aab34b74890d3f7ee04c1b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75891 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- Sep 28, 2022
-
-
Benjamin Kott authored
During the removal of font-awesome, the global CSS was included in the form-specific CSS. We are now removing it again since it is not necessary since the form-specific CSS is included in addition to the global backend CSS. Related: #97877 Resolves: #98461 Releases: main Change-Id: I502a627f2d2b612cd8c4a8b29c652ff952a94165 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75886 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benjamin Kott authored
The inclusion of the global CSS variables into the SCSS variables were flawed from the very beginning. The include resulted in multiple unwanted occurrences of these variables produced by the current architecture of the SCSS files used in the backend. It has been a known issue and accepted issue from the start, since we did not have a plan yet to handle them. The CSS variables are moved to a dedicated root file that is part of the minimal setup. The minimal setup is meant to be standalone and only included once per page. Resolves: #98460 Releases: main Change-Id: I47a1cca6fb74f039e9e8df9ef6b5076f22922dc4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75885 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benjamin Kott authored
Parent modules are now indicating correctly that a submodule has been selected and active. Resolves: #98458 Releases: main Change-Id: Idf438b4fdddde48d6e4b628f18dc9c10ac9880ec Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75883 Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Andreas Fernandez authored
jQuery and jQuery UI is now removed from EXT:viewpage. jQuery UI was used to make the preview frame resizable, which is now handled by interact.js, which may be used for further replacements. Executed command: npm install --save interactjs Resolves: #98430 Releases: main Change-Id: I90671e190ae83c6cd2db9d033c00dac47da7c684 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75862 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Christian Kuhn authored
Extension 'recordlist' is a must-have extension that is part of 'minimal usable system' and always loaded: Especially 'backend' has various cross dependencies to 'recordlist', backend "search" using the list module for detail display is one of the most obvious ones. In general it's bad if the main 'backend' extension has such direct dependency towards another more specific extension: The core development slowly strives to have the tuple 'core-backend-frontend' as main set of crucial extenions, with eventually making 'backend' and 'frontend' optional in some happy future. To solve the unfortunate dependency from 'backend' to 'recordlist', 'recordlist' is now merged into 'backend', reducing the set of extensions required for a 'minimal usable system' by one. > composer update --lock Change-Id: Ie73ccb992b9ad29626478ff9acd6dc9a15b8aa9a Resolves: #98443 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75876 Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Nikita Hovratov authored
In order to further simplify FlexForm definitions, the superfluous array key "TCEforms" is now removed and not evaluated anymore. Its sole purpose was to wrap real TCA definitions. The automatic removal of this key was already done in FormEngine context. This is now always done, when parsing FlexForm definitions with FlexFormTools (parseDataStructureByIdentifier). Resolves: #97126 Releases: main Change-Id: Ib27fd7025e0c21cbd4879454f8dc9dd548256b7c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73835 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Georg Ringer authored
The label in the extension manager must be adopted as t3x is not allowed anymore since #92590. Furthermore, the upload allows only the selection of zip files to make it easier for users. Resolves: #98438 Related: #92590 Releases: main, 11.5 Change-Id: I7e2a616741f3c0355f09fb83cf85763f004bb55a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75870 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Chris Müller authored
Resolves: #98368 Releases: main Change-Id: Ibdda66047e4b6eb55bca4cdbf217d045033e54b5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75750 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-