1.0.0-alpha7 (2013-10-30)

TYPO3 Neos Alpha 7 contains a number of improvements and fixes we considered important enough to release another alpha.

This the the last last alpha release of TYPO3 Neos 1.0, the next release will be a beta.

Main highlights are:

  • Support for internal links. Neos now has support for creating internal links, including auto-completion when adding a link.
  • Wireframe Mode improvements. It is now better readable and less prone to conflicts with special elements.
  • Demo site improvements, the site is in a much better state than fpr alpha 6.
  • Stability improvements, like the ability to install Neos in a subfolder, duplicated ghost icons, styling fixes, …
  • Cleanup of code, UI, default TypoScript files and documentation.

Full list of breaking changes

Two changes are considered breaking.


  • Cleanup: requirejs is moved to the library folder (https://review.typo3.org/24621)

    Only breaking if you’ve overriden the NeosBackendHeaderData template (before alpha6 this template was named PageHead).

  • Settings.yaml is restructured to be more extensible (https://review.typo3.org/24615)

    The change is breaking as the TYPO3.Neos.loadMinifiedJavascript setting has changed. This change will have to be adopted by all developers working on the Neos user interface.

  • Graceful degradation of content elements (https://review.typo3.org/24239)

    Considered breaking because a setting (handleRenderingException) has been replaced with a new, more flexible setting:

          exceptionHandler: 'TYPO3\\TypoScript\\Core\\ExceptionHandlers\\XmlCommentHandler'

Detailed change log

Base Distribution

[TASK] Remove composer.lock for master


[BUGFIX] Graceful degradation of broken content elements

If content elements cannot be rendered for some reason, an error message is displayed instead of the actual content. The broken elements can still be (un)hidden, copy-pasted, … and even published.

Some errors are not yet covered yet, like not existing Node-Types. In this case the error message is displayed without the option to hide, remove, cut or copy the broken element. There is already a request for this Feature #52511.

The css-styles of the Neos backend do not apply to published, broken content elements, but can be customized.

The TypoScript object type TYPO3.Neos:Template declares the @exceptionHandler property to handle rendering exceptions with a special handler that wraps nodes with the content element wrapping services.

[TASK] Update PluginView documentation in Integrator Guide

During the review of the flexible plugin integration we change the YAML configuration. This patch update the integrator guide to use the correct syntax.

[TASK] Find closest document node in TypoScriptView

[BUGFIX] Fix font-family for wireframe mode

[BUGFIX] Neos does not work correctly if not installed in docroot

If Neos is hosted in a subfolder of the document root the integrator has to set the the RewriteBase to /subfolder/Web/. If this is done the rewrite to /@user-<username>.html redirects to the wrong page.

Besides that the menu points to the wrong location for the content module, and the full backend interface is not loaded if the site is put in a subfolder ‘neos’ because then the isBackendModule() check fails.

[BUGFIX] Duplicated ghost icons are shown when including Bootstrap

To prevent duplicated ghost icons in the neos user interface when using Bootstrap or font-awesome, we need to make sure they’re not shown.

[FEATURE] Wireframe mode switched to typeplate, improved readability

[TASK] Remove unused antiscroll library

[BUGFIX] Remove unused use in NodeController

In the NodeController class the TYPO3\Flow\Utility\Arrays are included but not used. This commit removes that use declaration.

[BUGFIX] Fix hover issues on package module buttons

[BUGFIX] Fixes rendering of Shortcut in the Backend

[TASK] Make inspector discard button wider

This is done to show the whole label of the button.

[TASK] Update labels in TYPO3.Neos

This is the labels change update from Mathias Schreiber and Jacob Floyd.

[TASK] Rename remaining neos-btn-* classes to neos-button-*

This commit removes all refrences to neos-btn* class and replaces it with neos-button* instead. * Related: #49856

[FEATURE] Closest FlowQuery operation

Introduce a closest FlowQuery operation capable of finding the nearest node, including itself, of a certain node type for each node in the FlowQuery context.

[BUGFIX] PluginView broken due to missing TypoScript

The prototype for PluginView is not include in DefaultTypoScript.ts2

[BUGFIX] fix choosing format styles

  • added h1, … to the list of allowed tags
  • the chosen list for triggering a change has been modified from “liszt:change” to “chosen:updated.chosen”. This makes sure the selector updates when choosing a different style.
  • Commit: cca6533

[BUGFIX] The 404 error page is rendered outside viewport

The 404 page is styled incorrectly and because of this not displayed inside the screen, but only partly visible in the top right corner of the screen.

This change cleans up the dependencies of the error screen on bootstrap and minifies the CSS used. Besides that it adds responsive styling for the error page to display it in the center of the page again.

[TASK] Streamline button styling

This commit removes all refrences to neos-btn class and replaces it with neos-button instead.


Base of a (currently readonly) REST API for the TYPO3CR

Split apart from Id5194cc45fb4a2efa812f0757886f162898c6cf9

[TASK] render the Integrators Cookbook

[TASK] Add “Select Page Layout” documentation

This commit adds a “Select Page Layout” documentation part to the Integrator Cookbook.

[TASK] Update positions of the default TypoScript

Updates @position properties of some array items to be more specific.

[TASK] Documentation update

The processor documentation was confusing as the property name used was value, which is the same string as used for the value to be wrapped.

Credits to Henjo Hoeksma for finding

[!!!][TASK] Restructure TYPO3.Neos Settings.yaml structure

This restructures the Settings.yaml to be more extensible. The change is marked breaking as the TYPO3.Neos.loadMinifiedJavascript setting has changed. This change will have to be adopted by all developers working on the Neos user interface.

[BUGFIX] Setup wizard has incorrect styling

The setup wizard does not include the prefixed Neos css but plain bootstrap. For this reason we should not prefix the classes used.

[!!!][TASK] Move requirejs and plugin to Library folder

The requirejs library was still in the wrong folder. This change moves the file to the Library folder but is breaking for people who have overridden the Neos templates like PageHead.html

[BUGFIX] Tab index in inspector is broken

When the userinterface has focus in the inspector for example, and the user moves to another field by pressing tab the content element selection in the website body is changed and the focus moves to the first inlineeditable and is as such moving the focus to a for the user unexpected location.

This change keeps track if the focus is within the #neos-application or not, and if so the node selection change is ignored.

[TASK] Avoid empty ActionName in PluginImplementation

Else, the system later fails with the message: “The action name must not be an empty string.”

[TASK] Refactor TypoScript syntax

Use shorter syntax where possible.

[BUGFIX] Make nodePath property configurable on PrimaryContent object

The PrimaryContent prototype is not easily usable after the refactoring from PrimaryContentCollection.

This change allows to configure the nodePath on the PrimaryContent object which will be used on the default ContentCollection to render the correct nodes.

The rendering functional test is updated to include testing of the PrimaryContent object.

[TASK] Refactor default TypoScript to separate files

Split default TypoScript to separate files and update the functional test fixture to use the default TypoScript instead of re-declaring everything.

[TASK] Yaml cleanup

This change removes the yaml configuration that was cleaned up in I61212ebc08b4824f6e8be7a1b6a60207fc98e40b. Moved to a separate change as it’s not related to that change.


[FEATURE] Convert “node://” URIs in Text and Headline TS objects

converts node URIs to proper URIs by applying the ConvertNodeUris processor to Text & Headline text properties.

  • Depends: Ib7c8c6cc7bc53d0f1f7e21b5930cba2c97ea3475
  • Related: #48366
  • Commit: 91cdf09


No changes


[!!!][BUGFIX] NodeConverter should work with the node identifier

This adjusts the NodeConverter so that it expects a NodeData identifier instead of the “Persistence_Object_Identifier” when dealing with UUIDs.

This is a breaking change if the NodeConverter is expected to convert a UUID returned by the PersistenceManager to a Node instance.

[FEATURE] NodeConverter can convert UUIDs

This extends the NodeConverter so that it can convert node identifier in addition to node context paths.

If a valid UUID is passed to the NodeConverter it is expected to be the technical identifier of a Node. Because the context is lost in this case a UUID always returns a Node of the live workspace! * Commit: bee5b3d

[TASK] Introduce signals for node publising

This adds two signals beforeNodePublishing and afterNodePublishing to the Workspace class. Those signals are triggered whenever a node is being published to a different workspace (usually the “live” workspace).

Besides this adjusts Workspace::publish() so that it actually works with NodeInterface rather than with NodeData instances.


[!!!][BUGFIX] Graceful degradation of broken content elements

If content elements cannot be rendered for some reason, an error message is displayed instead of the actual content. The broken elements can still be (un)hidden, copy-pasted, … and even published.

The css-styles of the Neos backend do not apply to published, broken content elements, but can be customized.

Configuration of TypoScript-Runtime changed to:

      exceptionHandler: 'TYPO3\\TypoScript\\Core\\ExceptionHandlers\\XmlCommentHandler'

A valid configuration is any fully qualified type extending TYPO3\TypoScript\Core\ExceptionHandlers\AbstractRenderingExceptionHandler.

This fix spreads over multiple packages:

[BUGFIX] Support debug mode for CaseImplementation

The Case object did not match result correctly in debug mode, since the rendered output of a matcher is annotated with debug comments and does not equal the MATCH_NORESULT constant.

This change strips these comments from the rendered output if the debug mode is enabled before comparing the strings.

To test the behavior a setter for the debug mode was introduced to the TypoScript Runtime and an option was added to the TypoScriptView.

[BUGFIX] Do not wrap arrays again in FlowQuery q() function

The FlowQuery function q() in Eel should not always wrap the given element in an array to assert q(q(value)) == q(value).

[FEATURE] Allow additional properties for the Case TypoScript object

All properties of a Case object were treated as matchers. This change introduces a new meta property '@ignoreProperties‘ of type array to configure properties that should be ignored when evaluating matchers.

This is only used for rare cases where properties need to be configured on the Case object and passed down to matchers using context overrides.