1.2.2 (2015-02-05)

Base Distribution

TYPO3.Neos

[TASK] Update references in documentation

See https://ci.neos.typo3.org/job/TYPO3%20Neos%20Release/25/

[BUGFIX] Unsetting node properties not possible

Correct handling of node properties set to null (unset).

Fixes: NEOS-973

[BUGFIX] Empty integer values are converted to array by vie

When a node type has a property of type integer without a default value configured the content element wrapping service wraps an empty attribute for that property. When vie reads the entity from the DOM it converts the attribute to an array containing a list of NaN string values.

Besides converting the value it adds an exception to the HtmlAugmenter service that will be thrown if invalid attributes are passed.

Resolves: NEOS-579

[BUGFIX] Linking via context path works in non TypoScript environment

Since 1.2 you couldn’t link to a node using the context node path outside of TypoScript environments. This feature can be useful in lots of use-cases where you have a node path but no TypoScript context.

This change fixes that behavior and adds tests that actually test this to prevent this kind of regression.

Fixes: NEOS-961

[BUGFIX] Aloha list type styles missing in Raw Content Mode

Fixes: NEOS-889

[BUGFIX] Configuration module not displaying content

The configuration module does not display any configuration when loadMinifiedJavascript is enabled in Firefox. This happens due to depending on a global configuration variable which is unset when read in the Ember application. This only happens in with the minified build due to JavaScript execution order. Instead of relying on the global variable, we set the explicit path to be used instead.

Fixes: NEOS-881

[BUGFIX] Deletion of rows/columns in Aloha tables

Selecting a row or column in an Aloha table and clicking to delete it in the inspector, a Javascript error is thrown due to jQueryUI missing the dialog widget. This change adds that widget and styles the dialog to look like the standard dialog boxes.

Fixes: NEOS-810

[BUGFIX] Media button activated across editors

Having multiple properties using instances of either the image or asset editors, clicking the media browser button will result in all buttons being shown as active at the same time. This is prevented by creating separate instances for each editor.

Fixes: NEOS-756

[TASK] Small doc fix: wrong indentation for note

[BUGFIX] Avoid exceptions in FrontendNodeRoutePartHandler

This change makes the FrontendNodeRoutePartHandler return FALSE in case a NoSuchDimensionValueException is thrown in matchValue(). This makes it possible to continue with routing to find other possible matches.

Fixes: NEOS-923

[TASK] Append number instead of uniqid to duplicate uriPathSegments

When a uriPathSegment is duplicated on the same level a uniqid is appended to avoid conflicts. However this is not very user friendly, so instead a number is appended which additionally has a chance of not needing to be changed afterwards.

Related: NEOS-970

[BUGFIX] Avoid broken image adjustments caused by floats

When converting crop options from the preview image coordinates, no rounding took place. This could e.g. lead to very small negative numbers being used for the start coordinate, resulting in errors.

This is avoided by using Math.round() in the calculation.

[BUGFIX] Copying nodes created duplicate uriPathSegment entries

On duplicating a document (page), the uriPathSegment property was simply copied as well, resulting in the same URI for two distinct documents if the copy is a sibling of the original nodes.

This change amends the slot used to fill the uriPathSegment so those duplicates are avoided upon copy and can also no longer be caused by manually passing a used uriPathSegment.

Fixes: NEOS-970

[BUGFIX] Cross-browser compatible ellipsis animation

The current implementation only support webkit browsers. The animation is used in various areas like login button, saving/publish button.

Fixes: NEOS-940

[BUGFIX] Render service exceptions as JSON

Adjusts the AbstractServiceController to catch all exceptions that occur during request processing in order to convert them to JSON:

{
  "error": {
    "code": 12345,
    "message": "Exception message",
    "details": "Optional message details",
    "referenceCode": "2015012315120876d8b2",
    "previous": {
      "code": 54321,
      "message": "Nested child exception"
    }
  }
}

“details”, “referenceCode” and “previous” are optional.

Note: This is a preliminary solution that improves error handling in Backend. In the long term the exception handling of Flow will be improved and this hotfix be deprecated.

Related: NEOS-108

[BUGFIX] Loose domain matching check in menu site list

[BUGFIX] Remove doubled slashes in site uri for site menu

In the site menu the uri contained doubled slashes, because path had trailing slash and uri had leading slash. Removed the trailing slash in path. This only happens for sites with an active domain record.

Resolves: NEOS-450

[BUGFIX] “uriPathSegment” not created via auto-created child nodes

Fixes the issue where the property “uriPathSegment” is missing when document nodes are created via the auto-create child nodes mechanism.

If a node type triggers creation of a sub node of type “TYPO3.Neos.NodeTypes:Page”, that new node does not contain a “uriPathSegment” property and thus results in exception, for example if the sub document nodes are shown in the node tree.

The solution provided by this change registers a simple slot for the Node Added signal which sets the uriPathSegment property to the node name if that property does not exist yet.

Resolves: NEOS-925

[BUGFIX] Missing safe guard for empty label in NodeView

Fixes an issue in NodeView which causes an exception on rare occasions when node type labels are empty.

The original error message was:

Uncaught exception #1: Warning: strpos(): Empty needle in
TYPO3_Neos_Service_View_NodeView.php line 273

Revert “[TASK] Refactor PrimaryContent to use ‘renderer’ instead of ‘type’”

This reverts commit 293f2c5cc8fd15ae892360f0cc01eff25f79f1d2 for the 1.2 branch because it introduced a regression that breaks “Raw content editing”.

Background: Fixing “Raw content editing” is really easy and will be done for master (1.3+). But chances are that this also affects 3rd party code that added own editing modes.

Fixes: NEOS-921

TYPO3.Neos.NodeTypes

No changes

TYPO3.Neos.Kickstarter

No changes

TYPO3.TYPO3CR

[TASK] Remove unset NodeType properties from configuration

Fixes: NEOS-973

[BUGFIX] RenameDimension transformation keeps existing dimensions

The RenameDimension transformation was destructive for other existing dimensions, so executing a migration with this transformation twice would result in a broken state.

Fixes: NEOS-926

[BUGFIX] Make SiblingsOperation usable on toplevel nodes

The FlowQuery SiblingsOperation assumed that the nodes in the context all return a parent node. If that is not true, a fatal error is caused by the use of a method call on a non-object.

This change fixes that by checking for the parent node to exist before trying to iterate over it’s children.

[TASK] Adjust NodeTypes schema to allow unsetting properties

Related: NEOS-973

[BUGFIX] Correctly import node properties of type array

If a set export contains nodes with array properties, the export cannot be imported again. Thus arrays of strings, as produced by references properties are rendered unusable.

The change adds a test for this case and fixes it by the way array elements are parsed.

Fixes: NEOS-931

[BUGFIX] Allow configured childNodes to be moved

ChildNodes should not be bound to constraints as they are explicitly configured. Therefore moving a Node that is a childNode at the target place should not be stopped by node constraints.

[BUGFIX] Remove unpresent property from Repository

This removes the not present property workspaceName from the MigrationStatusRepository to make it function properly again.

Resolves: NEOS-967

[TASK] Improve node retrieval in node:repair’s child node creation

Improves the retrival of nodes in createChildNodesByNodeType to exclude shadow & removed nodes directly in the query as well as only fetching nodes for the given workspace.

Related: NEOS-841

TYPO3.TypoScript

[BUGFIX] Don’t catch SecurityExceptions

This adjusts the method AbstractRenderingExceptionHandler::handleRenderingException() to always rethrow exceptions of type TYPO3\\Flow\\Security\\Exception.

Background:

If a security related exception is thrown, it must always bubble up. Otherwise redirection to login forms won’t work when an AuthenticationRequiredException is thrown in a sub request.

Related: FLOW-130

TYPO3.Media

[BUGFIX] Add check to make sure OriginalImage exists in __wakup call

In some rare cases OriginalImage may not be set when de-serializng ImageVariant object, like in case when there are two image properties pointing to the same image resource. Add a check just to be sure it’s there before using it.

Related: NEOS-979

TYPO3.NeosDemoTypo3Org

[BUGFIX] Language selector broken in iOS Safari (touch)

Due to the language selector relying on hover state for displaying, it’s not working on iOS Safari. This can be solved by using the pointer cursor.

Fixes: NEOS-971