Task #51927

Node type structure

Added by Aske Ertmann almost 2 years ago. Updated almost 2 years ago.

Status:Accepted Start date:2013-09-11
Priority:Must have Due date:
Assigned To:- % Done:

0%

Category:Content Repository Spent time: -
Target version:1.0 beta 1

Description

Currently the node structure is created during runtime depending on the TypoScript rendering, this has several drawbacks and to fix this there's a need for a specified structure as part of the node type configuration. There is already a simple concept for this called childNodes used for the content node types, but this should be improved and streamlined for all node types.

Proposal: Add a structure configuration to node types defining the substructure of the node type. This includes different paths with configuration for the type of child node along with other things like allowed child node types, disallowed child node types, maximum child nodes and default child nodes. Additionally there should be added allowed child node types and disallowed child node types options for the whole node type to limit creation of immediate children for certain node types. The creation of collections during runtime should be removed to ensure the content repository handles it on creation/modification instead.

For Neos 1.0 we need the structure as well as the type and maybe the possibility to set some overriding properties for these. Rest is nice to have.

‘Acme.Blog:Post':
  superTypes: ['TYPO3.Neos:Page']
  allowedChildNodeTypes: [‘TYPO3.Neos.NodeTypes:Content’]
  disallowedChildNodeTypes: [ ‘TYPO3.Neos:Document’ ]
  properties: []
  structure:
      teaser:
        type: ‘Acme.Blog:Teaser’
        properties:
          title: ‘Overwrite default title’
      main:
        type: collection
        allowedChildNodeTypes: [‘TYPO3.Neos.NodeTypes:Content’]
        disallowedChildNodeTypes: [‘Acme.Blog:Post’, ‘Acme.Blog:Comment’]
        maximumChildNodes: 5
        defaultChildNodes:
           -
              type: ‘TYPO3.Neos.NodeTypes:Text’
              properties:
                 text: ‘Some cool text here’
      comments:
        type: collection
        allowedChildNodeTypes: [‘Acme.Blog:Comment’]

Related issues

related to Base Distribution - Task #52020: clean up Node Structure between TYPO3 Neos and TYPO3.Neos... Accepted 2013-09-16

Also available in: Atom PDF