[Neos] FYI: Renaming / restructuring Node Types

Sebastian Kurfürst sebastian at typo3.org
Thu May 23 14:35:53 CEST 2013

Hey everybody,

as you might have seen, Karsten is currently working on the TypoScript /
Node Type cleanup to implement the naming we decided at the last code
sprint [1]. Furthermore I am currently writing the TS Reference section
of the manual [2] -- so we sat together and tried to finally untangle
the mess between definitions of node types / TypoScript in
TYPO3.TypoScript, TYPO3.Neos, TYPO3.Neos.NodeTypes.

We came up with the following guidelines (also in the manual), and
Karsten is currently refactoring towards that goal.

There will be code and node migrations to ease the pain of upgrading;
but we think it's really important to finally get that sorted out -- so
that Neos does NOT depend at all on Neos.NodeTypes, and you can actually
uninstall it without breakin anything.


Here are the guidelines:

> TYPO3.TypoScript
> ================
> This package contains general-purpose TypoScript Objects, which are
> usable both within
> Neos and standalone. Often, these TypoScript objects are subclassed
> and enhanced
> by TYPO3.Neos, to provide tailored CMS functionality.
Example: Case, Collection, Template

> TYPO3.Neos TypoScript Objects
> =============================
> The TypoScript objects defined in TYPO3 Neos contain all TypoScript
> objects which
> are needed to integrate a simple site. Often, it contains generic
> TypoScript objects
> which do not need a particular node type to work on.
> As TYPO3.Neos is the default namespace, the TypoScript objects do not
> need to be
> prefixed with TYPO3.Neos.
Example: Template (specialized to nodes), Page, ContentCollection,
PrimaryContentCollection, Plugin, Menu, Breadcrumb

> TYPO3.Neos.NodeTypes
> ====================
> The TYPO3.Neos.NodeTypes package contains most node types inheriting
> from *content*,
> like Text, HTML, Image, TextWithImage, TwoColumn. It contains the
> TYPO3CR Node Type
> Definition and the corresponding TypoScript objects.
> If wanted, this package could be removed to completely start from
> scratch with custom
> node types.
> .. note:: A few node types like Plugin or ContentCollection are not
> defined inside
>     this package, but inside TYPO3.Neos. This is because these are
> *core types*:
>     Neos itself depends on them at various places in the code, and
> Neos would not
>     be of much use if any of these types was removed. That's why
> Plugin (a generic
>     extension point towards custom code) and ContentCollection (a
> generic list of
>     content) is implemented inside Neos.
Example: HTML, Text, Image, ...

[1] https://review.typo3.org/#/q/topic:typoscript-cleanup,n,z
[2] https://review.typo3.org/#/c/20999/

More information about the Neos mailing list