[!!!][TASK] Remove FlexForm options in DefaultConfiguration 81/47481/6
authorBenni Mack <benni@typo3.org>
Fri, 1 Apr 2016 09:21:49 +0000 (11:21 +0200)
committerMorton Jonuschat <m.jonuschat@mojocode.de>
Fri, 1 Apr 2016 10:34:57 +0000 (12:34 +0200)
There are several options regarding flexforms which
are unneeded nowadays.


Resolves: #75355
Releases: master
Change-Id: Ib66a0afcdf6db78c4fe0a5da1cd340d877037404
Reviewed-on: https://review.typo3.org/47481
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
typo3/sysext/core/Documentation/Changelog/master/Breaking-75355-FlexForm-relatedOptionsRemoved.rst [new file with mode: 0644]

index 882ce90..f5bbba3 100644 (file)
@@ -316,9 +316,7 @@ class FlexFormTools
         if ($GLOBALS['TYPO3_CONF_VARS']['BE']['flexformForceCDATA']) {
             $this->flexArray2Xml_options['useCDATA'] = 1;
-        $options = $GLOBALS['TYPO3_CONF_VARS']['BE']['niceFlexFormXMLtags'] ? $this->flexArray2Xml_options : array();
-        $spaceInd = $GLOBALS['TYPO3_CONF_VARS']['BE']['compactFlexFormXML'] ? -1 : 4;
-        $output = GeneralUtility::array2xml($array, '', 0, 'T3FlexForms', $spaceInd, $options);
+        $output = GeneralUtility::array2xml($array, '', 0, 'T3FlexForms', 4, $this->flexArray2Xml_options);
         if ($addPrologue) {
             $output = '<?xml version="1.0" encoding="utf-8" standalone="yes" ?>' . LF . $output;
index d5e746d..115436b 100644 (file)
@@ -1045,9 +1045,7 @@ return array(
         'fileDenyPattern' => FILE_DENY_PATTERN_DEFAULT,        // A perl-compatible regular expression (without delimiters!) that - if it matches a filename - will deny the file upload/rename or whatever in the webspace. For security reasons, files with multiple extensions have to be denied on an Apache environment with mod_alias, if the filename contains a valid php handler in an arbitrary position. Also, ".htaccess" files have to be denied. Matching is done case-insensitive. Default value is stored in constant FILE_DENY_PATTERN_DEFAULT
         'interfaces' => 'backend',                            // This determines which interface options is available in the login prompt and in which order (All options: ",backend,frontend")
         'explicitADmode' => 'explicitDeny',                    // Sets the general allow/deny mode for selector box values. Value can be either "explicitAllow" or "explicitDeny", nothing else!
-        'niceFlexFormXMLtags' => true,                        // If set, the flexform XML will be stored with meaningful tags which can be validated with DTD schema. If you rely on custom reading of the XML from pre-4.0 versions you should set this to FALSE if you don't like to change your reader code (internally it is insignificant since \TYPO3\CMS\Core\Utility\GeneralUtility::xml2array() doesn't care for the tags if the index-attribute value is set)
-        'compactFlexFormXML' => 0,                            // If set, the flexform XML will not contain indentation spaces making XML more compact
-        'flexformForceCDATA' => 0,                            // Boolean:  If set, will add CDATA to Flexform XML. Some versions of libxml have a bug that causes HTML entities to be stripped from any XML content and this setting will avoid the bug by adding CDATA.
+        'flexformForceCDATA' => 0,                            // Boolean: If set, will add CDATA to Flexform XML. Some versions of libxml have a bug that causes HTML entities to be stripped from any XML content and this setting will avoid the bug by adding CDATA.
         'explicitConfirmationOfTranslation' => false,        // If set, then the diff-data of localized records is not saved automatically when updated but requires that a translator clicks the special finish_translation/save/close button that becomes available.
         'versionNumberInFilename' => false,                    // <p>Boolean: If TRUE, included CSS and JS files will have the timestamp embedded in the filename, ie. filename.1269312081.js. This will make browsers and proxies reload the files if they change (thus avoiding caching issues). IMPORTANT: this feature requires extra .htaccess rules to work (please refer to _.htaccess or the _.htaccess file from the dummy package)</p><p>If FALSE the filemtime will be appended as a query-string.</p>
         'debug' => false,                                    // Boolean: If set, the loginrefresh is disabled and pageRenderer is set to debug mode. Use this to debug the backend only!
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-75355-FlexForm-relatedOptionsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-75355-FlexForm-relatedOptionsRemoved.rst
new file mode 100644 (file)
index 0000000..869f445
--- /dev/null
@@ -0,0 +1,32 @@
+Breaking: #75355 - FlexForm-related options removed
+The following options regarding FlexForm handling have been removed.
+* $TYPO3_CONF_VARS[BE][niceFlexFormXMLtags]
+* $TYPO3_CONF_VARS[BE][compactFlexFormXML]
+Storing FlexForms in the database via the TYPO3 Core API does not compact the XML files anymore (it now always
+uses 4 spaces for indentation inside the XML) and also always uses meaningful tags so it can be validated with DTDs.
+Having the options set will result in new/updated FlexForm data being written
+with spaces instead of tabs and with meaningful tags while keeping full backwards compatibility when reading.
+This was the default for new installations already, but introduced due to legacy installations (pre 4.0) that dealt with
+FlexForms back in 2004.
+Affected Installations
+Any installation having these properties set in their LocalConfiguration.php.
+Any extension evaluating these parameters on its own.
\ No newline at end of file
index f5bb3dd..b2d5a78 100755 (executable)
@@ -94,6 +94,9 @@ class SilentConfigurationUpgradeService
+        // #75355
+        'BE/niceFlexFormXMLtags',
+        'BE/compactFlexFormXML'
     public function __construct(ConfigurationManager $configurationManager = null)