Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecation: #97126 - TCEforms removed in FlexForm #3179

Closed
sabbelasichon opened this issue Oct 2, 2022 · 1 comment · Fixed by #3460 or #3934
Closed

Deprecation: #97126 - TCEforms removed in FlexForm #3179

sabbelasichon opened this issue Oct 2, 2022 · 1 comment · Fixed by #3460 or #3934

Comments

@sabbelasichon
Copy link
Owner

Deprecation: #97126 - TCEforms removed in FlexForm

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/12.0/Deprecation-97126-TCEformsRemovedInFlexForm.html
.. include:: /Includes.rst.txt

==================================================
Deprecation: #97126 - TCEforms removed in FlexForm

See :issue:97126

Description

The <TCEforms> tag is no longer necessary (and allowed) in FlexForm
definitions. It was used to wrap TCA configuration and sheet
titles / descriptions. This wrapping must be omitted now.

Impact

Not omitting TCEforms will trigger a deprecation warning and log a message in
the deprecation log. An automatic migration is in place, which will eventually
be removed in upcoming TYPO3 versions.

Affected Installations

  • All installations making use of FlexForm in their TCA. FlexForm definitions can
    be defined directly in TCA or can be external XML files.

  • Extensions, which extend the YAML configuration for forms with new fields.

Migration

Omit the <TCEforms> tag in your FlexForm definition. The underlying
configuration moves one level up.

Before:

.. code-block:: xml

<T3DataStructure>
    <ROOT>
        <TCEforms>
            <sheetTitle>sheet description 1</sheetTitle>
            <sheetDescription>
                sheetDescription: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            </sheetDescription>
            <sheetShortDescr>
                sheetShortDescr: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            </sheetShortDescr>
        </TCEforms>
        <type>array</type>
        <el>
            <input_1>
                <TCEforms>
                    <label>input_1</label>
                    <config>
                        <type>input</type>
                    </config>
                </TCEforms>
            </input_1>
        </el>
    </ROOT>
</T3DataStructure>

After:

.. code-block:: xml

<T3DataStructure>
    <ROOT>
        <sheetTitle>sheet description 1</sheetTitle>
        <sheetDescription>
            sheetDescription: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        </sheetDescription>
        <sheetShortDescr>
            sheetShortDescr: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        </sheetShortDescr>
        <type>array</type>
        <el>
            <input_1>
                <label>input_1</label>
                <config>
                    <type>input</type>
                </config>
            </input_1>
        </el>
    </ROOT>
</T3DataStructure>

Migration for form YAML configuration:

Before:

.. code-block:: yaml

TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          finishersDefinition:
            EmailToReceiver:
              FormEngine:
                elements:
                  recipients:
                    el:
                      _arrayContainer:
                        el:
                          email:
                            TCEforms:
                              label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
                              config:
                                type: input

After:

.. code-block:: yaml

TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          finishersDefinition:
            EmailToReceiver:
              FormEngine:
                elements:
                  recipients:
                    el:
                      _arrayContainer:
                        el:
                          email:
                            label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
                            config:
                              type: input

.. index:: FlexForm, TCA, NotScanned, ext:core

@helsner
Copy link
Collaborator

helsner commented Oct 3, 2022

As DEV that did some upgrades myself i would declare this as pretty annoying change to handle.
This makes it even more important to add a rector rule for this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment