- 13 Nov, 2020 1 commit
-
-
SqlServer can not handle a transaction for a table, if the same table is queried currently. The install tool database row updater does this. Solution is to skip the transaction on this platform. Additionally, an update query is fixed to hint for proper field types. Resolves: #92832 Releases: master, 10.4 Change-Id: I5fc76705088a727dc1ff41410d6e2cd02b3d9655 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66622 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 12 Nov, 2020 1 commit
-
-
Benni Mack authored
Creating a new record in a workspace adds two database rows. One that is the "placeholder", which - since v10.4 - contains the same metadata as the other record: * t3ver_wsid = workspaceID * t3ver_oid = 0 (simulating behavior of an "online pendant record") * t3ver_state = 1 And the "versionized" record, identified by: * t3ver_wsid = workspaceID * t3ver_oid = uid of the new placeholder record * t3ver_state = -1 As of TYPO3 v10, the first record is not needed anymore, the versioned record can be queried directly, however, since the relations (except MM) point to the placeholder record, this one is kept. As result, only one record is created from now on: * t3ver_wsid = workspaceID * t3ver_oid = 0 (no online counterpart) * t3ver_state = 1 On reading, the record is queried directly (no overlay needed anymore!) with the existing Database Doctrine Restrictions. On publishing, the record just gets the state/stage/wsid set and is "live". This brings fundamental benefits: * No overlays needed when querying * Fewer database records (placeholders are not helpful) * Conceptual problems with placeholder and shadowed fields are removed Resolves: #92791 Releases: master Change-Id: I0288cc63fe72d8442d586f309bd4054ac44e829b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65587 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 12 Oct, 2020 1 commit
-
-
Workspaces ("Element-based versioning") previously had - due to the "pid=-1" logic until TYPO3 v10 - a so-called "MOVE PLACEHOLDER". This was indicated by t3ver_state = 3, all relevant fields: * t3ver_state = 3 (move placeholder) * t3ver_oid = 0 no connected live record, it allowed fetching these records with one query together with live records as db restrictions t3ver_oid > 0 * t3ver_wsid = workspace UID * t3ver_move_id = UID of the live record * pid = new PID the version was moved to * sorting - when a record was moved within page with activated sorting Other record fields were not important. However, when moving a record, the value from TCA ctrl section "shadowColumnsForMovePlaceholders" was used to fill in gaps from the live record. The ACTUAL versioned record was indicated by t3ver_state = 4, the so-called "MOVE POINTER". In previous version until TYPO3 v10, it's PID field was set to -1, but since TYPO3 v10, it has the same PID as the "MOVE PLACEHOLDER". Characteristics of the move pointer as of TYPO3 v10: * t3ver_state = 4 (move pointer) * t3ver_oid = UID of the live record * t3ver_wsid = workspace UID * t3ver_move_id = 0 * pid = PID the version was moved to * sorting - same value as the live record (not evaluated until now) * All other fields with optionally modified content Both move placeholder and move pointer did not know each other directly. Fetching the move pointer for a move placeheldor (or the other way around) involved the live record, leading to many queries. The patch obsoletes the move placeholder records, moving necessary information to the move pointer: It now contains the updated sorting and is considered in the Database Restrictions to be fetched. In general, when publishing, the moved record now behaves identical to the other versioned types. This makes the internal code much easier, creates less DB queries on read + write and leads to less DB records in the database. The change removes creation of move placeholders, and considers the move pointers when evaluating sorting and PID in DataHandler. Read functionality from BackendUtility and PageRepository don't need an additional step to fetch the live version of a move placeholder anymore. An upgrade wizard takes existing move placeholders (state=3), updates pid+sorting (PID generally not needed, just to be sure) of the move pointer (state=4) and then deletes the move placeholder. TCA definition $TCA[my-table][ctrl][shadowColumnsForMovePlaceholders] is not needed anymore and removed by an auto TCA migration. Finally, workspace enabled tables do not need the t3ver_move_id field anymore: The live record UID is already in t3ver_oid field for state=4 records, just like with all other versioned records. The field will be fully removed with a separate patch in order to keep the actual CSV tests readable for this patch. Resolves: #92497 Releases: master Change-Id: I206336aec8be8a324fefdfd69f648f5a298c6ad1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65797 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 07 Sep, 2020 1 commit
-
-
This patch fixes incompatible type usage in function arguments and is preparatory work for introducing native type hints and strict mode in all core files. Releases: master, 10.4 Resolves: #92108 Change-Id: I9aa59588a183ee3cb43091fadd6eab2491a7cbdb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65463 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 31 Jul, 2020 1 commit
-
-
The TCA ctrl transOrigDiffSourceField database field, often called 'l18n_diffsource', stores information if a default or source language record of a translated record has been changed. This is used to hint editors with "The record you translated from has been changed, maybe an update of the translation is needed" in FormEngine. The storage format of that field is a serialized PHP string. This is no active, but a potential, general security risk. To mitigate this, the storage format is changed to a json string with the patch, including an install tool database updater taking care of existing rows. Resolves: #91906 Releases: master Change-Id: Ib7e2a6128730eebd941ec8a565e72fd7a05d225d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65068 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- 22 May, 2020 1 commit
-
-
The point of repeatable update wizards is that they are not marked executed and thus always checked for possible updates. They therefore must not be marked executed during installation. Resolves: #91211 Releases: master, 9.5 Change-Id: Ic4e98b95711433705f77899d664cc7cf2c7a42ba Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64326 Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Josef Glatz <josefglatz@gmail.com> Reviewed-by:
Susanne Moog <look@susi.dev> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
TYPO3com <noreply@typo3.com>
-
- 28 Apr, 2020 1 commit
-
-
\TYPO3\CMS\Install\Updates\DatabaseRowsUpdateWizard currently can only update rows. \TYPO3\CMS\Install\Updates\RowUpdater\WorkspaceVersionRecordsMigration however needs to delete rows and marks them as deleted. We now check for this value for tables without soft delete and delete the row straight away Resolves: #91213 Releases: master Change-Id: I21163c7db435c316231c8e25daa8c190b1507621 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64328 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Susanne Moog <look@susi.dev>
-
- 15 Apr, 2020 1 commit
-
-
With this patch, the header comment of php files is automatically added by the php-cs-fixer, which guarantees that its format and place of occurrence remain the same in all files. Files that are copied over from other projects are excluded. Furthermore, files that are kind of inspired by other projects also get the same header comment but may have a second, additional comment explaining its origin. Used command: bin/php-cs-fixer fix --config=Build/php-cs-fixer/header-comment.php Releases: master Resolves: #91024 Change-Id: I5a040517e0fbde6e5a27d589bf2f222078326dc8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64159 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 14 Apr, 2020 2 commits
-
-
This change adds two changes 'blank_line_after_opening_tag' => true, 'single_trait_insert_per_statement' => true, to our PHP-CS Fixer configuration, adopting more rules related to PSR-12. Resolves: #91020 Releases: master Change-Id: I180b2cbceb077911bddeb42d9f131e5b32244ed2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64158 Tested-by:
Josef Glatz <josefglatz@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
TYPO3com <noreply@typo3.com> Reviewed-by:
Josef Glatz <josefglatz@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Benni Mack authored
DataHandler does not set "-1" for versioned records in workspaces anymore, thus making it a lot easier to find the real PID for a versioned record without always having to fetch the live version for it. This is ground-breaking, as this opens the door for a lot of improvements when accessing versions via overlays. An upgrade wizard will migrate all pid=-1 records to their equivalent pids, and discard all already published / archived versions. Resolves: #89555 Releases: master Change-Id: I31c32451827c1f94764bb0ba22ad8207c8b3d4fd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61699 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Manuel Selbach <manuel_selbach@yahoo.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Manuel Selbach <manuel_selbach@yahoo.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 13 Apr, 2020 1 commit
-
-
As a preparation to be compatible with PSR-12, all spaces in strict type declerations are removed. Releases: master Resolves: #91009 Change-Id: I2b7c2fda42b44168b5c4c6b21711eede2eadaf2e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62104 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- 15 Jan, 2019 1 commit
-
-
Upgrade wizards created to upgrade from v7 to v8 are removed now. Note the DatabaseRowUpdater mini-framework wizard does not register single row updaters at the moment, is disabled but the class is kept. Resolves: #87440 Releases: master Change-Id: If84dd1f0ce710f535e39516b984b94a9df2bccb2 Reviewed-on: https://review.typo3.org/59440 Tested-by:
TYPO3com <noreply@typo3.com> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
- 01 Oct, 2018 1 commit
-
-
All specific controllers for specific Backend actions, Backend-module related modules, all hook implementations (where the core uses hooks by itself), and module-specific ViewHelpers are now marked as @internal to ensure developers what is part of the public TYPO3 Core API. within - EXT:core - EXT:extensionmanager - EXT:install All @api annotations have been removed. Resolves: #86517 Releases: master Change-Id: I7869d8e3b6e8a4365529cc7c98b99cde7ca1495f Reviewed-on: https://review.typo3.org/58532 Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl>
-
- 19 Sep, 2018 1 commit
-
-
Christian Kuhn authored
Resolves: #86201 Related: #86172 Releases: master Change-Id: I9d38ca04ee8a71ff6ffa325a2f0ce2c8c6cde183 Reviewed-on: https://review.typo3.org/58293 Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Susanne Moog <susanne.moog@typo3.org> Tested-by:
TYPO3com <no-reply@typo3.com> Tested-by:
Susanne Moog <susanne.moog@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 15 Sep, 2018 1 commit
-
-
Resolves: #86200 Related: #86172 Releases: master Change-Id: I9f6412ed7a6adb8b00f62cbca7476a49bed6985d Reviewed-on: https://review.typo3.org/58278 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Susanne Moog <susanne.moog@typo3.org> Tested-by:
Susanne Moog <susanne.moog@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- 05 Mar, 2018 1 commit
-
-
Georg Ringer authored
Replace the <br>-Tags with a LF char and render the linebreak using CSS. Resolves: #83875 Releases: master Change-Id: I4429d2929104f922d5f9c0e5c048617848e805e5 Reviewed-on: https://review.typo3.org/55987 Reviewed-by:
Frank Naegler <frank.naegler@typo3.org> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Guido Schmechel <littlegee@web.de> Tested-by:
Guido Schmechel <littlegee@web.de> Reviewed-by:
Michael Oehlhof <typo3@oehlhof.de> Reviewed-by:
Joerg Boesche <typo3@joergboesche.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com>
-
- 13 Jan, 2018 2 commits
-
-
Christian Kuhn authored
Apply a series of CGL whitespace fixes, mostly: * No whitespace after type cast * One space around '=' Change-Id: I6279e083a4bd867bfb70c9567c35b6bab1412043 Resolves: #83557 Releases: master Reviewed-on: https://review.typo3.org/55352 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
This cosmetical CGL change just substitutes all declare(strict_types=1); with declare(strict_types = 1); to be in line with the general 'spaces around =' rule. While that is cosmetical, it makes scrutinizer-ci a bit more happy and prevents it from creating auto-patches for these cases. Change-Id: Ic754b3fd2a0f06624909e6188ed270bd2797745c Resolves: #83554 Releases: master Reviewed-on: https://review.typo3.org/55349 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl>
-
- 23 Aug, 2017 1 commit
-
-
Add 2 new rules * no_superfluous_elseif * no_useless_else Both rules only apply if the if-statement contains a return. If this is the case the obsolete else/elseif part is dropped. Resolves: #82183 Releases: master,8.7 Change-Id: I94dfa6b5b96cbc3e350bd778f1796dda1a4d955a Reviewed-on: https://review.typo3.org/53791 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
- 28 Apr, 2017 2 commits
-
-
Xavier Perseguers authored
Change-Id: I991a9cbae2685abbcc606ce39d9f8395574491d1 Resolves: #81067 Releases: master, 8.7 Reviewed-on: https://review.typo3.org/52654 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Daniel Goerz <ervaude@gmail.com> Tested-by:
Daniel Goerz <ervaude@gmail.com> Reviewed-by:
Xavier Perseguers <xavier@typo3.org> Tested-by:
Xavier Perseguers <xavier@typo3.org>
-
Xavier Perseguers authored
This fix will let upgrade wizard "Execute database migrations on single rows" restore last reached position whenever the wizard is run again. Change-Id: Iccaa14f82db4501447e7c553498a36074898b85b Resolves: #81066 Releases: master, 8.7 Reviewed-on: https://review.typo3.org/52651 Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Daniel Goerz <ervaude@gmail.com> Tested-by:
Daniel Goerz <ervaude@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Xavier Perseguers <xavier@typo3.org> Tested-by:
Xavier Perseguers <xavier@typo3.org>
-
- 03 Apr, 2017 1 commit
-
-
Christian Kuhn authored
Since the RteHtmlParser now stores updated content as <a> tags instead of <link> tags an update wizard is provided to convert links in all records that have input fields, textarea fields or flexforms. Resolves: #79305 Releases: master Change-Id: I3f52445d7fd82a999f3cff236b37649c77449d5c Reviewed-on: https://review.typo3.org/51276 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Jigal van Hemert <jigal.van.hemert@typo3.org> Tested-by:
Jigal van Hemert <jigal.van.hemert@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 14 Feb, 2017 1 commit
-
-
L10nModeUpdater has to be adjusted to reflect all possibilities that became available with introducing allowLanguageSynchronization and the implicit synchronization for the exclude mode. Instead of cloning the logic again inside the upgrade wizard, the DataHandler and DataMapResolver is used to determine required changes as well as performing especially relation resolving and handling. Resolves: #79768 Releases: master Change-Id: Id61c419fe9f6aa6fdbbe6f3d6335b0e9c1bf0693 Reviewed-on: https://review.typo3.org/51646 Reviewed-by:
Andreas Fernandez <typo3@scripting-base.de> Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 10 Feb, 2017 1 commit
-
-
The data type of customMessage has been changed to string a while ago but the method signatures still have a mixed-type. Normalize this over all updates to make things consistent again. Resolves: #79739 Releases: master Change-Id: I840cc6d217dafb1a83f0af5b7a978fdc60318d5d Reviewed-on: https://review.typo3.org/51624 Reviewed-by:
Sascha Egerer <sascha@sascha-egerer.de> Tested-by:
Sascha Egerer <sascha@sascha-egerer.de> Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Josef Glatz <josef.glatz@typo3.org> Tested-by:
Josef Glatz <josef.glatz@typo3.org> Reviewed-by:
Andreas Fernandez <typo3@scripting-base.de> Tested-by:
Andreas Fernandez <typo3@scripting-base.de>
-
- 07 Feb, 2017 2 commits
-
-
This feature extends the image cropping tool in the backend so that editors can now not only select one crop area, but multiple ones per image. Within the crop are now also a focus are can be selected and to preview areas that will be covered once the image is rendered in the frontend one or more cover areas can be configured to be shown inside the crop area. This change also adds a format.json view helper and a view helper to generate backend URIs that are used in the now fully Fluid rendered imageManipulation element. This is the TYPO3 integration part. TypeScript and CSS will be done in a second commit. Resolves: #75880 Releases: master Change-Id: I646f0f0a149d05d1f3d8283bcc92ab09aede768e Reviewed-on: https://review.typo3.org/51515 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Frans Saris <franssaris@gmail.com> Tested-by:
Frans Saris <franssaris@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Fernandez <typo3@scripting-base.de> Tested-by:
Andreas Fernandez <typo3@scripting-base.de>
-
This feature introduces a new functionality called "allowLanguageSynchronization" which can be set on a field configuration of a TCA column. This is the successor of "l10n_mode=mergeIfNotBlank" as the old option had several conceptual downsides: 1) "mergeIfNotBlank" took the value of the default record during runtime, but only if the translation field was empty. This means it was not possible to see what the record actually contained without having all fields of the parent at hand. 2) It was not possible to have a value "santa" in the original record but remove the option in a translation (because an empty string "" implicitly triggered the runtime call in the frontend) 3) "mergeIfNotBlank" did not work on relations except for files fetched via the FileRepository API calls, but for no other inline elements. 4) "mergeIfNotBlank" did the overlay functionality in the frontend, but only FormEngine and DataHandler took care of the option. Custom backend modules had to implement the same functionality. 5) In FormEngine, there was an icon in the translation record that if the record kept empty the value of the original language was taken, but this is not optimal in terms of usability. 6) "mergeIfNotBlank" did not take the new l10n_source option into account, where localizations could be made from other records than the default language "0". The new feature can be set on any TCA column setting: $GLOBALS['TCA'][<table-name>]['columns'] [<field-name>]['config']['behaviour'] ['allowLanguageSynchronization'] = true; This brings an option to records with translations (both from l10n_parent and l10n_source) to have the value for all translations synchronized or explictly have a checkbox to use a custom value. The information whether a field is custom filled, or kept in sync from l10n_parent/l10n_source is stored in a separate field called "l10n_state" inside the database. The introduced upgrade wizard and TCA migration to remove "l10n_mode=mergeIfNotBlank" has been modified to migrate to this option and add a l10n_state database field if a TCA table used "mergeIfNotBlank" but did not add the l10n_state field manually via ext_tables.sql yet. New extensions can easily use the new option right away, extensions that need to stay compatible with v7 and v8 can add both options right away to have the same output. The main goals to achieve with this change is now: * Have consistent database values for all records regardless of l10n_mode=mergeIfNotBlank paving the way to fetch translated records without having to overlay (once l10n_mode=exclude is also copying values and relations) * Be more explicit for editors about records that have a different or the same state as their l10n_parent/l10n_source as a benefit for bigger instances with a lot of languages * Avoid hidden magic when retrieving localized records in the TYPO3 Frontend. Resolves: #79658 Related: #79243 Releases: master Change-Id: I6c2dbfeb09b47f958a536c9ab050c24ba4bbcbbd Reviewed-on: https://review.typo3.org/51291 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Frans Saris <franssaris@gmail.com> Tested-by:
Frans Saris <franssaris@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 12 Jan, 2017 1 commit
-
-
The new DatabaseL10nModeUpdate install tool upgrade wizard that migrates row content for old "mergeIfNotBlank" fields is now implemented as the first consumer of the new row updater upgrade wizard. Change-Id: If7495ef09e06c5fd611fe95feff640c67d3a672b Resolves: #79281 Related: #79243 Related: #79279 Releases: master Reviewed-on: https://review.typo3.org/51277 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
- 11 Jan, 2017 2 commits
-
-
Christian Kuhn authored
Fix a left over hack and improve comment wording at a couple of places. Change-Id: Ida005a7d5889e8aa4afd1e39eb66862f85fd3fbc Resolves: #79279 Releases: master Reviewed-on: https://review.typo3.org/51273 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Introduce an upgrade wizard in install tool that walks through all TCA table rows and calls registered row updaters to manipulate single row data. Change-Id: I25425e79d966d229da0fa6a181f0eabf97208a70 Resolves: #79279 Releases: master Reviewed-on: https://review.typo3.org/51253 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Susanne Moog <susanne.moog@typo3.org> Tested-by:
Susanne Moog <susanne.moog@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-