3.1.0 (2017-04-27)

Overview of merged pull requests

BUGFIX: Fix the NodeTypes schema files and allow properties `search` and `options`

The NodeType schemas can now handle the case that a property in a NodeType definition can be either a dictionary or null.

Additionally the keys search and options as extension point for package-configuration.

The key search is used by several search implementations and currently causes validation errors. The key options is allowed to avoid such problems in the future and to create a place where packages can place custom configuration.

TASK: Add release notes for 3.1

Release notes for Neos 3.1

Fixes #1488

  • Packages: Neos

TASK: Rename legacy strings in comments

This change renames TS / TypoScript and TYPO3 left overs in comments all over the package. No code changes included.

  • Packages: Neos

TASK: Improve documentation on plugin creation

The file Policy.yaml is missing in Sarkosh.CdCollection, clearly point out it needs to be created.

Also explain that packages need to be rescanned (or the cache needs to be flushed) before you can use the plugin after the optional move to a “Plugins” folder.

  • Packages: ContentRepository Neos NodeTypes

BUGFIX: Allow content dimension preset translation

What I did Tranlate content dimension labels.

How I did it Just like it is already done for dimension labels

How to verify it Add content dimension. Enter translation id as label. Add id in your translation. Enjoy!

BUGFIX: Fix code migrations to prevent unnecessary changes

This change adjusts two code migrations (in a backwards compatible manner) so that they don’t produce invalid YAML files.

Background:

The two migrations TYPO3.TYPO3CR-130523180140 and TYPO3.Neos.NodeTypes-201309111655 both replace some “superType”/”childNode” NodeType settings. In cases where those already use the suggested format [‘<value>’ => true] this leads to invalid results ([‘<value>’ => ‘1’]). With TYPO3.TYPO3CR-20150510103823 these invalid values are fixed again, but applying all migrations lead to three unnecessary commits, possibly corrupting the configuration and/or removing important comments.

Fixes: #1351

TASK: allow to require stable version of `flow-development-collection`

This relaxes the constraints in order to be able to run stable versions of our development collections.

This is useful when you want to say use beard in production, without having to use the -dev versions.

BUGFIX: Correct the NodeType schema of a nulled fusion.prototypeGenerator

The type ‘null’ has to be written in quotes to be distinguished from the NULL value of yaml.

  • Packages: ContentRepository Neos

TASK: Add tests for node name generation

Tests to prove neos/neos-development-collection#1524

BUGFIX: No uppercase characters allowed in node names

The changed generation of node names must avoid uppercase characters.

This is a followup to neos/neos-development-collection#1523

TASK: Use generateRandomString() instead of uniqid()

This reduces the risk of collision on temporary names for nodes and files, as well as cache markers.

BUGFIX: Asset should return same extension as attached resource

Using the resource media type to find an extension for an asset is suboptimal because the asset knows the extension directly and the media type -> extension conversion is ambiguous so you might end up with a different extension than the resource has afterwards.

TASK: Corrected naming in documentation

Replaces TYPO3.Neos with Neos.Neos

  • Packages: Neos

TASK: Enable translations for labels of the Site Management module

What I did

  • Add translation for labels with none in the XLIFF files to enable the translation to other languages
  • Eliminated labels with duplicated IDs and different values
  • Some simple sorting and cleanup of the XLIFF files

How I did it - I took the labels of the templates and searched the XLIFF files for them - I put the specific Site Management labels to Modules.xlf - I put the generic labels to Main.xlf

How to verify it - Login to the backend and go to the Site Management module - Click through it and check whether there are corrupted labels - The labels should look like before

  • Packages: Neos

BUGFIX: Fix upmerge mistake in ResizeImageAdjustment

The wrong namespace/vendor name was pulled in from the 2.3 branch during an upmerge.

  • Packages: ContentRepository Media

BUGFIX: Include configuration reference in TOC

The configuration reference was no longer included in the documentation TOC at all, after a recent fix aimed at no longer including it twice.

BUGFIX: Allow choice of filter for resizing images

The resize filter can have considerable impact on file size and processing power needed to do the resize, it’s therefore sensible to give the user a choice in this.

Additionally removes copying the image as that is entirely unnecessary and impacts memory usage profoundly.

TASK: Improve documentation Installation

This change

  • updates screenshots with new logo in documentation
  • adds step “Neos requirements” to documentation
  • adds info on “AllowOverride directive” to documentation
  • Packages: Neos

TASK: Add “User Settings” to documentation

This adds a page on „User Settings“ to the documentation, explaining how to change your personal data.

  • Packages: Neos

TASK: Update screenshots in “User Interface Basics”

This updates the screenshots of the complete user interface and adds screenshots of user interface details.

  • Packages: Neos

TASK: Change login wallpaper for 3.1

What I did Changed the picture.

How I did it Travelled to iceland, walked up the canyon. Fearlessly leant over the cliff.

Resolves #1481

  • Packages: Neos

BUGFIX: Fix some Sphinx rendering errors

  • TASK: Bring back old release notes
  • BUGFIX: Fix some Sphinx rendering errors
  • Packages: Neos

BUGFIX: Correct typo in plugin’s Settings.yaml

What I did - Changed to in Settings.yaml. It needs to be lower-case in order to work properly.

  • Packages: Neos

TASK: Set `ArrayConverter` as node property default type converter

<!– Thanks for your contribution, we appreciate it!

Please read through our pull request guidelines, there are some interesting things there: https://discuss.neos.io/t/creating-a-pull-request/506

And one more thing… Don’t forget about the tests! –>

Hi @kitsunet,

this refactoring was done at the NEOS Sprint. Let’s review it together.

Best Jo (@joachimmathes) and Dani (@dgrammlich)

  • Packages: Neos

TASK: Adjust DocTools settings

Fixes #1490

  • Packages: ContentRepository Media Neos

BUGFIX: Add mysql-index for the field `parentpath` in the `nodeData`-table

The find operation is currently very expensive because of an unoptimized LIKE statement. This index will to optimize the performance for find operations especially in larger cr-instances

The size of the index is a compromise between space and an assumption of the normal length of the nodePath.

BUGFIX: MediaModule asset edit should not fail

if no Site is defined.

How to verify it

  • delete your sites in the site management
  • got to the media browser and open an image

An exception occurres.

See: https://github.com/neos/neos-development-collection/issues/1483

BUGFIX: NodePropertiesStrategy in Neos should only handle site nodes

Currently the AssetUsageInNodePropertiesStrategy handles all asset references in all nodes in the node data table. The handling than is specific for nodes under the /site root node and fails when a node references an asset that is located under another root.

This fixes the issue by only selecting site nodes.

What I did Filter the nodes by site root.

How to verify it Add an asset reference to a node that is not under sites. The edit view of an asset fails.

TASK: Add transitive dependencies to Neos packages

  • Packages: Browser ContentRepository Fusion Media Neos NodeTypes SiteKickstarter

BUGFIX: Configuration reference nested twice

This causes issues with search results and creates confusion.

BUGFIX: Fix EXTRACT_CONTENT_TYPE_PATTERN namespace use

Make NodeTemplateConverter::EXTRACT_CONTENT_TYPE_PATTERN match against Neos\ContentRepository\….

Fixes #1466

  • Packages: ContentRepository

BUGFIX: Check for existing node data property works with null

The AbstractNodeData::hasProperty() method checked the existence of the given property with isset but that leads to an exception if the property has a null value. The check has been changed to array_key_exists.

Same is done in the optimization check to avoid setting existing values again in AbstractNodeData::setProperty.

Resolves #1174

TASK: Fix “undefined class” warnings

Mostly fixes comments, but some use statements as well.

Also removes some dead code that was not removed along with the deprecated NodeDataLabelGeneratorInterface.

  • Packages: ContentRepository Media Neos

BUGFIX: If thumbnail refresh fails, handle gracefully

If refreshing a thumbnail fails (e.g. because a PDF cannot be converted correctly), the media module dies with an exception screen.

This change catches and logs the error, and returns null as result. This leads to a missing thumbnail, but the media management stays usable.

TASK: Adjust Behat-related code to PhpUnit 6

  • Packages: ContentRepository Neos

TASK: remove arguments argument for NodeUri

The fusion argument ‘arguments’ in NodeUriImplementation was never used. The documentation was confusing saying it is possible to use ‘arguments’ argument in Fusion.

What I did

Removed arguments argument from NodeUri documentation. Removed getArguments() method from NodeUriImplementation because it was never used.

  • Packages: Neos

BUGFIX: Avoid stuck tooltip in node tree

This switches (bootstrap) tooltips from being triggered on hover and focus to just hover. This avoids the tooltip being activated e.g. by expand a subtree.

Should fix #1386

FEATURE: Add support for image presets in Fusion

Add image preset support for Neos.Neos:ImageUri and Neos.Neos:ImageTag.

  • Packages: Neos

BUGFIX: Only show remove button when image selected in ImageEditor

Do not show the “remove” button in ImageEditor when no image is selected.

BUGFIX: Limit VIE to predicates with custom namespace

Instead of applying VIE to all elements with [rel] or [property] attributes, only apply to those starting prefixed with the typo3 namespace.

This prevents side effects for other tags like <a href=”#” rel=”nofollow”>Link</a>.

Resolves #1449

BUGFIX: Add missing colons to resourcepaths in documentation

This adds missing colons to the resource paths in the examples on selecting a page template.

BUGFIX: Fix changelog and release note rendering

This fixes a few places and adjusts some files so the 3.0 branch has proper release notes and changelog rendering.

  • Packages: Neos

BUGFIX: getPersonalWorkspace()->getName() replaced with getPersonalWorkspaceName()

f13a82c2d9d5a3185889d21c4cbfca4dbdfde579 introduced a regression: No workspace is created for new users.

This fixes it.

  • Packages: Media Neos

TASK: Document width and height property in ImageUri Fusion-prototype

This documents changes that were introduced in Neos 2.0 with revision 75430099fe2dbd3646eb549dac5e9778abf4c82a.

BUGFIX: Make layout sliding query match properly

The page layout determination in DefaultTypoScript.ts2 contains the query

q(node).parents(‘[subpageLayout]’).first().property(‘subpageLayout’)

However that immediately also matches nodes which have subpageLayout being an empty string, hence this being taken into account. This results in an empty value, even if there would be actual set layouts higher above.

The .parents() part need to be replaced with .parents(‘[subpageLayout][subpageLayout != “”]’)

Fixes #1117

TASK: Documentation adjustments

Adds a small example to the Eel Helpers Reference (Array.indexOf). Adds an example on how to use the help messages inside properties (Property Editor Reference).

TASK: Prefix `uriPathSegment` field inspector validator

I changed the non prefixed regularExpression-validator to the correct TYPO3.Neos/Validation/RegularExpressionValidator-validator

How to test

You could easily try to change the uriPathSegment on every document node type.

BUGFIX: Initialization of asset usage strategies

Fixes a regression introduced in https://github.com/neos/neos-development-collection/pull/1323, causing the asset usage strategies to never be initialized.

Closes #1425

BUGFIX: Require ~4.0 of neos/form

The 3.0 branch of neos/form is not compatible with the current codebase.

  • Packages: Neos

BUGFIX: Adding media element to tag or asset collection

Adding a media asset to a tag or collection in the thumbnail in the media browser by dragging it fails.

Resolves #1413

  • Packages: Browser

TASK: Remove deprecated getters for ``userWorkspace`` and name

These are fully replaced by \\Neos\\Neos\\Service\UserService::getPersonalWorkspace and \\Neos\\Neos\\Service\UserService::getPersonalWorkspaceName

  • Packages: Neos

TASK: Remove TYPO3 & TypoScript in the Fusion documentation

In the [documentation](https://neos.readthedocs.io/en/stable/References/) are still some references to TYPO3 and TypoScript. This PR fix it for the fusion part

  • Packages: Fusion Neos

BUGFIX: Make fusion-parser aspectable

The fusion parser cloned itself previously to handle includes but to keep the defined namespaces. That made the use of aspects impossible since they were only applied on the initially created instance of the parser.

This change fixes this by using a new instance of the parser for each include and transfers the namespaces explicitly to the new parser.

BUGFIX: Correctly require ``exec`` instead of ``system``

The documentation requested system to be enabled but in fact exec is used for proxy building in Flow.

Related: neos/flow-development-collection#634

  • Packages: Neos

BUGFIX: Use setFusionPathPattern() in HistoryController

The view was updated to FusionView, but setTypoScriptPathPattern was still called. I updated it to the correct method setFusionPathPattern.

  • Packages: Neos

BUGFIX: RemoveNodePrivilege blocks editing

The RemoveNodePrivilege would block editing of nodes completely, since the inspector would send all properties of a node, but the setter for “removed” was blocked by the privilege.

Now the privilege only matches on setRemoved(true) and thus only blocks what it should block.

Fixes #896