- Oct 04, 2022
-
-
Oliver Hader authored
Change-Id: I1feb236aeae9b3b7da1c50d5f65daf4fca4727bc Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75974 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Oliver Hader authored
Change-Id: I90d3ef8740698afac0327dff0591e4597b51e3e6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75973 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Benjamin Kott authored
Adjust the whitespace of the bookmark edit form in the backend toolbar, to look more aligned to the other dropdowns. Resolves: #98514 Releases: main Change-Id: If25101e0ceb3568d086c38f5b4f193be90b58620 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75972 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
- Oct 03, 2022
-
-
Benni Mack authored
A followup to #97452 where a hook was removed but TYPO3 Core still used it - the hook implementation is now removed. Resolves: #98494 Related: #97452 Releases: main Change-Id: I90265620d3488520ba37f9ecd5cf33be61e56102 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75933 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Kevin Appelt <kevin.appelt@icloud.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Hader authored
Several performance analysis showed that `AbstractUserAuthentication` takes a reasonable amount of processing time, even if a session ID are not given or invalid. In order to reduce database invocations for invalid sessions, user session cookies are sent as hash-signed JWT - which allows to check their validity without invoking storages. Required typo3/testing-framework preparation has been merged with https://github.com/TYPO3/testing-framework/pull/365 and updated. Custom implementations, handling cookies on their own, have to use the introduced method \TYPO3\CMS\Core\Session\UserSession::getJwt() instead of existing \TYPO3\CMS\Core\Session\UserSession::getIdentifier(). Resolves: #94243 Releases: main Change-Id: Icfdc17bf6d6d715a0cfab76517aaef96fd985f1f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69337 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
linawolf authored
- Add cross references for changelog files - Remove additional empty lines - Rename core -> Core - Rename composer -> Composer - Fix grammar: extensions' -> extension's - Indent lists with 4 spaces (including the asterisk character) - Indent code-blocks with 4 spaces (including the two dots) - Simplify code examples - Fix some typos and simplify sentences along the way Releases: main Resolves: #98498 Change-Id: I70f0b68ba9bcf69f6ac70d8aef95f70a0cb10923 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75938 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Chris Müller <typo3@krue.ml> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Chris Müller <typo3@krue.ml> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Benjamin Franzke authored
The RequireJS project has been discontinued [1] and was therefore replaced by native ECMAScript v6/v11 modules in TYPO3 with #96510. The infrastructure for configuration and loading of RequireJS modules is now deprecated and will be removed in TYPO3 v13. [1] https://github.com/requirejs/requirejs/issues/1816 Releases: main Resolves: #97057 Resolves: #97067 Related: #96510 Change-Id: I75a45cdb9a107f01ec2bb72bb9a73b1b0f158031 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75781 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Christian Kuhn authored
This switches from TemplateService to new TypoScript parser logic in TypoScriptFrontendController. The central methods getFromcache() and getConfigArray() were called in PrepareTypoScriptFrontendRendering after each other: getConfigArray() is now merged into getFromcache() directly. One main goal is to get rid of the 'pagesection' cache and leverage the new cache strategy of the new TypoScript parser: This cache strategy is more effective and allows caching TypoScript between different pages. We essentially get rid of the pagesection query load, but instead need the list of relevant sys_template rows early, which is done with a single query. This code is moved out of IncludeTree/TreeBuilder to new class IncludeTree/SysTemplateRepository, since the result is now needed to build page cache identifiers and thus must be exposed. An event is added as well, for extensions like ext:bolt to manipulate sys_template rows resolving. The old runThroughTemplatesPostProcessing hook is marked @internal now and will vanish during further v12 development when testing-framework has been changed to deal with it. The central getFromcache() is much better documented and should be far easier to understand now. Some parts of the code are currently a bit naive and there is quite a bit potential to further optimize parsetime especially in "full cached" scenarios. We also have the potential to make USER_INT parsing significantly quicker. Dedicated patches will follow with continued v12 development. The patch also sets a couple of properties to @internal, and marks the old TypoScriptParser and TemplateService @deprecated, even though it is currently still used for instance for TSconfig parsing, which will switch to the new parser soon as well. Resolves: #98503 Related: #97816 Releases: main Change-Id: I904e9add4a425479df4a6768a1d63a54d7b252d8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75944 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Georg Ringer authored
Checking for a not existing value of a flexform sheet must not lead to a notice. Resolves: #98483 Releases: main, 11.5 Change-Id: I8ea7f6e8ecafcd14cc572e4c7207dc5e67300a18 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75942 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Kevin Appelt <kevin.appelt@icloud.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Nikita Hovratov authored
Internal calls to this method have already been adjusted by previous patches. Another one has been found in acceptance tests, which is now fixed as well. Resolves: #98511 Related: #95913 Related: #97887 Releases: main Change-Id: Icf68ed4a05d761e0dcfff33dcb7670c80a934b37 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75950 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Hader authored
Resolves: #98507 Related: #98488 Releases: main Change-Id: Id947f9b9ca75fa97b4f3fd2d270e0d92ac6a88e3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75947 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Kevin Appelt <kevin.appelt@icloud.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Oliver Hader authored
Resolves: #98508 Related: #97305 Releases: main Change-Id: Id0f77fe51946cffeedf3699bf800169f0972657c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75948 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Stefan Bürk authored
Symfony released new versions, which includes a bugfix in "symfony/mailer", which allows us to reactivate a unit test for PHP8.1 (#98216), see also issue: https://github.com/symfony/symfony/issues/47402 Resolves: #98493 Related: #98216 Releases: main, 11.5 Change-Id: Ie71aa65f150fca9a9587fbcd10edba6f9d130367 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75931 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Nikita Hovratov authored
Resolves: #98510 Related: #98035 Releases: main Change-Id: Ic6bd5074838647b9b18c74d5880a4e49f8be41dd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75949 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Oliver Hader authored
Disables spell checking in additional form elements: * Setup Module `<form>` element * ext:felogin `<form onsubmit>` element See issue #98492 for details. Resolves: #98504 Related: #98492 Releases: main Change-Id: Ib3c7b39d05f1c2baed173ab506666e3661cbb519 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75945 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Kevin Appelt <kevin.appelt@icloud.com> Tested-by:
Torben Hansen <derhansen@gmail.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
- Oct 02, 2022
-
-
Stefan Bürk authored
This change tackle a left over @todo regarding method changes related to strict typing of interface changes for TYPO3 v12.0. Sanitization for null arguments is removed along the way. A unit test prophecy dealing with defaults needs to be adjusted along the way. Resolves: #98500 Related: #95794 Releases: main Change-Id: Icb15ec42fbbc04840fa9d6459b1382348d57be96 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75939 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Benni Mack authored
With Typolink (and the typolink ViewHelpers), a new option is now available to allow to add ALL current queryParameters to the created URL when creating frontend links. 10 = TEXT 10.typolink.parameter = 12 10.typolink.addQueryString = untrusted addQueryString now allows to be set to "0" (do not do anything), or "1"/"true" or "untrusted" (new) which then makes it possible to add only "safe" query parameters which have been matched during the routing process. The breaking change here is that "addQueryString = 1" does - by default - only include the mapped query arguments from the Page Routing, avoiding unneeded GET parameters to be added by default. The affected method has been moved from ContentObjectRenderer to PageLinkBuilder now. Resolves: #98488 Releases: main Change-Id: I243cea29abc0903b59721cd31e9c380a0558bc9b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75864 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Georg Ringer authored
By supporting the `approved` attribute, integrators can decide whether translations not marked as approved should be used. This attribute is particularly useful when working with third-party software and translation agencies. Allowing unapproved translations may increase the number of translations, possibly at the expense of their quality. Resolves: #97729 Releases: main Change-Id: Iafe53565f618722050a9efbd0132473b866ddd13 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74811 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Torben Hansen authored
TYPO3 now includes a PasswordPolicyValidator component which can be used to validate passwords against configurable password policies. TYPO3 also includes a default password policy which ensures that passwords meet strong security defaults. Password policies can be configured individually for both frontend and backend context. It is also possible to extend a password policy with own validation requirements. As a first step, the included default password policy is applied to ext:setup to ensure, that new passwords of backend users entered in "User Settings" will match the default password requirements. This patch is the first of a series of patches to implement password policies globally in TYPO3. See issue #97387 for details. Resolves: #97388 Releases: main Change-Id: I6cb6ca77e7c19b719fe36c0c51967e31bc41082e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74350 Tested-by:
Kevin Appelt <kevin.appelt@icloud.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Andreas Fernandez authored
Since #98377, the request passed to Fluid's rendering context is no `ExtbaseRequestInterface` anymore by default, which has an impact on the `f:translate` view helper. The view helper checks whether the request is a ExtbaseRequestInterface and falls back to Extbase's internal language setup. This patch extends the view helper's `getLanguageService()` method to check whether the `LanguageService` is already built. If not, a `LanguageService` is built depending on the application context. Resolves: #98501 Related: #98377 Releases: main Change-Id: I07a831c2cb81decff207717ce2db1104581be21c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75941 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>
-
Benjamin Franzke authored
The array key `javaScriptModules` accepts a list of JavaScriptModuleInstructions the same way as `requireJsModules` did. In contrast to `requireJsModules` it has a generic name in order to reflect that the array is module-loader independent. (both, newer ES6 modules and legacy RequireJS modules are supported via JavaScriptModuleInstruction). Releases: main Resolves: #98431 Resolves: #97066 Related: #96323 Change-Id: Ie9d1c383da351e3b677b349728defc7472ead43a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75855 Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Benni Mack authored
This change introduces a new registry class to be used automatically instead of accessing $GLOBALS['PAGES_TYPES'] which is not evaluated anymore. Also, instead of ExtensionManagementUtility::allowTableOnStandardPages() the flag $TCA[$table][ctrl][security][ignorePageTypeRestriction] is introduced which allows to avoid this call. Resolves: #98487 Releases: main Change-Id: I91bdb321500d133e645ccc5b6c0d159f5dd3ad87 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75188 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Kevin Appelt <kevin.appelt@icloud.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
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>
-