[!!!][TASK] Drop additional palette handling 99/40599/13
authorChristian Kuhn <lolli@schwarzbu.ch>
Wed, 24 Jun 2015 16:36:40 +0000 (18:36 +0200)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Thu, 25 Jun 2015 13:16:00 +0000 (15:16 +0200)
Change-Id: I33a5173515ebf04e19f31838cff84dd5561bc3c3
Resolves: #67737
Releases: master
Reviewed-on: http://review.typo3.org/40599
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Alexander Opitz <opitz.alexander@googlemail.com>
Tested-by: Alexander Opitz <opitz.alexander@googlemail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
19 files changed:
typo3/sysext/backend/Classes/Form/Container/PaletteAndSingleContainer.php
typo3/sysext/core/Classes/Migrations/TcaMigration.php
typo3/sysext/core/Classes/Resource/Collection/FileCollectionRegistry.php
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/Configuration/TCA/sys_category.php
typo3/sysext/core/Configuration/TCA/sys_collection.php
typo3/sysext/core/Configuration/TCA/sys_file_collection.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-67737-TcaDropAdditionalPalette.rst [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php
typo3/sysext/core/Tests/Unit/Resource/Collection/FileCollectionRegistryTest.php
typo3/sysext/core/Tests/Unit/Utility/ExtensionManagementUtilityTest.php
typo3/sysext/css_styled_content/Configuration/TCA/Overrides/tt_content.php
typo3/sysext/frontend/Configuration/TCA/backend_layout.php
typo3/sysext/frontend/Configuration/TCA/fe_users.php
typo3/sysext/frontend/Configuration/TCA/sys_domain.php
typo3/sysext/frontend/Configuration/TCA/sys_template.php
typo3/sysext/indexed_search/Configuration/TCA/index_config.php
typo3/sysext/rtehtmlarea/Configuration/TCA/tx_rtehtmlarea_acronym.php
typo3/sysext/scheduler/Configuration/TCA/tx_scheduler_task_group.php

index 195e9c8..107946a 100644 (file)
@@ -62,7 +62,7 @@ class PaletteAndSingleContainer extends AbstractContainer {
                                'elements' => array(
                                        0 => array(
                                                'type' => 'single',
-                                               'fieldName' => 'palettenName',
+                                               'fieldName' => 'paletteName',
                                                'fieldLabel' => 'element1',
                                                'fieldHtml' => 'element1',
                                        ),
@@ -71,23 +71,22 @@ class PaletteAndSingleContainer extends AbstractContainer {
                                        ),
                                        2 => array(
                                                'type' => 'single',
-                                               'fieldName' => 'palettenName',
+                                               'fieldName' => 'paletteName',
                                                'fieldLabel' => 'element2',
                                                'fieldHtml' => 'element2',
                                        ),
                                ),
                        ),
-                       1 => array( // has 2 as "additional palette"
+                       1 => array(
                                'type' => 'single',
                                'fieldName' => 'element3',
                                'fieldLabel' => 'element3',
                                'fieldHtml' => 'element3',
                        ),
-                       2 => array( // do only if 1 had result
+                       2 => array(
                                'type' => 'palette2',
                                'fieldName' => 'palette2',
-                               'fieldLabel' => '', // label missing because label of 1 is displayed only
-                               'canNotCollapse' => TRUE, // An "additional palette" can not be collapsed
+                               'fieldLabel' => '', // Palettes may not have a label
                                'elements' => array(
                                        0 => array(
                                                'type' => 'single',
@@ -150,22 +149,6 @@ class PaletteAndSingleContainer extends AbstractContainer {
                                                'fieldLabel' => $this->getSingleFieldLabel($fieldName, $fieldConfiguration['fieldLabel']),
                                                'fieldHtml' => $childResultArray['html'],
                                        );
-
-                                       // If the third part of a show item field is given, this is a name of a palette that should be rendered
-                                       // below the single field - without palette header and only if single field produced content
-                                       if (!empty($childResultArray['html']) && !empty($fieldConfiguration['paletteName'])) {
-                                               $paletteElementArray = $this->createPaletteContentArray($fieldConfiguration['paletteName']);
-                                               if (!empty($paletteElementArray)) {
-                                                       $mainStructureCounter ++;
-                                                       $targetStructure[$mainStructureCounter] = array(
-                                                               'type' => 'palette',
-                                                               'fieldName' => $fieldConfiguration['paletteName'],
-                                                               'fieldLabel' => '', // An "additional palette" has no show label
-                                                               'canNotCollapse' => TRUE,
-                                                               'elements' => $paletteElementArray,
-                                                       );
-                                               }
-                                       }
                                }
 
                                $childResultArray['html'] = '';
@@ -199,10 +182,6 @@ class PaletteAndSingleContainer extends AbstractContainer {
                                if (!$this->globalOptions['palettesCollapsed']) {
                                        $renderUnCollapseButtonWrapper = FALSE;
                                }
-                               // No button if palette is set to no collapse on element level - this is the case if palette is an "additional palette" after a casual field
-                               if (!empty($element['canNotCollapse'])) {
-                                       $renderUnCollapseButtonWrapper = FALSE;
-                               }
 
                                if ($renderUnCollapseButtonWrapper) {
                                        $cssId = str_replace('.', '_', 'FORMENGINE_' . $this->globalOptions['table'] . '_' . $paletteName . '_' . $this->globalOptions['databaseRow']['uid']);
index d51b42c..e1b87c1 100644 (file)
@@ -42,6 +42,7 @@ class TcaMigration {
                $tca = $this->migrateT3editorWizardToRenderTypeT3editorIfNotEnabledByTypeConfig($tca);
                $tca = $this->migrateSpecialConfigurationAndRemoveShowItemStylePointerConfig($tca);
                $tca = $this->migrateT3editorWizardWithEnabledByTypeConfigToColumnsOverrides($tca);
+               $tca = $this->migrateShowItemAdditionalPaletteToOwnPalette($tca);
                // @todo: if showitem/defaultExtras wizards[xy] is migrated to columnsOverrides here, enableByTypeConfig could be dropped
                return $tca;
        }
@@ -91,7 +92,7 @@ class TcaMigration {
                                                        if (!empty($wizardConfig['params']['format'])) {
                                                                $newTca[$table]['columns'][$fieldName]['config']['format'] = $wizardConfig['params']['format'];
                                                        }
-                                                       $this->messages[] = 'Migrated t3editor wizard in TCA of table ' . $table . ' field ' . $fieldName . ' to a renderType definition.';
+                                                       $this->messages[] = 'Migrated t3editor wizard in TCA of table "' . $table . '" field "' . $fieldName . '" to a renderType definition.';
                                                }
                                        }
                                        // If no wizard is left after migration, unset the whole sub array
@@ -239,8 +240,8 @@ class TcaMigration {
                                                                                                if (!empty($wizardConfig['params']['format'])) {
                                                                                                        $newTca[$table]['types'][$typeName]['columnsOverrides'][$fieldName]['config']['format'] = $wizardConfig['params']['format'];
                                                                                                }
-                                                                                               $this->messages[] = 'Migrated t3editor wizard in TCA of table ' . $table . ' field ' . $fieldName
-                                                                                                       . ' to a renderType definition with columnsOverrides in type ' . $typeName . '.';
+                                                                                               $this->messages[] = 'Migrated t3editor wizard in TCA of table "' . $table . '" field "' . $fieldName
+                                                                                                       . '" to a renderType definition with columnsOverrides in type "' . $typeName . '".';
                                                                                        } else {
                                                                                                // Some other enabled wizard
                                                                                                $newEnabledWizardsArray[] = $enabledWizardName;
@@ -271,4 +272,60 @@ class TcaMigration {
                return $newTca;
        }
 
+       /**
+        * Migrate types showitem 'aField;aLabel;aPalette' to 'afield;aLabel, --palette--;;aPalette'
+        *
+        * Old showitem can have a syntax like:
+        * fieldName;aLabel;aPalette
+        * This way, the palette with name "aPalette" is rendered after fieldName.
+        * The migration parses this to a syntax like:
+        * fieldName;aLabel, --palette--;;paletteName
+        *
+        * @param array $tca Incoming TCA
+        * @return array Migrated TCA
+        */
+       protected function migrateShowItemAdditionalPaletteToOwnPalette(array $tca) {
+               $newTca = $tca;
+               foreach ($tca as $table => $tableDefinition) {
+                       if (!isset($tableDefinition['types']) || !is_array($tableDefinition['types'])) {
+                               continue;
+                       }
+                       foreach ($tableDefinition['types'] as $typeName => $typeArray) {
+                               if (
+                                       !isset($typeArray['showitem'])
+                                       || !is_string($typeArray['showitem'])
+                                       || strpos($typeArray['showitem'], ';') === FALSE // no field parameters
+                               ) {
+                                       continue;
+                               }
+                               $itemList = GeneralUtility::trimExplode(',', $typeArray['showitem'], TRUE);
+                               $newFieldStrings = array();
+                               foreach ($itemList as $fieldString) {
+                                       $fieldArray = GeneralUtility::trimExplode(';', $fieldString);
+                                       $fieldArray = array(
+                                               'fieldName' => isset($fieldArray[0]) ? $fieldArray[0] : '',
+                                               'fieldLabel' => isset($fieldArray[1]) ? $fieldArray[1] : NULL,
+                                               'paletteName' => isset($fieldArray[2]) ? $fieldArray[2] : NULL,
+                                       );
+                                       if ($fieldArray['fieldName'] !== '--palette--' && $fieldArray['paletteName'] !== NULL) {
+                                               if ($fieldArray['fieldLabel']) {
+                                                       $fieldString = $fieldArray['fieldName'] . ';' . $fieldArray['fieldLabel'];
+                                               } else {
+                                                       $fieldString = $fieldArray['fieldName'];
+                                               }
+                                               $paletteString = '--palette--;;' . $fieldArray['paletteName'];
+                                               $this->messages[] = 'Migrated TCA table "' . $table . '" showitem field of type "' . $typeName . '": Moved additional palette'
+                                                       . ' with name "' . $fieldArray['paletteName'] . '" as 3rd argument of field "' . $fieldArray['fieldName']
+                                                       . '" to an own palette. The result of this part is: "' . $fieldString . ', ' . $paletteString . '"';
+                                               $newFieldStrings[] = $fieldString;
+                                               $newFieldStrings[] = $paletteString;
+                                       } else {
+                                               $newFieldStrings[] = $fieldString;
+                                       }
+                               }
+                               $newTca[$table]['types'][$typeName]['showitem'] = implode(',', $newFieldStrings);
+                       }
+               }
+               return $newTca;
+       }
 }
index d0c720c..91b30df 100644 (file)
@@ -83,7 +83,7 @@ class FileCollectionRegistry implements \TYPO3\CMS\Core\SingletonInterface {
        public function addTypeToTCA($type, $label, $availableFields, array $additionalColumns = array()) {
 
                $GLOBALS['TCA']['sys_file_collection']['types'][$type] = array(
-                       'showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title;;1, type, ' . $availableFields
+                       'showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title, --palette--;;1, type, ' . $availableFields
                );
 
                // search for existing type when found override label
index 520af6d..28475a0 100644 (file)
@@ -350,9 +350,41 @@ class ExtensionManagementUtility {
        }
 
        /**
-        * Adds new fields to all palettes of an existing field.
-        * If the field does not have a palette yet, it's created automatically and
-        * gets called "generatedFor-$field".
+        * Adds new fields to all palettes that is defined after an existing field.
+        * If the field does not have a following palette yet, it's created automatically
+        * and gets called "generatedFor-$field".
+        *
+        * See unit tests for more examples and edge cases.
+        *
+        * Example:
+        *
+        * 'aTable' => array(
+        *      'types' => array(
+        *              'aType' => array(
+        *                      'showitem' => 'aField, --palette--;;aPalette',
+        *              ),
+        *      ),
+        *      'palettes' => array(
+        *              'aPallete' => array(
+        *                      'showitem' => 'fieldB, fieldC',
+        *              ),
+        *      ),
+        * ),
+        *
+        * Calling addFieldsToAllPalettesOfField('aTable', 'aField', 'newA', 'before: fieldC') results in:
+        *
+        * 'aTable' => array(
+        *      'types' => array(
+        *              'aType' => array(
+        *                      'showitem' => 'aField, --palette--;;aPalette',
+        *              ),
+        *      ),
+        *      'palettes' => array(
+        *              'aPallete' => array(
+        *                      'showitem' => 'fieldB, newA, fieldC',
+        *              ),
+        *      ),
+        * ),
         *
         * @param string $table Name of the table
         * @param string $field Name of the field that has the palette to be extended
@@ -361,35 +393,44 @@ class ExtensionManagementUtility {
         * @return void
         */
        static public function addFieldsToAllPalettesOfField($table, $field, $addFields, $insertionPosition = '') {
-               $generatedPalette = '';
-               $processedPalettes = array();
-               if (isset($GLOBALS['TCA'][$table]['columns'][$field])) {
-                       $types = &$GLOBALS['TCA'][$table]['types'];
-                       if (is_array($types)) {
-                               // Iterate through all types and search for the field that defines the palette to be extended:
-                               foreach ($types as $type => $_) {
-                                       $items = self::explodeItemList($types[$type]['showitem']);
-                                       if (isset($items[$field])) {
-                                               // If the field already has a palette, extend it:
-                                               if ($items[$field]['details']['palette']) {
-                                                       $palette = $items[$field]['details']['palette'];
-                                                       if (!isset($processedPalettes[$palette])) {
-                                                               self::addFieldsToPalette($table, $palette, $addFields, $insertionPosition);
-                                                               $processedPalettes[$palette] = TRUE;
-                                                       }
-                                               } else {
-                                                       if ($generatedPalette) {
-                                                               $palette = $generatedPalette;
-                                                       } else {
-                                                               $palette = ($generatedPalette = 'generatedFor-' . $field);
-                                                               self::addFieldsToPalette($table, $palette, $addFields, $insertionPosition);
-                                                       }
-                                                       $items[$field]['details']['palette'] = $palette;
-                                                       $types[$type]['showitem'] = self::generateItemList($items);
-                                               }
-                                       }
+               if (!isset($GLOBALS['TCA'][$table]['columns'][$field])) {
+                       return;
+               }
+               if (!is_array($GLOBALS['TCA'][$table]['types'])) {
+                       return;
+               }
+
+               // Iterate through all types and search for the field that defines the palette to be extended
+               foreach ($GLOBALS['TCA'][$table]['types'] as $typeName => $typeArray) {
+                       // Continue if types has no showitem at all or if requested field is not in it
+                       if (!isset($typeArray['showitem']) || strpos($typeArray['showitem'], $field) === FALSE) {
+                               continue;
+                       }
+                       $fieldArrayWithOptions = GeneralUtility::trimExplode(',', $typeArray['showitem']);
+                       // Find the field we're handling
+                       $newFieldStringArray = array();
+                       foreach ($fieldArrayWithOptions as $fieldNumber => $fieldString) {
+                               $newFieldStringArray[] = $fieldString;
+                               $fieldArray = GeneralUtility::trimExplode(';', $fieldString);
+                               if ($fieldArray[0] !== $field) {
+                                       continue;
+                               }
+                               if (
+                                       isset($fieldArrayWithOptions[$fieldNumber + 1])
+                                       && StringUtility::beginsWith($fieldArrayWithOptions[$fieldNumber + 1],  '--palette--')
+                               ) {
+                                       // Match for $field and next field is a palette - add fields to this one
+                                       $paletteName = GeneralUtility::trimExplode(';', $fieldArrayWithOptions[$fieldNumber + 1]);
+                                       $paletteName = $paletteName[2];
+                                       self::addFieldsToPalette($table, $paletteName, $addFields, $insertionPosition);
+                               } else {
+                                       // Match for $field but next field is no palette - create a new one
+                                       $newPaletteName = 'generatedFor-' . $field;
+                                       self::addFieldsToPalette($table, 'generatedFor-' . $field, $addFields, $insertionPosition);
+                                       $newFieldStringArray[] = '--palette--;;' . $newPaletteName;
                                }
                        }
+                       $GLOBALS['TCA'][$table]['types'][$typeName]['showitem'] = implode(', ', $newFieldStringArray);
                }
        }
 
@@ -697,7 +738,7 @@ class ExtensionManagementUtility {
                                        'rawData' => $itemPart,
                                        'details' => array()
                                );
-                               $details = array(0 => 'field', 1 => 'label', 2 => 'palette', 3 => 'special', 4 => 'styles');
+                               $details = array(0 => 'field', 1 => 'label', 2 => 'palette');
                                foreach ($details as $id => $property) {
                                        $items[$key]['details'][$property] = isset($itemDetails[$id]) ? $itemDetails[$id] : '';
                                }
@@ -725,7 +766,7 @@ class ExtensionManagementUtility {
                                $itemParts[] = $itemDetails['rawData'];
                        } else {
                                if (count($itemDetails['details']) > 1) {
-                                       $details = array('styles', 'special', 'palette', 'label', 'field');
+                                       $details = array('palette', 'label', 'field');
                                        $elements = array();
                                        $addEmpty = FALSE;
                                        foreach ($details as $property) {
index b74476d..fdd3762 100644 (file)
@@ -32,7 +32,11 @@ return array(
                'showRecordFieldList' => 'title,description'
        ),
        'types' => array(
-               '1' => array('showitem' => 'title;;1, parent,description,--div--;LLL:EXT:lang/locallang_tca.xlf:sys_category.tabs.items,items,--div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,starttime, endtime')
+               '1' => array(
+                       'showitem' => 'title, --palette--;;1, parent, description,
+                               --div--;LLL:EXT:lang/locallang_tca.xlf:sys_category.tabs.items, items,
+                               --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access, starttime, endtime',
+               ),
        ),
        'palettes' => array(
                '1' => array('showitem' => 'sys_language_uid, l10n_parent, hidden')
index e344e22..480abaa 100644 (file)
@@ -174,7 +174,9 @@ return array(
                )
        ),
        'types' => array(
-               'static' => array('showitem' => 'title;;1,type, description,table_name, items')
+               'static' => array(
+                       'showitem' => 'title, --palette--;;1, type, description,table_name, items',
+               ),
        ),
        'palettes' => array(
                '1' => array('showitem' => 'starttime, endtime, fe_group, sys_language_uid, l10n_parent, l10n_diffsource, hidden')
index 288d179..5534f5f 100644 (file)
@@ -177,12 +177,22 @@ return array(
                )
        ),
        'types' => array(
-               '0' => array('showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title;;1, type, files'),
-               'static' => array('showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title;;1, type, files'),
-               'folder' => array('showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title;;1, type, storage, folder'),
-               'category' => array('showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title;;1, type, category')
+               '0' => array(
+                       'showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title, --palette--;;1, type, files',
+               ),
+               'static' => array(
+                       'showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title, --palette--;;1, type, files',
+               ),
+               'folder' => array(
+                       'showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title, --palette--;;1, type, storage, folder',
+               ),
+               'category' => array(
+                       'showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, title, --palette--;;1, type, category',
+               ),
        ),
        'palettes' => array(
-               '1' => array('showitem' => 'hidden, starttime, endtime')
-       )
+               '1' => array(
+                       'showitem' => 'hidden, starttime, endtime',
+               ),
+       ),
 );
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-67737-TcaDropAdditionalPalette.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-67737-TcaDropAdditionalPalette.rst
new file mode 100644 (file)
index 0000000..18bb517
--- /dev/null
@@ -0,0 +1,67 @@
+==================================================
+Deprecation: #67737 - TCA: Drop additional palette
+==================================================
+
+Description
+===========
+
+The ``showitem`` string of ``TCA`` ``types`` allowed to define an "additional palette" as third
+semicolon separated name of a field. Such a palette is then rendered after the main field.
+This handling is dropped and existing "additional palettes" are migrated to a
+"normal" palette definition directly after the field.
+
+Before:
+
+.. code-block:: php
+
+       'types' => array(
+               'aType' => array(
+                       'showitem' => 'aField;aLabel;anAdditionalPaletteName',
+               ),
+       ),
+
+
+The behavior before was: If the field ``aField`` is rendered, then the
+palette ``anAdditionalPaletteName`` is rendered, too. This functionality is dropped, the
+migrated field now looks like:
+
+.. code-block:: php
+
+       'types' => array(
+               'aType' => array(
+                       'showitem' => 'aField;aLabel, --palette--;;anAdditionalPaletteName',
+               ),
+       ),
+
+
+A casual field name in ``showitem`` now only has a label override as additional
+information, like ``aField;aLabel``, while a palette is referenced as
+``--palette--;aLabel;paletteName``.
+
+
+Impact
+======
+
+All extensions that use "additional palette" syntax are migrated to the new syntax, but will
+throw a deprecation message.
+
+The "additional palette" handling was sometimes misused as "poor-mans-access-control":
+If access to the main field was not allowed, the palette fields were not rendered either. This
+changed, the main field and the palette are decoupled, it may happen that additional fields
+are now rendered for users that should not have access to it. Adapting the ``exclude`` config
+definition of the palette fields and user or group access records is necessary in those cases.
+
+
+
+Affected Installations
+======================
+
+Extensions that use the "additional palette" handling.
+
+
+Migration
+=========
+
+An automatic migration is in place and logged to ``typo3conf/deprecation_*``. The migration code
+will be dropped with TYPO3 CMS 8, a manual fix of the according ``showitem`` field is required,
+the deprecation log gives detailed information on how the definition should look like.
index b1267f7..64cfe51 100644 (file)
@@ -42,7 +42,7 @@ class TcaMigrationTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        0 => array(
-                                               'showitem' => 'this,should;stay;this,too',
+                                               'showitem' => 'this,should;stay,this,too',
                                        ),
                                ),
                        ),
@@ -112,7 +112,7 @@ class TcaMigrationTest extends UnitTestCase {
                        'aTable' => array(
                                'types' => array(
                                        0 => array(
-                                               'showitem' => 'aField,anotherField;with;palette;;and-style-pointer,thirdField',
+                                               'showitem' => 'aField,anotherField;with;;;style-pointer,thirdField',
                                        ),
                                        1 => array(
                                                'showitem' => 'aField,;;;;only-a-style-pointer,anotherField',
@@ -124,7 +124,7 @@ class TcaMigrationTest extends UnitTestCase {
                        'aTable' => array(
                                'types' => array(
                                        0 => array(
-                                               'showitem' => 'aField,anotherField;with;palette,thirdField',
+                                               'showitem' => 'aField,anotherField;with,thirdField',
                                        ),
                                        1 => array(
                                                'showitem' => 'aField,anotherField',
@@ -144,7 +144,7 @@ class TcaMigrationTest extends UnitTestCase {
                        'aTable' => array(
                                'types' => array(
                                        0 => array(
-                                               'showitem' => 'aField,anotherField;with;palette;special:configuration,thirdField',
+                                               'showitem' => 'aField,anotherField;with;;special:configuration,thirdField',
                                        ),
                                ),
                        ),
@@ -153,7 +153,7 @@ class TcaMigrationTest extends UnitTestCase {
                        'aTable' => array(
                                'types' => array(
                                        0 => array(
-                                               'showitem' => 'aField,anotherField;with;palette,thirdField',
+                                               'showitem' => 'aField,anotherField;with,thirdField',
                                                'columnsOverrides' => array(
                                                        'anotherField' => array(
                                                                'defaultExtras' => 'special:configuration',
@@ -180,7 +180,7 @@ class TcaMigrationTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        0 => array(
-                                               'showitem' => 'aField,anotherField;with;palette;special:configuration,thirdField',
+                                               'showitem' => 'aField,anotherField;with;;special:configuration,thirdField',
                                        ),
                                ),
                        ),
@@ -194,7 +194,7 @@ class TcaMigrationTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        0 => array(
-                                               'showitem' => 'aField,anotherField;with;palette,thirdField',
+                                               'showitem' => 'aField,anotherField;with,thirdField',
                                                'columnsOverrides' => array(
                                                        'anotherField' => array(
                                                                'defaultExtras' => 'some:values:special:configuration',
@@ -381,4 +381,30 @@ class TcaMigrationTest extends UnitTestCase {
                $subject->migrate($input);
                $this->assertEmpty($subject->getMessages());
        }
+
+       /**
+        * @test
+        */
+       public function migrateShowItemMovesAdditionalPaletteToOwnPaletteDefinition() {
+               $input = array(
+                       'aTable' => array(
+                               'types' => array(
+                                       'firstType' => array(
+                                               'showitem' => 'field1;field1Label,field2;fieldLabel2;palette1,field2;;palette2',
+                                       ),
+                               ),
+                       ),
+               );
+               $expected = array(
+                       'aTable' => array(
+                               'types' => array(
+                                       'firstType' => array(
+                                               'showitem' => 'field1;field1Label,field2;fieldLabel2,--palette--;;palette1,field2,--palette--;;palette2',
+                                       ),
+                               ),
+                       ),
+               );
+               $subject = new TcaMigration();
+               $this->assertEquals($expected, $subject->migrate($input));
+       }
 }
index fa7b15f..0e9d8c5 100644 (file)
@@ -146,7 +146,7 @@ class FileCollectionRegistryTest extends \TYPO3\CMS\Core\Tests\Unit\Resource\Bas
                // Create a TCA fixture for sys_file_collection
                $GLOBALS['TCA']['sys_file_collection'] = array(
                        'types' => array(
-                               'typeB' => array('showitem' => 'fieldA, fieldB, fieldC;labelC;paletteC;specialC, fieldD'),
+                               'typeB' => array('showitem' => 'fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldD'),
                        ),
                        'columns' => array(
                                'type' => array(
@@ -163,7 +163,7 @@ class FileCollectionRegistryTest extends \TYPO3\CMS\Core\Tests\Unit\Resource\Bas
                $this->testSubject->addTypeToTCA($type, $label, 'something');
 
                // check type
-               $this->assertEquals('sys_language_uid, l10n_parent, l10n_diffsource, title;;1, type, something', $GLOBALS['TCA']['sys_file_collection']['types']['my_type']['showitem']);
+               $this->assertEquals('sys_language_uid, l10n_parent, l10n_diffsource, title, --palette--;;1, type, something', $GLOBALS['TCA']['sys_file_collection']['types']['my_type']['showitem']);
 
                $indexOfNewType = count($GLOBALS['TCA']['sys_file_collection']['columns']['type']['config']['items']) - 1;
 
index 861dd0e..c11a146 100644 (file)
@@ -181,8 +181,8 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                        'fieldC' => array()
                );
                $tca[$table]['types'] = array(
-                       'typeA' => array('showitem' => 'fieldA, fieldB, fieldC;labelC;paletteC;specialC, fieldC1, fieldD, fieldD1'),
-                       'typeB' => array('showitem' => 'fieldA, fieldB, fieldC;labelC;paletteC;specialC, fieldC1, fieldD, fieldD1'),
+                       'typeA' => array('showitem' => 'fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldC1, fieldD, fieldD1'),
+                       'typeB' => array('showitem' => 'fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldC1, fieldD, fieldD1'),
                        'typeC' => array('showitem' => 'fieldC;;paletteD')
                );
                $tca[$table]['palettes'] = array(
@@ -308,9 +308,9 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                $GLOBALS['TCA'] = $this->generateTCAForTable($table);
                ExtensionManagementUtility::addToAllTCAtypes($table, 'newA, newA, newB, fieldA', '', 'before:fieldD');
                // Checking typeA:
-               $this->assertEquals('fieldA, fieldB, fieldC;labelC;paletteC;specialC, fieldC1, newA, newB, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeA']['showitem']);
+               $this->assertEquals('fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldC1, newA, newB, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeA']['showitem']);
                // Checking typeB:
-               $this->assertEquals('fieldA, fieldB, fieldC;labelC;paletteC;specialC, fieldC1, newA, newB, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeB']['showitem']);
+               $this->assertEquals('fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldC1, newA, newB, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeB']['showitem']);
        }
 
        /**
@@ -324,9 +324,9 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                $GLOBALS['TCA'] = $this->generateTCAForTable($table);
                ExtensionManagementUtility::addToAllTCAtypes($table, 'newA, newA, newB, fieldA', '', 'after:fieldC');
                // Checking typeA:
-               $this->assertEquals('fieldA, fieldB, fieldC;labelC;paletteC;specialC, newA, newB, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeA']['showitem']);
+               $this->assertEquals('fieldA, fieldB, fieldC;labelC, newA, newB, --palette--;;paletteC, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeA']['showitem']);
                // Checking typeB:
-               $this->assertEquals('fieldA, fieldB, fieldC;labelC;paletteC;specialC, newA, newB, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeB']['showitem']);
+               $this->assertEquals('fieldA, fieldB, fieldC;labelC, newA, newB, --palette--;;paletteC, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeB']['showitem']);
        }
 
        /**
@@ -340,9 +340,9 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                $GLOBALS['TCA'] = $this->generateTCAForTable($table);
                ExtensionManagementUtility::addToAllTCAtypes($table, 'newA, newA, newB, fieldA', 'typeA', 'before:fieldD');
                // Checking typeA:
-               $this->assertEquals('fieldA, fieldB, fieldC;labelC;paletteC;specialC, fieldC1, newA, newB, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeA']['showitem']);
+               $this->assertEquals('fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldC1, newA, newB, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeA']['showitem']);
                // Checking typeB:
-               $this->assertEquals('fieldA, fieldB, fieldC;labelC;paletteC;specialC, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeB']['showitem']);
+               $this->assertEquals('fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeB']['showitem']);
        }
 
        /**
@@ -356,9 +356,9 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                $GLOBALS['TCA'] = $this->generateTCAForTable($table);
                ExtensionManagementUtility::addToAllTCAtypes($table, 'newA, newA, newB, fieldA', 'typeA', 'after:fieldC');
                // Checking typeA:
-               $this->assertEquals('fieldA, fieldB, fieldC;labelC;paletteC;specialC, newA, newB, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeA']['showitem']);
+               $this->assertEquals('fieldA, fieldB, fieldC;labelC, newA, newB, --palette--;;paletteC, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeA']['showitem']);
                // Checking typeB:
-               $this->assertEquals('fieldA, fieldB, fieldC;labelC;paletteC;specialC, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeB']['showitem']);
+               $this->assertEquals('fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldC1, fieldD, fieldD1', $GLOBALS['TCA'][$table]['types']['typeB']['showitem']);
        }
 
        /**
@@ -388,14 +388,14 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                $table = $this->getUniqueId('tx_coretest_table');
                $GLOBALS['TCA'] = $this->generateTCAForTable($table);
                $typesBefore = $GLOBALS['TCA'][$table]['types'];
-               ExtensionManagementUtility::addToAllTCAtypes($table, 'fieldX;;foo;;', '', 'replace:fieldX');
+               ExtensionManagementUtility::addToAllTCAtypes($table, 'fieldX, --palette--;;foo', '', 'replace:fieldX');
                $this->assertEquals($typesBefore, $GLOBALS['TCA'][$table]['types'], 'It\'s wrong that the "types" array changes here - the replaced field is only on palettes');
                // unchanged because the palette is not used
                $this->assertEquals('fieldX, fieldX1, fieldY', $GLOBALS['TCA'][$table]['palettes']['paletteA']['showitem']);
                $this->assertEquals('fieldX, fieldX1, fieldY', $GLOBALS['TCA'][$table]['palettes']['paletteB']['showitem']);
                // changed
-               $this->assertEquals('fieldX;;foo;;, fieldX1, fieldY', $GLOBALS['TCA'][$table]['palettes']['paletteC']['showitem']);
-               $this->assertEquals('fieldX;;foo;;, fieldX1, fieldY', $GLOBALS['TCA'][$table]['palettes']['paletteD']['showitem']);
+               $this->assertEquals('fieldX, --palette--;;foo, fieldX1, fieldY', $GLOBALS['TCA'][$table]['palettes']['paletteC']['showitem']);
+               $this->assertEquals('fieldX, --palette--;;foo, fieldX1, fieldY', $GLOBALS['TCA'][$table]['palettes']['paletteD']['showitem']);
        }
 
        /**
@@ -457,16 +457,6 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                'field_a, field_b, --linebreak--, field_c',
                                '--linebreak--, field_d, --linebreak--'
                        ),
-                       'with configuration in list' => array(
-                               'field_b, field_d, field_c;;;4-4-4',
-                               'field_a, field_b;;;;2-2-2, field_c;;;;3-3-3',
-                               'field_d',
-                       ),
-                       'with configuration in list and insertion list' => array(
-                               'field_b, field_d;;;3-3-3, field_c;;;4-4-4',
-                               'field_a, field_b;;;;2-2-2, field_c;;;;3-3-3',
-                               'field_d;;;3-3-3',
-                       ),
                );
        }
 
@@ -495,7 +485,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                        'aTable' => array(
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -525,7 +515,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -542,7 +532,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -571,7 +561,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -588,7 +578,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -617,10 +607,10 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;;palette1',
+                                               'showitem' => 'fieldA, --palette--;;palette1',
                                        ),
                                        'typeB' => array(
-                                               'showitem' => 'fieldA;aLabel;palette2',
+                                               'showitem' => 'fieldA;aLabel, --palette--;;palette2',
                                        ),
                                ),
                                'palettes' => array(
@@ -640,10 +630,10 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;;palette1',
+                                               'showitem' => 'fieldA, --palette--;;palette1',
                                        ),
                                        'typeB' => array(
-                                               'showitem' => 'fieldA;aLabel;palette2',
+                                               'showitem' => 'fieldA;aLabel, --palette--;;palette2',
                                        ),
                                ),
                                'palettes' => array(
@@ -675,7 +665,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;;palette1',
+                                               'showitem' => 'fieldA, --palette--;;palette1',
                                        ),
                                ),
                                'palettes' => array(
@@ -692,7 +682,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;;palette1',
+                                               'showitem' => 'fieldA, --palette--;;palette1',
                                        ),
                                ),
                                'palettes' => array(
@@ -721,7 +711,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -738,7 +728,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -768,7 +758,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -785,7 +775,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -815,7 +805,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -832,7 +822,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -862,7 +852,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -879,7 +869,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;paletteA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;paletteA',
                                        ),
                                ),
                                'palettes' => array(
@@ -921,7 +911,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;;generatedFor-fieldA',
+                                               'showitem' => 'fieldA, --palette--;;generatedFor-fieldA',
                                        ),
                                ),
                                'palettes' => array(
@@ -962,7 +952,7 @@ class ExtensionManagementUtilityTest extends UnitTestCase {
                                ),
                                'types' => array(
                                        'typeA' => array(
-                                               'showitem' => 'fieldA;labelA;generatedFor-fieldA',
+                                               'showitem' => 'fieldA;labelA, --palette--;;generatedFor-fieldA',
                                        ),
                                ),
                                'palettes' => array(
index f16a0c4..ee72f94 100644 (file)
@@ -588,7 +588,7 @@ $GLOBALS['TCA']['tt_content']['types']['table']['showitem'] = '
                --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.general;general,
                --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.header;header,
        --div--;LLL:EXT:cms/locallang_ttc.xlf:CType.I.5,
-               layout;;10,
+               layout, --palette--;;10,
                cols,
                bodytext,
                pi_flexform,
index 7cd8f34..be4dfb1 100644 (file)
@@ -81,6 +81,8 @@ return array(
                )
        ),
        'types' => array(
-               '1' => array('showitem' => 'hidden,title;;1, icon, description, config')
+               '1' => array(
+                       'showitem' => 'hidden, title, icon, description, config',
+               ),
        )
 );
index c9c6d44..8f9295f 100644 (file)
@@ -273,14 +273,15 @@ return array(
                )
        ),
        'types' => array(
-               '0' => array('showitem' => '
-                       disable,username, password, usergroup, lastlogin,
-                       --div--;LLL:EXT:cms/locallang_tca.xlf:fe_users.tabs.personelData, company;;1, name;;2, address, zip, city, country, telephone, fax, email, www, image,
-                       --div--;LLL:EXT:cms/locallang_tca.xlf:fe_users.tabs.options, lockToDomain, TSconfig,
-                       --div--;LLL:EXT:cms/locallang_tca.xlf:fe_users.tabs.access, starttime, endtime,
-                       --div--;LLL:EXT:cms/locallang_tca.xlf:fe_users.tabs.extended
-
-               ')
+               '0' => array(
+                       'showitem' => '
+                               disable, username, password, usergroup, lastlogin,
+                               --div--;LLL:EXT:cms/locallang_tca.xlf:fe_users.tabs.personelData, company, --palette--;;1, name, --palette--;;2, address, zip, city, country, telephone, fax, email, www, image,
+                               --div--;LLL:EXT:cms/locallang_tca.xlf:fe_users.tabs.options, lockToDomain, TSconfig,
+                               --div--;LLL:EXT:cms/locallang_tca.xlf:fe_users.tabs.access, starttime, endtime,
+                               --div--;LLL:EXT:cms/locallang_tca.xlf:fe_users.tabs.extended
+                       ',
+               ),
        ),
        'palettes' => array(
                '1' => array('showitem' => 'title'),
index d0bc3ac..d1d175e 100644 (file)
@@ -82,9 +82,13 @@ return array(
                )
        ),
        'types' => array(
-               '1' => array('showitem' => 'hidden, domainName;;1, prepend_params, forced')
+               '1' => array(
+                       'showitem' => 'hidden, domainName, --palette--;;1, prepend_params, forced',
+               ),
        ),
        'palettes' => array(
-               '1' => array('showitem' => 'redirectTo, redirectHttpStatusCode')
+               '1' => array(
+                       'showitem' => 'redirectTo, redirectHttpStatusCode',
+               ),
        )
 );
index 6eb346c..799ecbb 100644 (file)
@@ -233,7 +233,7 @@ return array(
        ),
        'types' => array(
                '1' => array('showitem' => '
-                       hidden,title;;1, sitetitle, constants, config, description,
+                       hidden, title, sitetitle, constants, config, description,
                        --div--;LLL:EXT:cms/locallang_tca.xlf:sys_template.tabs.options, clear, root, nextLevel,
                        --div--;LLL:EXT:cms/locallang_tca.xlf:sys_template.tabs.include, includeStaticAfterBasedOn, include_static_file, basedOn, static_file_mode,
                        --div--;LLL:EXT:cms/locallang_tca.xlf:sys_template.tabs.access, starttime, endtime')
index d0e41ea..60a06f8 100644 (file)
@@ -235,14 +235,28 @@ return array(
                )
        ),
        'types' => array(
-               '0' => array('showitem' => 'title;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type'),
-               '1' => array('showitem' => 'title;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type, table2index, alternative_source_pid, fieldlist, get_params, chashcalc,recordsbatch,records_indexonchange'),
-               '2' => array('showitem' => 'title;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type, filepath, extensions, depth'),
-               '3' => array('showitem' => 'title;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type, externalUrl, depth, url_deny'),
-               '4' => array('showitem' => 'title;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type, alternative_source_pid;LLL:EXT:indexed_search/locallang_db.xlf:index_config.rootpage, depth'),
-               '5' => array('showitem' => 'title, description, type, indexcfgs')
+               '0' => array(
+                       'showitem' => 'title, --palette--;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type',
+               ),
+               '1' => array(
+                       'showitem' => 'title, --palette--;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type, table2index, alternative_source_pid, fieldlist, get_params, chashcalc,recordsbatch,records_indexonchange',
+               ),
+               '2' => array(
+                       'showitem' => 'title, --palette--;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type, filepath, extensions, depth',
+               ),
+               '3' => array(
+                       'showitem' => 'title, --palette--;;1, timer_next_indexing, timer_offset, timer_frequency, set_id, type, externalUrl, depth, url_deny',
+               ),
+               '4' => array(
+                       'showitem' => 'title, --palette--;;1, description, timer_next_indexing, timer_offset, timer_frequency, set_id, type, alternative_source_pid;LLL:EXT:indexed_search/locallang_db.xlf:index_config.rootpage, depth',
+               ),
+               '5' => array(
+                       'showitem' => 'title, description, type, indexcfgs',
+               ),
        ),
        'palettes' => array(
-               '1' => array('showitem' => 'starttime,hidden')
-       )
+               '1' => array(
+                       'showitem' => 'starttime, hidden',
+               ),
+       ),
 );
index 3bf8a09..bebcdac 100644 (file)
@@ -123,9 +123,13 @@ return array(
                )
        ),
        'types' => array(
-               '0' => array('showitem' => 'hidden;;1, sys_language_uid, type, term, acronym, static_lang_isocode')
+               '0' => array(
+                       'showitem' => 'hidden, --palette--;;1, sys_language_uid, type, term, acronym, static_lang_isocode',
+               ),
        ),
        'palettes' => array(
-               '1' => array('showitem' => 'starttime, endtime')
-       )
+               '1' => array(
+                       'showitem' => 'starttime, endtime',
+               ),
+       ),
 );
index 654408d..e0c832f 100644 (file)
@@ -46,6 +46,8 @@ return array(
                )
        ),
        'types' => array(
-               '1' => array('showitem' => 'hidden,groupName;;1,description;;1')
-       )
+               '1' => array(
+                       'showitem' => 'hidden, groupName, description',
+               ),
+       ),
 );
\ No newline at end of file