Task #51927
Node type structure
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