Migrate to severity property 'value'
-<div class="{severityClassMapping.{status.severity}}">
+<div class="{severityClassMapping.{status.severity.value}}">
<!-- stuff happens here -->
</div>
Convert single recipient values to array for EmailFinisher
finishers:
-
options:
- recipientAddress: [email protected]
- recipientName: 'Bar'
+ recipients:
+ [email protected]: 'Bar'
Migrate email flag to email type
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<email_field>
<config>
- <type>input</type>
- <eval>trim,email</eval>
- <max>255</max>
+ <type>email</type>
</config>
</email_field>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Migrate eval int and double2 to type number
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<int_field>
<label>int field</label>
<config>
- <type>input</type>
- <eval>int</eval>
+ <type>number</type>
</config>
</int_field>
<double2_field>
<label>double2 field</label>
<config>
- <type>input</type>
- <eval>double2</eval>
+ <type>number</type>
+ <format>decimal</format>
</config>
</double2_field>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Migrates TCA internal_type into new new TCA type folder
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<aColumn>
<config>
- <type>group</type>
- <internal_type>folder</internal_type>
+ <type>folder</type>
</config>
</aColumn>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Migrates indexed item array keys to associative for type select, radio and check
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<selectSingleColumn>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<items type="array">
<numIndex index="0" type="array">
- <numIndex index="0"/>
- <numIndex index="1"/>
+ <label/>
+ <value/>
</numIndex>
<numIndex index="1" type="array">
- <numIndex index="0">Label 1</numIndex>
- <numIndex index="1">1</numIndex>
+ <label>Label 1</label>
+ <value>1</value>
</numIndex>
<numIndex index="2" type="array">
- <numIndex index="0">Label 2</numIndex>
- <numIndex index="1">2</numIndex>
+ <label>Label 2</label>
+ <value>2</value>
</numIndex>
<numIndex index="3" type="array">
- <numIndex index="0">Label 3</numIndex>
- <numIndex index="1">3</numIndex>
+ <label>Label 3</label>
+ <value>3</value>
</numIndex>
</items>
</config>
</selectSingleColumn>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Migrate null flag
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<aFlexField>
<config>
- <eval>null</eval>
+ <nullable>true</nullable>
</config>
</aFlexField>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Migrate password and salted password to password type
- class:
a9f\Typo3Fractor\TYPO3v12\FlexForm\MigratePasswordAndSaltedPasswordToPasswordTypeFlexFormFractor
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<password_field>
<config>
- <type>input</type>
- <eval>trim,password,saltedPassword</eval>
+ <type>password</type>
</config>
</password_field>
<another_password_field>
<config>
- <type>input</type>
- <eval>trim,password</eval>
+ <type>password</type>
+ <hashed>false</hashed>
</config>
</another_password_field>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Migrate renderType colorpicker to type color
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<a_color_field>
<config>
- <type>input</type>
- <renderType>colorpicker</renderType>
+ <type>color</type>
<required>1</required>
<size>20</size>
- <max>1234</max>
- <eval>trim,null</eval>
<valuePicker>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">typo3 orange</numIndex>
<numIndex index="1">#FF8700</numIndex>
</numIndex>
</items>
</valuePicker>
</config>
</a_color_field>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Migrate required flag
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<aColumn>
<config>
- <eval>trim,required</eval>
+ <eval>trim</eval>
+ <required>1</required>
</config>
</aColumn>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Migrates option cols to size for TCA type none
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<sheetTitle>Sheet Title</sheetTitle>
<type>array</type>
<el>
<aColumn>
<config>
<type>none</type>
- <cols>20</cols>
+ <size>20</size>
</config>
</aColumn>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
Remove config.disablePageExternalUrl
-config.disablePageExternalUrl = 1
+-
Remove config.doctypeSwitch
-config.doctypeSwitch = 1
+-
Remove config.metaCharset
-config.metaCharset = 1
+-
Remove config.sendCacheHeaders_onlyWhenLoginDeniedInBranch
- class:
a9f\Typo3Fractor\TYPO3v12\TypoScript\RemoveConfigSendCacheHeadersOnlyWhenLoginDeniedInBranchFractor
-config.sendCacheHeaders_onlyWhenLoginDeniedInBranch = 1
+-
Remove config.spamProtectEmailAddresses with option ascii
-config.spamProtectEmailAddresses = ascii
+-
Remove mod.web_list.newPageWiz.overrideWithExtension
-mod.web_list.newPageWiz.overrideWithExtension = 1
+-
Remove TSConfig mod.web_layout.disableNewContentElementWizard and mod.newContentElementWizard.override
-mod.web_layout.disableNewContentElementWizard = 1
-mod.newContentElementWizard.override = 1
+-
Remove noCacheHash="1" and useCacheHash="1" attribute
-<f:link.page noCacheHash="1">Link</f:link.page>
-<f:link.typolink useCacheHash="1">Link</f:link.typolink>
+<f:link.page>Link</f:link.page>
+<f:link.typolink>Link</f:link.typolink>
Remove mod.web_list.alternateBgColors
-mod.web_list.alternateBgColors = 1
+-
Remove TCEForms key from all elements in data structure
<T3DataStructure>
<ROOT>
- <TCEforms>
- <sheetTitle>aTitle</sheetTitle>
- </TCEforms>
+ <sheetTitle>aTitle</sheetTitle>
<type>array</type>
<el>
<aFlexField>
- <TCEforms>
- <label>aFlexFieldLabel</label>
- <config>
- <type>input</type>
- </config>
- </TCEforms>
+ <label>aFlexFieldLabel</label>
+ <config>
+ <type>input</type>
+ </config>
</aFlexField>
</el>
</ROOT>
</T3DataStructure>
Remove useCacheHash TypoScript setting
typolink {
parameter = 3
- useCacheHash = 1
}
Remove TSConfig options.workspaces.swapMode and options.workspaces.changeStageMode
-options.workspaces.swapMode = any
-options.workspaces.changeStageMode = any
+-
Migrate typoscript xhtmlDoctype to doctype
-config.xhtmlDoctype = 1
+config.doctype = 1
Rename key mail to email for MailLinkHandler
TCEMAIN.linkHandler {
- mail {
+ email {
handler = TYPO3\CMS\Recordlist\LinkHandler\MailLinkHandler
label = LLL:EXT:recordlist/Resources/Private/Language/locallang_browse_links.xlf:email
displayAfter = page,file,folder,url
scanBefore = url
}
}
Use key translationFiles instead of translationFile
TYPO3:
CMS:
Form:
prototypes:
standard:
formElementsDefinition:
Form:
renderingOptions:
translation:
- translationFile:
- 10: 'EXT:form/Resources/Private/Language/locallang.xlf'
+ translationFiles:
20: 'EXT:myextension/Resources/Private/Language/locallang.xlf'
Use config array in TSFE instead of deprecated class properties
-page.10.data = TSFE:fileTarget
+page.10.data = TSFE:config|config|fileTarget