IchHabRecht / mask_export

Export your mask elements as extension
GNU General Public License v2.0
45 stars 27 forks source link

Fields of foreign IRRE table missing in ext_tables.sql on export (0.3.2) #17

Closed christian-hellmuth closed 8 years ago

christian-hellmuth commented 8 years ago

Hey,

it seems that there's a bug when generating the export.

It occurs when there's at least two different content types. Each one of them has one IRRE field with each a different name but the underlying foreign tables share some fields with the same names, e.g. 'link' or 'image':

mask-profile_list_items mask-teaser_list_items

The export then generates all fields for that IRRE-table of one of those new content types but leaves those with the same names out for the other table:

CREATE TABLE tt_content (
    tx_mycustomelements_profile_list_items int(11) unsigned DEFAULT '0' NOT NULL,
    tx_mycustomelements_teaser_list_items int(11) unsigned DEFAULT '0' NOT NULL
);
CREATE TABLE tx_mycustomelements_profile_list_items (
    uid int(11) NOT NULL auto_increment,
    pid int(11) DEFAULT '0' NOT NULL,
    parentid int(11) DEFAULT '0' NOT NULL,
    parenttable varchar(255) DEFAULT '' NOT NULL,
    sorting int(11) unsigned DEFAULT '0' NOT NULL,
    t3ver_oid int(11) unsigned DEFAULT '0' NOT NULL,
    t3ver_id int(11) DEFAULT '0' NOT NULL,
    t3ver_wsid int(11) DEFAULT '0' NOT NULL,
    t3ver_label varchar(255) DEFAULT '' NOT NULL,
    t3ver_state tinyint(4) DEFAULT '0' NOT NULL,
    t3ver_stage int(11) DEFAULT '0' NOT NULL,
    t3ver_count int(11) DEFAULT '0' NOT NULL,
    t3ver_tstamp int(11) DEFAULT '0' NOT NULL,
    t3ver_move_id int(11) DEFAULT '0' NOT NULL,
    tstamp int(11) unsigned DEFAULT '0' NOT NULL,
    crdate int(11) unsigned DEFAULT '0' NOT NULL,
    cruser_id int(11) unsigned DEFAULT '0' NOT NULL,
    deleted tinyint(4) unsigned DEFAULT '0' NOT NULL,
    hidden tinyint(4) unsigned DEFAULT '0' NOT NULL,
    starttime tinyint(4) unsigned DEFAULT '0' NOT NULL,
    endtime tinyint(4) unsigned DEFAULT '0' NOT NULL,
    sys_language_uid int(11) DEFAULT '0' NOT NULL,
    l10n_parent int(11) unsigned DEFAULT '0' NOT NULL,
    l10n_diffsource mediumblob,
    tx_mycustomelements_name tinytext,
    tx_mycustomelements_description tinytext,
    tx_mycustomelements_link tinytext,
    tx_mycustomelements_image int(11) unsigned DEFAULT '0' NOT NULL,
    PRIMARY KEY (uid),
    KEY parent (pid),
    KEY t3ver_oid (t3ver_oid,t3ver_wsid),
    KEY language (l10n_parent,sys_language_uid)
);
CREATE TABLE tx_mycustomelements_teaser_list_items (
    uid int(11) NOT NULL auto_increment,
    pid int(11) DEFAULT '0' NOT NULL,
    parentid int(11) DEFAULT '0' NOT NULL,
    parenttable varchar(255) DEFAULT '' NOT NULL,
    sorting int(11) unsigned DEFAULT '0' NOT NULL,
    t3ver_oid int(11) unsigned DEFAULT '0' NOT NULL,
    t3ver_id int(11) DEFAULT '0' NOT NULL,
    t3ver_wsid int(11) DEFAULT '0' NOT NULL,
    t3ver_label varchar(255) DEFAULT '' NOT NULL,
    t3ver_state tinyint(4) DEFAULT '0' NOT NULL,
    t3ver_stage int(11) DEFAULT '0' NOT NULL,
    t3ver_count int(11) DEFAULT '0' NOT NULL,
    t3ver_tstamp int(11) DEFAULT '0' NOT NULL,
    t3ver_move_id int(11) DEFAULT '0' NOT NULL,
    tstamp int(11) unsigned DEFAULT '0' NOT NULL,
    crdate int(11) unsigned DEFAULT '0' NOT NULL,
    cruser_id int(11) unsigned DEFAULT '0' NOT NULL,
    deleted tinyint(4) unsigned DEFAULT '0' NOT NULL,
    hidden tinyint(4) unsigned DEFAULT '0' NOT NULL,
    starttime tinyint(4) unsigned DEFAULT '0' NOT NULL,
    endtime tinyint(4) unsigned DEFAULT '0' NOT NULL,
    sys_language_uid int(11) DEFAULT '0' NOT NULL,
    l10n_parent int(11) unsigned DEFAULT '0' NOT NULL,
    l10n_diffsource mediumblob,
    tx_mycustomelements_title tinytext,
    tx_mycustomelements_teaser text,
    tx_mycustomelements_linktext tinytext,
    PRIMARY KEY (uid),
    KEY parent (pid),
    KEY t3ver_oid (t3ver_oid,t3ver_wsid),
    KEY language (l10n_parent,sys_language_uid)
);

See, how the expected tx_mycustomelements_link field is missing from the CREATE TABLE block for the tx_mycustomelements_teaser_list_items table?

I'm using TYPO3 7.6.11, EXT:mask 2.1.1 and EXT:mask_export 0.3.2.

Thanks and regards, Chris

IchHabRecht commented 8 years ago

IMHO this is the same issue then #8 . Please see my comments in there. Of course you can always change the generated export to adjust your labels.

christian-hellmuth commented 8 years ago

Hey Nicole,

thanks for that quick reply.

The issue might be related to #8 (can't tell as I'm an integrator/fe developer) but to me it's clearly a bug. The export that I'm getting simply does not work as it's missing the mentioned database fields in the exported ext_tables.sql. Creating new teaser_list_items is throwing errors in the backend.

The TCA definitions for the table are exported perfectly:

Configuration/TCA/tx_mycustomelements_teaser_list_items.php

<?php
return array (
  'ctrl' => 
  array (
    'title' => 'LLL:EXT:my_custom_elements/Resources/Private/Language/locallang_db.xlf:tx_mycustomelements_teaser_list_items',
    'label' => 'tx_mycustomelements_title',
    'tstamp' => 'tstamp',
    'crdate' => 'crdate',
    'cruser_id' => 'cruser_id',
    'dividers2tabs' => true,
    'versioningWS' => 2,
    'versioning_followPages' => true,
    'languageField' => 'sys_language_uid',
    'transOrigPointerField' => 'l10n_parent',
    'transOrigDiffSourceField' => 'l10n_diffsource',
    'delete' => 'deleted',
    'enablecolumns' => 
    array (
      'disabled' => 'hidden',
      'starttime' => 'starttime',
      'endtime' => 'endtime',
    ),
    'searchFields' => 'tx_mycustomelements_title,tx_mycustomelements_teaser,tx_mycustomelements_link,tx_mycustomelements_linktext,tx_mycustomelements_image',
    'dynamicConfigFile' => '',
    'iconfile' => 'EXT:my_custom_elements/ext_icon.svg',
    'requestUpdate' => 'CType',
    'hideTable' => true,
  ),
  'interface' => 
  array (
    'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, tx_mycustomelements_title, tx_mycustomelements_teaser, tx_mycustomelements_link, tx_mycustomelements_linktext, tx_mycustomelements_image',
  ),
  'types' => 
  array (
    1 => 
    array (
      'showitem' => 'sys_language_uid;;;;1-1-1, l10n_parent, l10n_diffsource, hidden;;1, tx_mycustomelements_title, tx_mycustomelements_teaser, tx_mycustomelements_link, tx_mycustomelements_linktext, tx_mycustomelements_image, --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access, starttime, endtime',
    ),
  ),
  'palettes' => 
  array (
    1 => 
    array (
      'showitem' => '',
    ),
  ),
  'columns' => 
  array (
    'sys_language_uid' => 
    array (
      'exclude' => 1,
      'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
      'config' => 
      array (
        'type' => 'select',
        'renderType' => 'selectSingle',
        'foreign_table' => 'sys_language',
        'foreign_table_where' => 'ORDER BY sys_language.title',
        'items' => 
        array (
          0 => 
          array (
            0 => 'LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages',
            1 => -1,
          ),
          1 => 
          array (
            0 => 'LLL:EXT:lang/locallang_general.xlf:LGL.default_value',
            1 => 0,
          ),
        ),
      ),
    ),
    'l10n_parent' => 
    array (
      'displayCond' => 'FIELD:sys_language_uid:>:0',
      'exclude' => 1,
      'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
      'config' => 
      array (
        'type' => 'select',
        'renderType' => 'selectSingle',
        'items' => 
        array (
          0 => 
          array (
            0 => '',
            1 => 0,
          ),
        ),
        'foreign_table' => 'tx_mycustomelements_teaser_list_items',
        'foreign_table_where' => 'AND tx_mycustomelements_teaser_list_items.pid=###CURRENT_PID### AND tx_mycustomelements_teaser_list_items.sys_language_uid IN (-1,0)',
      ),
    ),
    'l10n_diffsource' => 
    array (
      'config' => 
      array (
        'type' => 'passthrough',
      ),
    ),
    't3ver_label' => 
    array (
      'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
      'config' => 
      array (
        'type' => 'input',
        'size' => 30,
        'max' => 255,
      ),
    ),
    'hidden' => 
    array (
      'exclude' => 1,
      'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
      'config' => 
      array (
        'type' => 'check',
      ),
    ),
    'starttime' => 
    array (
      'exclude' => 1,
      'l10n_mode' => 'mergeIfNotBlank',
      'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
      'config' => 
      array (
        'type' => 'input',
        'size' => 13,
        'max' => 20,
        'eval' => 'datetime',
        'checkbox' => 0,
        'default' => 0,
        'range' => 
        array (
          'lower' => 1473811200,
        ),
      ),
    ),
    'endtime' => 
    array (
      'exclude' => 1,
      'l10n_mode' => 'mergeIfNotBlank',
      'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
      'config' => 
      array (
        'type' => 'input',
        'size' => 13,
        'max' => 20,
        'eval' => 'datetime',
        'checkbox' => 0,
        'default' => 0,
        'range' => 
        array (
          'lower' => 1473811200,
        ),
      ),
    ),
    'parentid' => 
    array (
      'config' => 
      array (
        'type' => 'select',
        'renderType' => 'selectSingle',
        'items' => 
        array (
          0 => 
          array (
            0 => '',
            1 => 0,
          ),
        ),
        'foreign_table' => 'tt_content',
        'foreign_table_where' => 'AND tt_content.pid=###CURRENT_PID### AND tt_content.sys_language_uid IN (-1,###REC_FIELD_sys_language_uid###)',
      ),
    ),
    'parenttable' => 
    array (
      'config' => 
      array (
        'type' => 'passthrough',
      ),
    ),
    'sorting' => 
    array (
      'config' => 
      array (
        'type' => 'passthrough',
      ),
    ),
    'tx_mycustomelements_title' => 
    array (
      'config' => 
      array (
        'type' => 'input',
        'eval' => 'required',
      ),
      'exclude' => '1',
      'label' => 'LLL:EXT:my_custom_elements/Resources/Private/Language/locallang_db.xlf:tx_mycustomelements_teaser_list_items.tx_mycustomelements_title',
    ),
    'tx_mycustomelements_teaser' => 
    array (
      'config' => 
      array (
        'type' => 'text',
        'eval' => 'required',
        'cols' => '48',
        'rows' => '10',
        'max' => '400',
      ),
      'exclude' => '1',
      'defaultExtras' => 'richtext[]:rte_transform[mode=ts_css]',
      'label' => 'LLL:EXT:my_custom_elements/Resources/Private/Language/locallang_db.xlf:tx_mycustomelements_teaser_list_items.tx_mycustomelements_teaser',
    ),
    'tx_mycustomelements_link' => 
    array (
      'config' => 
      array (
        'type' => 'input',
        'wizards' => 
        array (
          '_PADDING' => '2',
          'link' => 
          array (
            'type' => 'popup',
            'title' => 'Link',
            'icon' => 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_link.gif',
            'module' => 
            array (
              'name' => 'wizard_link',
              'urlParameters' => 
              array (
                'mode' => 'wizard',
              ),
            ),
            'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1',
          ),
        ),
        'eval' => 'required',
      ),
      'exclude' => '1',
      'label' => 'LLL:EXT:my_custom_elements/Resources/Private/Language/locallang_db.xlf:tx_mycustomelements_teaser_list_items.tx_mycustomelements_link',
    ),
    'tx_mycustomelements_linktext' => 
    array (
      'config' => 
      array (
        'type' => 'input',
        'placeholder' => 'z.B. Mehr über XYZ erfahren',
      ),
      'exclude' => '1',
      'label' => 'LLL:EXT:my_custom_elements/Resources/Private/Language/locallang_db.xlf:tx_mycustomelements_teaser_list_items.tx_mycustomelements_linktext',
    ),
    'tx_mycustomelements_image' => 
    array (
      'config' => 
      array (
        'type' => 'inline',
        'foreign_table' => 'sys_file_reference',
        'foreign_field' => 'uid_foreign',
        'foreign_sortby' => 'sorting_foreign',
        'foreign_table_field' => 'tablenames',
        'foreign_match_fields' => 
        array (
          'fieldname' => 'tx_mycustomelements_image',
        ),
        'foreign_label' => 'uid_local',
        'foreign_selector' => 'uid_local',
        'foreign_selector_fieldTcaOverride' => 
        array (
          'config' => 
          array (
            'appearance' => 
            array (
              'elementBrowserType' => 'file',
              'elementBrowserAllowed' => 'png, jpg',
            ),
          ),
        ),
        'filter' => 
        array (
          0 => 
          array (
            'userFunc' => 'TYPO3\\CMS\\Core\\Resource\\Filter\\FileExtensionFilter->filterInlineChildren',
            'parameters' => 
            array (
              'allowedFileExtensions' => 'png, jpg',
            ),
          ),
        ),
        'appearance' => 
        array (
          'headerThumbnail' => 
          array (
            'field' => 'uid_local',
            'width' => '45',
            'height' => '45c',
          ),
          'showPossibleLocalizationRecords' => '1',
          'showRemovedLocalizationRecords' => '1',
          'showSynchronizationLink' => '1',
          'showAllLocalizationLink' => '1',
          'enabledControls' => 
          array (
            'info' => 'tx_mycustomelements_image',
            'dragdrop' => 'tx_mycustomelements_image',
            'hide' => 'tx_mycustomelements_image',
            'delete' => 'tx_mycustomelements_image',
            'localize' => 'tx_mycustomelements_image',
          ),
          'fileUploadAllowed' => 'false',
        ),
        'behaviour' => 
        array (
          'localizationMode' => 'select',
          'localizeChildrenAtParentLocalization' => '1',
        ),
        'foreign_types' => 
        array (
          0 => 
          array (
            'showitem' => '--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, --palette--;;filePalette',
          ),
          1 => 
          array (
            'showitem' => '--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, --palette--;;filePalette',
          ),
          2 => 
          array (
            'showitem' => '--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, --palette--;;filePalette',
          ),
          3 => 
          array (
            'showitem' => '--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, --palette--;;filePalette',
          ),
          4 => 
          array (
            'showitem' => '--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, --palette--;;filePalette',
          ),
          5 => 
          array (
            'showitem' => '--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, --palette--;;filePalette',
          ),
        ),
        'maxitems' => '1',
      ),
      'exclude' => '1',
      'label' => 'LLL:EXT:my_custom_elements/Resources/Private/Language/locallang_db.xlf:tx_mycustomelements_teaser_list_items.tx_mycustomelements_image',
    ),
  ),
);
IchHabRecht commented 8 years ago

Hi,

sorry missed the part of the sql-error completely :-/ Would you mind to attach (or send me) the mask.json so I can have a look?

christian-hellmuth commented 8 years ago

Hey,

no problem. :)

This is my mask.json:

{
    "tt_content": {
        "elements": {
            "audience_menu": {
                "label": "Zielgruppen-Men\u00fc",
                "key": "audience_menu",
                "shortLabel": "",
                "description": "",
                "icon": "fa-th-list",
                "color": "#000000",
                "columns": [
                    "tx_mask_audience_menu_links"
                ],
                "labels": [
                    "Links"
                ]
            },
            "profile_list": {
                "label": "Profil-Liste",
                "key": "profile_list",
                "shortLabel": "",
                "description": "z.B. f\u00fcr Team-\u00dcbersicht",
                "icon": "fa-group",
                "color": "#000000",
                "columns": [
                    "header",
                    "header_layout",
                    "tx_mask_profile_list_items"
                ],
                "labels": [
                    "\u00dcberschrift",
                    "Typ der \u00dcberschrift",
                    "Profile"
                ]
            },
            "stage_slider": {
                "label": "Stage-Slider",
                "key": "stage_slider",
                "shortLabel": "",
                "description": "",
                "icon": "fa-image",
                "color": "#000000",
                "columns": [
                    "header",
                    "tx_mask_stage_slider_slides"
                ],
                "labels": [
                    "Bezeichnung im Backend",
                    "Slides"
                ]
            },
            "teaser_list": {
                "label": "Teaser-Liste",
                "key": "teaser_list",
                "shortLabel": "",
                "description": "z.B. Markenauftritte",
                "icon": "fa-list",
                "color": "#000000",
                "columns": [
                    "header",
                    "layout",
                    "tx_mask_teaser_list_items"
                ],
                "labels": [
                    "\u00dcberschrift",
                    "Typ der \u00dcberschrift",
                    "Teaser"
                ],
                "options": {
                    "4": "rte"
                }
            }
        },
        "sql": {
            "tx_mask_audience_menu_links": {
                "tt_content": {
                    "tx_mask_audience_menu_links": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            },
            "tx_mask_stage_slider_slides": {
                "tt_content": {
                    "tx_mask_stage_slider_slides": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            },
            "tx_mask_profile_list_items": {
                "tt_content": {
                    "tx_mask_profile_list_items": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            },
            "tx_mask_teaser_list_items": {
                "tt_content": {
                    "tx_mask_teaser_list_items": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            }
        },
        "tca": {
            "tx_mask_audience_menu_links": {
                "config": {
                    "type": "inline",
                    "foreign_table": "--inlinetable--",
                    "foreign_field": "parentid",
                    "foreign_table_field": "parenttable",
                    "foreign_sortby": "sorting",
                    "appearance": {
                        "enabledControls": {
                            "dragdrop": "1"
                        },
                        "collapseAll": "1",
                        "newRecordLinkTitle": "",
                        "levelLinksPosition": "both",
                        "useSortable": "1",
                        "showSynchronizationLink": "1",
                        "showPossibleLocalizationRecords": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "minitems": "",
                    "maxitems": "4",
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    }
                },
                "exclude": "1",
                "inlineLabel": "tx_mask_audience_menu_linktitle",
                "inlineIcon": "",
                "key": "audience_menu_links"
            },
            "tx_mask_stage_slider_slides": {
                "config": {
                    "type": "inline",
                    "foreign_table": "--inlinetable--",
                    "foreign_field": "parentid",
                    "foreign_table_field": "parenttable",
                    "foreign_sortby": "sorting",
                    "appearance": {
                        "enabledControls": {
                            "dragdrop": "1"
                        },
                        "expandSingle": "1",
                        "newRecordLinkTitle": "",
                        "levelLinksPosition": "top",
                        "useSortable": "1",
                        "showSynchronizationLink": "1",
                        "showPossibleLocalizationRecords": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "minitems": "",
                    "maxitems": "5",
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    }
                },
                "exclude": "1",
                "inlineLabel": "",
                "inlineIcon": "",
                "key": "stage_slider_slides"
            },
            "tx_mask_profile_list_items": {
                "config": {
                    "type": "inline",
                    "foreign_table": "--inlinetable--",
                    "foreign_field": "parentid",
                    "foreign_table_field": "parenttable",
                    "foreign_sortby": "sorting",
                    "appearance": {
                        "enabledControls": {
                            "dragdrop": "1"
                        },
                        "newRecordLinkTitle": "",
                        "levelLinksPosition": "both",
                        "useSortable": "1",
                        "showSynchronizationLink": "1",
                        "showPossibleLocalizationRecords": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "minitems": "",
                    "maxitems": "",
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    }
                },
                "exclude": "1",
                "inlineLabel": "",
                "inlineIcon": "",
                "key": "profile_list_items"
            },
            "tx_mask_teaser_list_items": {
                "config": {
                    "type": "inline",
                    "foreign_table": "--inlinetable--",
                    "foreign_field": "parentid",
                    "foreign_table_field": "parenttable",
                    "foreign_sortby": "sorting",
                    "appearance": {
                        "enabledControls": {
                            "dragdrop": "1"
                        },
                        "newRecordLinkTitle": "",
                        "levelLinksPosition": "both",
                        "useSortable": "1",
                        "showSynchronizationLink": "1",
                        "showPossibleLocalizationRecords": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "minitems": "",
                    "maxitems": "",
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    }
                },
                "exclude": "1",
                "inlineLabel": "",
                "inlineIcon": "",
                "key": "teaser_list_items"
            }
        }
    },
    "sys_file_reference": {
        "sql": {
            "tx_mask_image": {
                "sys_file_reference": {
                    "tx_mask_image": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            },
            "tx_mask_audience_menu_image": {
                "sys_file_reference": {
                    "tx_mask_audience_menu_image": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            },
            "tx_mask_stage_slider_image": {
                "sys_file_reference": {
                    "tx_mask_stage_slider_image": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            },
            "tx_mask_stage_slider_image_small": {
                "sys_file_reference": {
                    "tx_mask_stage_slider_image_small": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            }
        }
    },
    "tx_mask_audience_menu_links": {
        "sql": {
            "tx_mask_audience_menu_linktitle": {
                "tx_mask_audience_menu_links": {
                    "tx_mask_audience_menu_linktitle": "tinytext"
                }
            },
            "tx_mask_audience_menu_link": {
                "tx_mask_audience_menu_links": {
                    "tx_mask_audience_menu_link": "tinytext"
                }
            },
            "tx_mask_audience_menu_image": {
                "tx_mask_audience_menu_links": {
                    "tx_mask_audience_menu_image": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            }
        },
        "tca": {
            "tx_mask_audience_menu_linktitle": {
                "config": {
                    "type": "input",
                    "eval": "required",
                    "default": "",
                    "placeholder": "",
                    "size": "",
                    "max": "30",
                    "is_in": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_audience_menu_links",
                "label": "Titel",
                "key": "audience_menu_linktitle"
            },
            "tx_mask_audience_menu_link": {
                "config": {
                    "type": "input",
                    "wizards": {
                        "_PADDING": "2",
                        "link": {
                            "type": "popup",
                            "title": "Link",
                            "icon": "EXT:backend\/Resources\/Public\/Images\/FormFieldWizard\/wizard_link.gif",
                            "module": {
                                "name": "wizard_link",
                                "urlParameters": {
                                    "mode": "wizard"
                                }
                            },
                            "JSopenParams": "height=300,width=500,status=0,menubar=0,scrollbars=1",
                            "params": {
                                "blindLinkOptions": "file,mail,folder",
                                "allowedExtensions": ""
                            }
                        }
                    },
                    "eval": "required",
                    "default": "",
                    "placeholder": "",
                    "size": "",
                    "autocomplete": "1"
                },
                "exclude": "1",
                "inlineParent": "tx_mask_audience_menu_links",
                "label": "Link\/URL",
                "key": "audience_menu_link"
            },
            "tx_mask_audience_menu_image": {
                "exclude": "1",
                "options": "file",
                "config": {
                    "appearance": {
                        "useSortable": "1",
                        "showSynchronizationLink": "1",
                        "showPossibleLocalizationRecords": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    },
                    "minitems": "",
                    "maxitems": "1",
                    "filter": [
                        {
                            "parameters": {
                                "allowedFileExtensions": ""
                            }
                        }
                    ]
                },
                "inlineParent": "tx_mask_audience_menu_links",
                "label": "Bild",
                "key": "audience_menu_image"
            }
        }
    },
    "tx_mask_stage_slider_slides": {
        "sql": {
            "tx_mask_stage_slider_headline": {
                "tx_mask_stage_slider_slides": {
                    "tx_mask_stage_slider_headline": "tinytext"
                }
            },
            "tx_mask_stage_slider_teaser": {
                "tx_mask_stage_slider_slides": {
                    "tx_mask_stage_slider_teaser": "text"
                }
            },
            "tx_mask_stage_slider_image": {
                "tx_mask_stage_slider_slides": {
                    "tx_mask_stage_slider_image": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            },
            "tx_mask_stage_slider_link": {
                "tx_mask_stage_slider_slides": {
                    "tx_mask_stage_slider_link": "tinytext"
                }
            },
            "tx_mask_stage_slider_image_small": {
                "tx_mask_stage_slider_slides": {
                    "tx_mask_stage_slider_image_small": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            }
        },
        "tca": {
            "tx_mask_stage_slider_headline": {
                "config": {
                    "type": "input",
                    "eval": "required",
                    "default": "",
                    "placeholder": "",
                    "size": "",
                    "max": "100",
                    "is_in": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_stage_slider_slides",
                "label": "\u00dcberschrift",
                "key": "stage_slider_headline"
            },
            "tx_mask_stage_slider_teaser": {
                "config": {
                    "type": "text",
                    "eval": "",
                    "cols": "48",
                    "rows": "5",
                    "default": "",
                    "placeholder": "",
                    "max": "",
                    "format": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_stage_slider_slides",
                "label": "Kurztext (Teaser)",
                "key": "stage_slider_teaser"
            },
            "tx_mask_stage_slider_image": {
                "exclude": "1",
                "options": "file",
                "config": {
                    "appearance": {
                        "showSynchronizationLink": "1",
                        "showPossibleLocalizationRecords": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    },
                    "minitems": "1",
                    "maxitems": "1",
                    "filter": [
                        {
                            "parameters": {
                                "allowedFileExtensions": "jpg"
                            }
                        }
                    ]
                },
                "inlineParent": "tx_mask_stage_slider_slides",
                "label": "Stage-Bild (gro\u00df)",
                "key": "stage_slider_image"
            },
            "tx_mask_stage_slider_link": {
                "config": {
                    "type": "input",
                    "wizards": {
                        "_PADDING": "2",
                        "link": {
                            "type": "popup",
                            "title": "Link",
                            "icon": "EXT:backend\/Resources\/Public\/Images\/FormFieldWizard\/wizard_link.gif",
                            "module": {
                                "name": "wizard_link",
                                "urlParameters": {
                                    "mode": "wizard"
                                }
                            },
                            "JSopenParams": "height=300,width=500,status=0,menubar=0,scrollbars=1",
                            "params": {
                                "blindLinkOptions": "file,mail,folder",
                                "allowedExtensions": ""
                            }
                        }
                    },
                    "eval": "",
                    "default": "",
                    "placeholder": "",
                    "size": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_stage_slider_slides",
                "label": "Link \/ URL",
                "key": "stage_slider_link"
            },
            "tx_mask_stage_slider_image_small": {
                "exclude": "1",
                "options": "file",
                "config": {
                    "appearance": {
                        "showSynchronizationLink": "1",
                        "showPossibleLocalizationRecords": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    },
                    "minitems": "",
                    "maxitems": "1",
                    "filter": [
                        {
                            "parameters": {
                                "allowedFileExtensions": "jpg,png"
                            }
                        }
                    ]
                },
                "inlineParent": "tx_mask_stage_slider_slides",
                "label": "Kleines Bild (unter Kurztext)",
                "key": "stage_slider_image_small"
            }
        }
    },
    "tx_mask_profile_list_items": {
        "sql": {
            "tx_mask_name": {
                "tx_mask_profile_list_items": {
                    "tx_mask_name": "tinytext"
                }
            },
            "tx_mask_description": {
                "tx_mask_profile_list_items": {
                    "tx_mask_description": "tinytext"
                }
            },
            "tx_mask_link": {
                "tx_mask_profile_list_items": {
                    "tx_mask_link": "tinytext"
                }
            },
            "tx_mask_image": {
                "tx_mask_profile_list_items": {
                    "tx_mask_image": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            }
        },
        "tca": {
            "tx_mask_name": {
                "config": {
                    "type": "input",
                    "eval": "required",
                    "default": "",
                    "placeholder": "",
                    "size": "",
                    "max": "",
                    "is_in": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_profile_list_items",
                "label": "Name",
                "key": "name"
            },
            "tx_mask_description": {
                "config": {
                    "type": "input",
                    "eval": "",
                    "default": "",
                    "placeholder": "",
                    "size": "",
                    "max": "",
                    "is_in": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_profile_list_items",
                "label": "Beschreibung \/ Position im Unternehmen",
                "key": "description"
            },
            "tx_mask_link": {
                "config": {
                    "type": "input",
                    "wizards": {
                        "_PADDING": "2",
                        "link": {
                            "type": "popup",
                            "title": "Link",
                            "icon": "EXT:backend\/Resources\/Public\/Images\/FormFieldWizard\/wizard_link.gif",
                            "module": {
                                "name": "wizard_link",
                                "urlParameters": {
                                    "mode": "wizard"
                                }
                            },
                            "JSopenParams": "height=300,width=500,status=0,menubar=0,scrollbars=1",
                            "params": {
                                "blindLinkOptions": "file,folder",
                                "allowedExtensions": ""
                            }
                        }
                    },
                    "eval": "",
                    "default": "",
                    "placeholder": "",
                    "size": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_profile_list_items",
                "label": "Link \/ E-Mail-Adresse",
                "key": "link"
            },
            "tx_mask_image": {
                "exclude": "1",
                "options": "file",
                "config": {
                    "appearance": {
                        "showSynchronizationLink": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    },
                    "minitems": "1",
                    "maxitems": "1",
                    "filter": [
                        {
                            "parameters": {
                                "allowedFileExtensions": "jpg"
                            }
                        }
                    ]
                },
                "inlineParent": "tx_mask_profile_list_items",
                "label": "Foto",
                "key": "image"
            }
        }
    },
    "tx_mask_teaser_list_items": {
        "sql": {
            "tx_mask_title": {
                "tx_mask_teaser_list_items": {
                    "tx_mask_title": "tinytext"
                }
            },
            "tx_mask_teaser": {
                "tx_mask_teaser_list_items": {
                    "tx_mask_teaser": "text"
                }
            },
            "tx_mask_link": {
                "tx_mask_teaser_list_items": {
                    "tx_mask_link": "tinytext"
                }
            },
            "tx_mask_linktext": {
                "tx_mask_teaser_list_items": {
                    "tx_mask_linktext": "tinytext"
                }
            },
            "tx_mask_image": {
                "tx_mask_teaser_list_items": {
                    "tx_mask_image": "int(11) unsigned DEFAULT '0' NOT NULL"
                }
            }
        },
        "tca": {
            "tx_mask_title": {
                "config": {
                    "type": "input",
                    "eval": "required",
                    "default": "",
                    "placeholder": "",
                    "size": "",
                    "max": "",
                    "is_in": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_teaser_list_items",
                "label": "Titel \/ \u00dcberschrift",
                "key": "title"
            },
            "tx_mask_teaser": {
                "config": {
                    "type": "text",
                    "eval": "required",
                    "cols": "48",
                    "rows": "10",
                    "default": "",
                    "placeholder": "",
                    "max": "400"
                },
                "exclude": "1",
                "defaultExtras": "richtext[]:rte_transform[mode=ts_css]",
                "inlineParent": "tx_mask_teaser_list_items",
                "label": "Kurztext (Teaser)",
                "rte": "1",
                "key": "teaser"
            },
            "tx_mask_link": {
                "config": {
                    "type": "input",
                    "wizards": {
                        "_PADDING": "2",
                        "link": {
                            "type": "popup",
                            "title": "Link",
                            "icon": "EXT:backend\/Resources\/Public\/Images\/FormFieldWizard\/wizard_link.gif",
                            "module": {
                                "name": "wizard_link",
                                "urlParameters": {
                                    "mode": "wizard"
                                }
                            },
                            "JSopenParams": "height=300,width=500,status=0,menubar=0,scrollbars=1",
                            "params": {
                                "blindLinkOptions": "",
                                "allowedExtensions": ""
                            }
                        }
                    },
                    "eval": "required",
                    "default": "",
                    "placeholder": "",
                    "size": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_teaser_list_items",
                "label": "Link \/ URL",
                "key": "link"
            },
            "tx_mask_linktext": {
                "config": {
                    "type": "input",
                    "eval": "",
                    "default": "",
                    "placeholder": "z.B. Mehr \u00fcber XYZ erfahren",
                    "size": "",
                    "max": "",
                    "is_in": ""
                },
                "exclude": "1",
                "inlineParent": "tx_mask_teaser_list_items",
                "label": "Linktext",
                "key": "linktext"
            },
            "tx_mask_image": {
                "exclude": "1",
                "options": "file",
                "config": {
                    "appearance": {
                        "showSynchronizationLink": "1",
                        "showPossibleLocalizationRecords": "1",
                        "showAllLocalizationLink": "1",
                        "showRemovedLocalizationRecords": "1"
                    },
                    "behaviour": {
                        "localizationMode": "select",
                        "localizeChildrenAtParentLocalization": "1"
                    },
                    "minitems": "",
                    "maxitems": "1",
                    "filter": [
                        {
                            "parameters": {
                                "allowedFileExtensions": "png, jpg"
                            }
                        }
                    ]
                },
                "inlineParent": "tx_mask_teaser_list_items",
                "label": "Vorschaubild",
                "key": "image"
            }
        }
    }
}
IchHabRecht commented 8 years ago

Thanks, I'll have a short look

IchHabRecht commented 8 years ago

Would you mind to test the branch https://github.com/CPS-IT/TYPO3-mask_export/tree/prefer-current-table-sql-definition ? I'll do some testing as well.

christian-hellmuth commented 8 years ago

Sure! Just done that and it worked for me. All fields were created and I did not encounter any errors when adding new teaser_items in the backend.

Thanks.