1.0.0 (2013-12-10)

Base Distribution

[BUGFIX] Pull in 2.1.x-dev of typo3/eel (contains needed change)

[TASK] Adjust set-dependencies.sh to SiteKickstarter changes

[TASK] Remove minimum-stability for 1.0 branch

[TASK] Update composer manifest

See http://ci.typo3.robertlemke.net/job/typo3-neos-branch/2/

[TASK] Change dependency on SiteKickstarter to Neos.Kickstarter

[TASK] Remove Phing leftovers from Build folder

[TASK] Add release scripts for Neos

[TASK] Update composer manifest

Adds a dependency on typo3/neos-nodetypes (as that should be set in the distribution).

[TASK] Remove composer.lock for master

[TASK] Update Mink/Behat for use with saucelabs

The saucelabs configuration requires at least version 1.3 of the Mink Extension.

TYPO3.Neos

[TASK] Update references in documentation

See http://ci.typo3.robertlemke.net/job/TYPO3%20Neos%20Release/2/

[TASK] Sync with master branch

[BUGFIX] Use correct Page node type for functional tests

[BUGFIX] Fix unit tests after deactivated site change

[TASK] updated integrator guide: Inside TypoScript, Page Rendering

(cherry picked from commit 051bab69158cbe3eb9bcfb582172b9bb1241cdac)

[TASK] improve Integrator Guide: Content Structure

(cherry picked from commit 683049ca23bcfb4169b92005d3d2a372959c7efd)

[TASK] fix styling of “Getting Started”

(cherry picked from commit e943086e0d21635435e9377ad72f1b80ecd47619)

[TASK] Updated Getting Started Documentation

  • Checked index.rst
  • Updated Installation.rst
  • Updated images.
  • Checked and cleaned up YourFirstSite.rst. Removed the section about adding a design since this is documented in the integrator guide.
  • Started filling the UserInterfaceBasics.rst.
  • Added a first impression image for the Backend with bullets to name and the different sections.
  • Commit: 01c4686

[BUGFIX] Correct handling of Document node property changes in the tree

This change fixes the existing code to synchronize the tree with updates inspector using VIE observers. To make that work correctly with all kind of Document nodes we have to export all node types to VIE.

(cherry picked from commit 31a5c6ed1f690a267cf06c4fa7ed11647de8ea07)

[TASK] improve documentation: ContentStructure

(cherry picked from commit cbaf61b604173eb1db72b4abff6c3e55e1910c3f)

[TASK] improving Documentation: Eel and FlowQuery

(cherry picked from commit 079fe7678bd0e3a77021843e2d1ef72f20e05f5d)

[TASK] update documentation (remove outdated parts from menu)

(cherry picked from commit 8742ed740e960772ae313842165560f4a90caea3)

[TASK] Cookbook for integrating a javascript based slider.

[TASK] Hide empty cookbooks from index

(cherry picked from commit eccebbba0f08d5a03a980d3e211d72019318608c)

[TASK] Add ‘Select Template based on NodeType’ to cookbooks

This change also removes empty cookbooks from the index and updates the static footer cookbook.

(cherry picked from commit 4d41a1f2e6e0d9596d094efc84b69571d51b92f2)

[TASK] Overwritable Aloha options YAML settings

Setting Content Element’s Aloha settings now is “DIP switchable”, i.e. the options are note anymore in a single array, but are keys having a TRUE value each. This allows intersecting these options better via the YAML merging.

The VIE Schema, however, expects the settings eventually still as real, plain array, this is adjusted in the appropriate controller.

  • Resolves: #54273 (cherry picked from commit 4ebd4e81b56e60ce8305a740f756fd1ee69e55e7)
  • Commit: d82610f

[TASK] Integrator Cookbook Customize Inspector

[BUGFIX] Checkboxes for inspector image editor not styled

(cherry picked from commit 681fc49c25a6b481a3822d7daabf8eef6f7a483b)

[FEATURE] Allow node type filter in menu

[BUGFIX] Publish menu auto publish positioning

(cherry picked from commit 93c85d1fa19308914b0ef24717b1f8156860a93c)

[BUGFIX] Deactivated sites are not taken into account

The frontend always rendered the first site found in the database without taking the state of the site into account. This change filters for online sites and uses the first result.

[FEATURE] Command controller for workspace tasks

Offers a way to publish or discard all nodes in a workspace:

./flow workspace:publishall --verbose user-foo
./flow workspace:discardall --verbose user-foo

(cherry picked from commit a8edb27c7c604160fc9caa112a141b1916625afc)

[BUGFIX] Abstract content selectable in insert new panel

When inserting new content using the content element handles, the abstract type “Content” is selectable.

(cherry picked from commit 452ee74489445bc740764a6ca79846e7dc9f5bb1)

[BUGFIX] create new CE in ContextStructureTree uniqueNodeName

[TASK] Adapt setup to changed styling and provide better information

Depends: Ia562baf8f3a6e92cf38002c9b53d5f2430850d02

[BUGFIX] Default select field shown for node tree filter

Until the availabel document types has been loaded there is a default select box shown.

(cherry picked from commit d34bcc9d0cf3d01dd99b96e147e642d06b7c0902)

[TASK] Media browser & media browser styling

(cherry picked from commit 9d45e0a944ed63d38452f12fd963165604137001)

[BUGFIX] Editing is enabled in preview mode after page reload

(cherry picked from commit 4dbba927385baf093afcff90cfff9a30deb4c54e)

[BUGFIX] Preview mode causes error on page load

Because the preview mode updates the node selection it causes a JavaScript error if the node selection hasn’t been initialized. Since we only need the feature if a node is selected we check if the node selection has a selected node first.

(cherry picked from commit a085a9e99224b63f26e69a7dc33f218038ac7bf0)

[TASK] Implement TypoScript AutoInclude setting for TypoScriptView

Packages can now register with the setting:

TYPO3:
  Neos:
    typoScript:
      autoInclude:
        'MyVendor.MyPackageKey': TRUE

to get TypoScript in the path: MyVendor.MyPackageKey/Private/TypoScript/Root.ts2 included automatically. The order of inclusions is set by the package loading order (and thus dependency chain of your package). This also allows disabling of autoIncludes if needed.

Additionally it cleans the interface of methods in TypoScriptView and TypoScriptService and prevents two parsing runs of the TypoScript by caching the Runtime instance in the view.

Finally removes all references to the NodeTypes package.

[BUGFIX] Raw content mode background color

The background was set on the wrapping div and not on the body. As result the color didn’t go to the bottom on pages with shorter content. Also the body class hasn’t been set correctly.

[BUGFIX] Fix PluginViewsEditor path in PluginNodeTypePostprocessor

Renames the editor setting to be in sync with the renamed editors in I91542f4412ab4e1d91863c77c8058f6d84461829.

[FIX] improves handling of editing page title and cancelling

(cherry picked from commit f4f6acb2fe2a0670b12008020ef45aa898ef9881)

[TASK] Make ContentCollectionImplementation consistent again

[TASK] Correctly calculate current level in menu

The MenuImplementation now calculates the current level based on the level of the site root and the level of the current document node which give more reliable results especially when using the startingPoint and entryLevel properties.

[BUGFIX] Fix auto publish after page reload

[BUGFIX] allow text-align and tables

This is done by more relaxed content sanitize rules.

[BUGFIX] Boolean value must be set correctly during site import

This bug was introduced by I760730dfa57ff9e7abea8138a58fcd46dafa2377 during the import the value are not correctly compared.

[BUGFIX] Fixes refreshing of ContextStructureTree

This fixes the refreshing of the ContextStructureTree upon a page change.

[BUGFIX] Fix mock controller context in rendering test

[BUGFIX] Remove CDATA tag from login template

This removes an CDATA tag from the neos login form template that has no use and were included in the rendered output..

[TASK] Update composer manifest

  • typo3/media is pinned to 1.0.*
  • typo3/setup is pinned to 1.0.*
  • typo3/flow is pinned to 2.1.*

[TASK] Update composer manifest

See http://ci.typo3.robertlemke.net/job/typo3-neos-branch/2/

[BUGFIX] BC layer for Editor configuration is incorrect

The backwards compatability layer for the configurable editor change lacks an extra level in the namespace and thus breaks editor loading for custom node types.

This change adds the extra namespace.

[!!!][TASK] Remove low-level plugin properties from inspector

Removes the “package”, “subpackage”, “controller” and “action” properties from the TYPO3.Neos:Plugin NodeType definition in order to hide them from the inspector.

If you create a plugin you should set those properties in the corresponding TypoScript prototype and/or make use of PluginViews.

If you really want to make those properties available in the inspector, you can re-enable it with the following NodeTypes.yaml:

'TYPO3.Neos:Plugin':
  properties:
    'package':
      type: string
      ui:
        label: 'Package'
        reloadIfChanged: TRUE
        inspector:
          group: 'pluginSettings'
      validation:
        'TYPO3.Neos/Validation/RegularExpressionValidator':
          regularExpression: '/^[a-z0-9]+\\.(?:[a-z0-9][\\.a-z0-9]*)+$/i'
    'subpackage':
      type: string
      ui:
        label: 'Subpackage'
        reloadIfChanged: TRUE
        inspector:
          group: 'pluginSettings'
    'controller':
      type: string
      ui:
        label: 'Controller Name'
        reloadIfChanged: TRUE
        inspector:
          group: 'pluginSettings'
    'action':
      type: string
      ui:
        label: 'Action'
        reloadIfChanged: TRUE
        inspector:
          group: 'pluginSettings'

[BUGFIX] Remove ContentElementWrappingService from Plugin implementations

As TYPO3.Neos:Plugin and TYPO3.Neos:PluginView prototypes extend TYPO3.Neos:Content the node meta data is added automatically via the ContentElementWrapping TypoScript processor.

[!!!][BUGFIX] Move Page from TYPO3.Neos to TYPO3.Neos.NodeTypes

See the corresponding change in TYPO3.Neos.NodeTypes for upgrade instructions.

Make sure to apply the corresponding change of the TYPO3.Neos.NodeTypes package as well, which is Id013f5788a1f11fd9e2c9174e1e0588de0100c39.

Depends: Id013f5788a1f11fd9e2c9174e1e0588de0100c39

[FEATURE] Made menu classes for states configurable

Example:

prototype(TYPO3.Neos:Menu) {
      attributes.class = 'my-menu'
      active.attributes.class = 'my-active-menu-item'
      current.attributes.class = 'my-current-menu-item'
      normal.attributes.class = 'my-normal-menu-item'
}

Depends on https://review.typo3.org/#/c/26036/ Depends on https://review.typo3.org/#/c/26102/ Depends on https://review.typo3.org/#/c/26101/

[FEATURE] Close insert node panels when pressing esc

[TASK] Adapt to removal of fluidTemplateTsObject

The template variable fluidTemplateTsObject was removed. This change adapts all occurances to get the TypoScriptObject from the view instead.

[BUGFIX] Ignore nodes with broken rootline for now

We cannot correctly handle nodes with a broken rootline currently so we ignore them for now. You couldn’t correctly publish such a node anyway.

[TASK] Adjust to renamed SiteKickstarter package

[FEATURE] Edit/Preview Panel

Introduces the positibility to add custom edit and preview modes that can then be selected by the editor. A mode can alter the rendering to allow a different presentation of the content.

This also separates the preview mode from the full screen mode, making all editing and preview modes available in full screen.

Various improvements to the raw content mode is included as well, inclusing renaming from wireframe, templates and supporting shortcuts.

[FEATURE] New position selectable in node/structure tree

Introduces the possibility to select if a new node created should be added before, after or into in the node and context structure trees. The default is also changed from into to after.

[TASK] Overwritable Aloha options YAML settings

Setting Content Element’s Aloha settings now is “DIP switchable”, i.e. the options are note anymore in a single array, but are keys having a TRUE value each. This allows intersecting these options better via the YAML merging.

The VIE Schema, however, expects the settings eventually still as real, plain array, this is adjusted in the appropriate controller.

[BUGFIX] Correct handling of Document node property changes in the tree

This change fixes the existing code to synchronize the tree with updates inspector using VIE observers. To make that work correctly with all kind of Document nodes we have to export all node types to VIE.

[BUGFIX] Detect if context node is a ContentCollection

[FEATURE] Make Validators and Editors configurable

This change allows registering of paths into requirejs and by this allow custom validators and editors into Neos. It does so in a backwards compatible way.

Every dataType has it’s default editor set, which can have options applied like:

TYPO3:
  Neos:
    userInterface:
      inspector:
        dataTypes:
          'string':
            editor: 'TYPO3.Neos/TextFieldEditor'
            editorOptions:
              placeholder: 'This is a placeholder'

On a property level this can be overridden like:

TYPO3:
  Neos:
    userInterface:
      inspector:
        properties:
          'string':
            editor: 'My.Package/TextFieldEditor'
            editorOptions:
              placeholder: 'This is my custom placeholder'

Namespaces can be registered like this:

TYPO3:
  Neos:
    userInterface:
      requireJsPathMapping:
        'My.Package/Inspector/Editors': 'resource://My.Package/Public/Scripts/Inspector/Editors'
        'My.Package/Validation': 'resource://My.Package/Public/Scripts/Validators'

Editors should be named <SomeType>Editor and validators ‘<SomeType>Validator’, and can be referenced by My.Package/Inspector/Editors/MyCustomEditor for example.

Registering specific editors and validators is also possible like:

TYPO3:
  Neos:
    userInterface:
      inspector:
        editors:
          'TYPO3.Neos/BooleanEditor':
            path: 'resource://TYPO3.Neos/Public/JavaScript/Content/Inspector/Editors/BooleanEditor'
      validators:
        'TYPO3.Neos/AlphanumericValidator':
          path: 'resource://TYPO3.Neos/Public/JavaScript/Content/Components/Validator/AlphanumericValidator'

It’s now possible to fully configure the available paths in requirejs and as such even overwriting resources loaded by requirejs is possible.

[TASK] Prevent broken backend with Nodes that have no rootline

[TASK] Follow up for ContentCollection

Fixes the bug that prevented creation of new content.

[TASK] Disallow ContentCollection moving in Structure Tree

ContentCollections shouldn’t be moved in the structure tree. It can lead to unexpected results and makes no sense anyway.

[TASK] Handle missing node property with an exception

If a node was not present through TypoScript this produced a fatal error before.

[BUGFIX] Remove bottom border of context structure when closed

[FEATURE] ParentOperation for FlowQuery

Allows to use:

${q(node).parent()}

instead of:

${q(node).parents().first()}

[TASK] Adapt to changes in node type manager

This should keep the current behaviour of excluding abstract node types. A change for the VIE schema to expose abstract nodes is pushed as a follow-up.

Depends: Ifea0159a2956b1c43a592371ab89e678d868c055

[TASK] Show notifications for publish menu actions

[FEATURE] Add the possibility to discard changes from the publish menu

[BUGFIX] Deleting nodes in the ContextStructureTree

[TASK] Refactor ContentCollectionImplementation

ContentCollection should use the ContentElementWrapping instead instead of trying to render metadata itself. This simplifies the ContentCollectionImplementation.

[BUGFIX] SiblingsOperation could create recursive loop in ‘in_array’.

Added tests and optimized function by collecting all context node at first instead of searching through array for each node.

[BUGFIX] Noto Sans font not available in bold/bold italic

Also adds the possibility to use locally installed version of the font in case it’s available.

[TASK] New TYPO3.Neos:Document TS object and fix auto generated TS

This improves the auto-generated TypoScript for TypoScript objects based on a node type. Instead of generating code which defines „TYPO3.Neos:Content” as base prototype for _all_ TypoScript Objects based on _any_ node type, the TypoScriptService now distinguishes between Document and Content.

In case a TypoScript object relates to a node type extending the TYPO3.Neos:Content node type, the TYPO3.Neos:Content TypoScript prototype is chosen.

In case a TypoScript object relates to a node type extending the TYPO3.Neos:Document node type, the newly introduced TYPO3.Neos:Document TypoScript prototype is chosen.

For all other TypoScript objects based on a node type, TYPO3.TypoScript:Template is used as the base prototype.

This change is essential when using custom Document node types which should contain inline editable properties.

For more background see also earlier submitted commits 9829558467394e1d3fc2a1ee28fd043602393249 and 82dd00cee4c089d5fba85bc4f705bb577ba13d43

Depends on https://review.typo3.org/#/c/26089/

[TASK] Update composer manifest

Removes the dependency on typo3/neos-nodetypes (as that should be set in the distribution).

[TASK] Improve UserCommandController docblocks a bit

Helps to create a better command reference for the manual.

[BUGFIX] Fix unpublished changes marker in page tree for moved nodes

[TASK] Upgrade requirejs

Upgrade requirejs and text / i18n plugin to current versions. This done on the road while fixing conflicts with requirejs based frontends and extensible validators / editors change.

[TASK] Improve backward compatibility of Site Import

when attempting to import “old” Site XML, there is the need to make the site node a Shortcut to the first subpage, flag it to be hidden in index, and add a title property being the site’s name.

This introduces a method to “patch” the incoming XML to comply with the above requirements.

Note: this reverts parts of Iddc86edb51df20f1c72e280f8571b918a09af0f6 where the backward compatibility requirements were already partially implemented.

[BUGFIX] Fix the moving of the currently selected node in the page tree

  • Reload the tree correctly if moving a selected page
  • Load the correct page of the selected page at the moved URL

[TASK] Allow redirects to login form to provide username

This sets the appendExceedingArguments flag of the Neos login route, so that controllers can redirect/link to the login with a pre-entered username.

[BUGFIX] Fix error when using a class that is existing in the namespace

A use statement causes a fatal error because the same fully qualified class name could already be existing since a class TYPO3\Neos\TypoScript\TemplateImplementation does exist.

[TASK] Remove TYPO3.Setup references in Policy.yaml

Since Neos’ Policy.yaml prevents access to any controller action by default, TYPO3.Setup’s such methods are set to GRANTed in this package, too. This is problemtatic since new methods in TYPO3.Setup would need adjustments in this Neos Policy.yaml.

The security statement which is removed with this patch is introduced / moved again in If12e29d1b0ec147087f6a3c4436146d83e424174.

[TASK] Mark pages with unpublished changes in node tree

[BUGFIX] Disregard data-neos- elements having no typeof attribute

In vie, all DOM elements having an attribute starting with data-neos- were taken into account, no matter if they actually count for vie.

This adds an additional check for them having a typeof attribute.

This is especially important since I7237f97499be1e56c3ea9fa0c4403c333149c220 introduced such an element, resulting into an incorrect “Publish (1)” state.

[BUGFIX] Fix automatic opening of closed sticky menu on reload

[FEATURE] prev and next FlowQuery operations

[!!!][TASK] Module styling and usability improvements

Contains a complete overhaul of the styling for all the backend modules including:

  • Module overviews
  • Workspaces
  • Package management
  • User settings
  • User management
  • Sites management

This change is breaking for all custom modules depending on the previous styling classes and DOM structure.

[BUGFIX] Do not render nextUri for non-Document nodes

This fixes the problem of not being able to move nodes in the structure tree of the navigate component.

[TASK] Move lastVisitedNode functionality to external script

Replaces the inline script that stores the last visited document node in the session storage to an external file so that it doesn’t violate the Content Security Policy specification and so that it can be cached by the browser.

The current node identifier is passed to the external script via a data-neos-node attribute on the script tag.

Depends: Id3d887094e3a79e58ccfe4a89dff87ca0a96c291 * Related: #40304 * Commit: 6300138

[TASK] Unify TypoScript implementations

Streamlines the TS implementation classes:

  • Remove protected members & setters that were never evaluated
  • Wrap tsValue() calls by getters to make implementations self-describing
  • Move required default properties to TypoScript
  • Commit: eb1af54

[TASK] Use general notifications for module flash messages

[TASK] Add method getSubNodeTypes() in NodeTypeService.js

[!!!][TASK] Remove Attributes TS object

This removes TYPO3.Neos:Attributes in favor of TYPO3.TypoScript:Attributes.

This is a breaking change if you referred to TYPO3.Neos:Attributes in your TypoScript. In that case you should use the TS object from the TypoScript package which is compatible to the previous implementation.

Depends: Id9e46465482e303b8a4b526cc88d507e67f9d313

[BUGFIX] Fix calls of “getWorkspaceWideUnpublishedNodes” when publishing

Also fixes the deactivation when no unpublished changes exist.

[TASK] Render publish state color for publish menu individually

[BUGFIX] Content Collection has to render removed nodes

[TASK] Re-introduce a view helper for manually wrapping content editables

This introduces a view helper contentElement.wrap which allows for explicitly wrapping template parts with node meta data that is required for the backend to show properties in the inspector.

Usually this ViewHelper is not required, but it enables usage of the contentElement.editable ViewHelper outside of content element templates.

This is especially useful if you want to make properties of a custom document node inline-editable:

<neos:contentElement.wrap>
  <div>
    {neos:contentElement.editable(property: 'someProperty')}
  </div>
</neos:contentElement.wrap>

[!!!][FEATURE] Use Tag TypoScript object for <title> instead of template

This is breaking because existing sites will have duplicate title tags if they used the old template way.

[TASK] Icons are not overwritten by other icon-fonts

[BUGFIX] Modified/error borders hidden for date fields in inspector

[FEATURE] Improved notifications + styling

[!!!][TASK] Disable TYPO3.Neos:Template

This change makes TYPO3.Neos:Template non-functional and lets it output a warning which hints on using TYPO3.TypoScript:Template instead.

Leaving the old functionality in place and only deprecating it, would lead to people still using it and not being aware of the side effects.

[TASK] Include font files locally

[BUGFIX] Fix unreliable auto-save of CreateJS by tracking changes

This change overrides some part of the midgardStorage widget to add a better tracking of changes by storing the versions of models to check if a model can be removed from the changed list after saving.

A follow-up could implement a better saving strategy that uses a throttled setTimeout instead of a fixed interval.

The change updates CreateJS to the latest state including the pull-request for the Aloha fixes.

[TASK] Show the number of “Publish all” changes

[TASK] Register media backend module in Neos

This change adds the media management to the management modules.

[TASK] Update “Publish all” state automatically

This changes implements a new method to get all unpublished changes for the current workspace and allows you to use the “Publish all” button on pages without unpublished changes.

[BUGFIX] CreateJS: Handle modified Aloha editables correctly

This change updates CreateJS with a bugfix for the alohaWidget. The widget did not correctly receive all changes to an Aloha editable, because Aloha triggers no events for some changes like formatting actions. These have to be polled explicitly.

The updated source in “update-createjs-to-master” can be changed back to the main create repository as soon as our pull request is merged.

[BUGFIX] Remove remaining grunt configuration for Hallo

[TASK] Clean up style sheets

  • Removes all old color constants
  • Removes old unused styles
  • Commit: 8e60aa7

[BUGFIX] Width of inspector fields changes when scrollbar is visible

The inspector fields for date and images didn’t have a explicit width of 288 pixels, which lead to them becomming smaller when the scrollbar is visible. They should however remain the same width scrollbar or not.

[BUGFIX] Register mousedown event when datepicker is open and remove it on close

[TASK] Remove hallo.js

[TASK] Remove extjs-sass-theme

[TASK] Remove unused images

[TASK] Update mousetrap and use an own include

Mousetrap was loaded from the create dependencies which is an old version. This change updates Mousetrap and allows for wrapping our version using grunt.

[FEATURE] Provide public extension points for JS and CSS includes

This change adds extension points for stylesheet and script includes to the Page prototype. The following paths are rendered by an Array and can be extended with custom items to include CSS or JS:

page = Page {

    head.stylesheets.site = '...'
    head.javascripts.jquery = '...'

    body.javascripts.app = '...'

}

[BUGFIX] Fix minor typos in comment for javascript

This commit fixes some minor typos for comment in different javascript files.s

[TASK] Do not show removed content even when logged in

[BUGFIX] Import path for chosen styles in navigate panel

[TASK] Add a notice to error messages that points to the setup

This changes adds a new variable that can be configured in error messages to give a hint that the setup can be used to solve the problem. If a message is configured a link to the setup will appear.

[TASK] Expose node to body template in TypoScript

[BUGFIX] Empty content elements must be wrapped correctly

The HtmlAugmenter that is used to add meta data attributes to content elements in the backend issues a warning if the given content is an empty string.

This change fixes this by adding an empty check to the getHtmlRootElement() method.

[TASK] Update the “Publish all changes” policy settings

The “Publish all changes” button is currently broken due to wrong policy settings, this results in Access denied policy error.

[BUGFIX] Fix policy security settings for Workspace module

When publish using “Publish all changes” or “Discard all changes” in workspace module an security execeptions is thrown.

This commit adds the correct parameter to the security settings.

[BUGFIX] Adjust preview button icon margin when active

[TASK] Improve Behat documentation

Adds a tip and corrects the provided example configuration.

[TASK] Fix rendering of code blocks in Integrators Cookbook doc

For the ReST renderer to render the following lines as a code block, there needs to be an empty line after the ”::”.

[BUGFIX] Fix functional test fixtures after node rendering changes

TYPO3.Neos.NodeTypes

[TASK] Mark TYPO3.Neos:Page as abstract

This change marks the NodeType “TYPO3.Neos:Page” as abstract in order to not render it anymore within the backend but keep things working for users updating from beta2 or earlier.

(cherry picked from commit 29256cf1d323324df0f128014933a351ee9a8a48)

[TASK] Adapt to TypoScript autoInclude of Neos

[TASK] Update composer manifest

See http://ci.typo3.robertlemke.net/job/typo3-neos-branch/2/

[BUGFIX] Fix SelectBoxEditor inclusion

[FEATURE] Made node types menu classes for states configurable

Example:

prototype(TYPO3.Neos.NodeTypes:Menu) {
       attributes.class = 'my-menu'
       active.attributes.class = my-'active-menu-item'
       current.attributes.class = 'my-current-menu-item'
       normal.attributes.class = 'my-normal-menu-item'
}

Depends on https://review.typo3.org/#/c/26036/ Depends on https://review.typo3.org/#/c/26102/ Depends on https://review.typo3.org/#/c/26101/

[!!!][BUGFIX] Move Page from TYPO3.Neos to TYPO3.Neos.NodeTypes

To update, run:

  • ./flow core:migrate –package-key Your.SitePackage # updates your TypoScript and NodeTypes.yaml
  • ./flow node:migrate live 20130911165510 # updates your Node structure

Technically, this change only deprecates TYPO3.Neos:Page not actually removing it yet – so rendering will still work as before for sites which did not do the upgrade from above.

The footer below makes sure that this code migration is not applied anymore to this package.

Make sure to apply the corresponding change of the TYPO3.Neos package as well, which is I35d0ee4eeff5096d9801445bf1c0dc69c6626d44.

[TASK] Adjust Aloha options to new settings structure

Following I6e43eba2a91f82b67102c6f1c29391530ab79be6, this adjusts the Node Type Aloha settings to be “switchable” rather than a simple array.

Depends: I6e43eba2a91f82b67102c6f1c29391530ab79be6 * Related: #54273 * Commit: e047d0c

[TASK] Adapt to configurable editors and validators change

See: I91542f4412ab4e1d91863c77c8058f6d84461829

[TASK] Refactor ContentCollection

ContentCollection should use the WrappingImplementation instead of dealing with the metadata itself.

As ContentCollection is now using the WrappingImplementation the MultiColumnItem shouldn’t extend from TYPO3.Neos:Content as in fact it is no NodeType itself and it would result in duplicated metadata rendered.

[TASK] Adjust composer manifest, only depend on typo3/neos

The former dependencies on Flow and TypoScript are implicit with Neos.

[TASK] Use TYPO3.Neos:Content instead of TYPO3.Neos:Template

[FEATURE] Support configurable cropping / upscaling for images

This change adds two new properties in TYPO3.Neos.NodeTypes:Image to configure if the cropping or up scaling is allowed.

TYPO3.SiteKickstarter

[TASK] Mark TYPO3.Neos:Page as abstract

This change marks the NodeType “TYPO3.Neos:Page” as abstract in order to not render it anymore within the backend but keep things working for users updating from beta2 or earlier.

(cherry picked from commit 29256cf1d323324df0f128014933a351ee9a8a48)

[TASK] Adapt to TypoScript autoInclude of Neos

[TASK] Update composer manifest

See http://ci.typo3.robertlemke.net/job/typo3-neos-branch/2/

[BUGFIX] Fix SelectBoxEditor inclusion

[FEATURE] Made node types menu classes for states configurable

Example:

prototype(TYPO3.Neos.NodeTypes:Menu) {
       attributes.class = 'my-menu'
       active.attributes.class = my-'active-menu-item'
       current.attributes.class = 'my-current-menu-item'
       normal.attributes.class = 'my-normal-menu-item'
}

Depends on https://review.typo3.org/#/c/26036/ Depends on https://review.typo3.org/#/c/26102/ Depends on https://review.typo3.org/#/c/26101/

[!!!][BUGFIX] Move Page from TYPO3.Neos to TYPO3.Neos.NodeTypes

To update, run:

  • ./flow core:migrate –package-key Your.SitePackage # updates your TypoScript and NodeTypes.yaml
  • ./flow node:migrate live 20130911165510 # updates your Node structure

Technically, this change only deprecates TYPO3.Neos:Page not actually removing it yet – so rendering will still work as before for sites which did not do the upgrade from above.

The footer below makes sure that this code migration is not applied anymore to this package.

Make sure to apply the corresponding change of the TYPO3.Neos package as well, which is I35d0ee4eeff5096d9801445bf1c0dc69c6626d44.

[TASK] Adjust Aloha options to new settings structure

Following I6e43eba2a91f82b67102c6f1c29391530ab79be6, this adjusts the Node Type Aloha settings to be “switchable” rather than a simple array.

Depends: I6e43eba2a91f82b67102c6f1c29391530ab79be6 * Related: #54273 * Commit: e047d0c

[TASK] Adapt to configurable editors and validators change

See: I91542f4412ab4e1d91863c77c8058f6d84461829

[TASK] Refactor ContentCollection

ContentCollection should use the WrappingImplementation instead of dealing with the metadata itself.

As ContentCollection is now using the WrappingImplementation the MultiColumnItem shouldn’t extend from TYPO3.Neos:Content as in fact it is no NodeType itself and it would result in duplicated metadata rendered.

[TASK] Adjust composer manifest, only depend on typo3/neos

The former dependencies on Flow and TypoScript are implicit with Neos.

[TASK] Use TYPO3.Neos:Content instead of TYPO3.Neos:Template

[FEATURE] Support configurable cropping / upscaling for images

This change adds two new properties in TYPO3.Neos.NodeTypes:Image to configure if the cropping or up scaling is allowed.

TYPO3.TYPO3CR

[FEATURE] Allow to preset node identifier in NodeTemplate

If creating nodes from external data it can be useful to set the UUID the new nodes get. This change adds setIdentifier() to NodeTemplate.

[BUGFIX] Make reference(s) properties self-repairing

It could happen that properties if type reference(s) end up in the properties of NodeData not as identifiers (as expected) but as serialized NodeData instances. This change repairs those cases on-thy-fly.

Also it amends the check when settings reference(s) properties to also handle AbstractNodeData in addition to NodeInterface.

[BUGFIX] NodeTypeManager returns abstract types

NodeTypeManager::getNodeTypes() returns abstract node types even if the includeAbstractNodeTypes flag is FALSE.

This change fixes this and cleans up the NodeTypeManager.

[!!!][TASK] Change accessors for node types to include abstract nodes

Change the NodeTypeManager API to return abstract nodes by default for the operations getNodeTypes, getSubNodeTypes and to not throw errors on getNodeType with an abstract node type.

The methods get an additional boolean flag to exclude abstract nodes when returning values for convenience.

[BUGFIX] similarize must not merge node properties

NodeData::similarize() currently merges properties of the source code additively to the current node.

This change resets the properties before the merging so that non-existing properties are removed from the target node.

[!!!][TASK] Prevent multiple persistence commits on setPath

Currently nodes are persisted after every call of setPath, even recursively which is unneeded. With this change persist happens only at the end of a recursive setPath call chain.

This is only breaking if you use Node::setPath() in your own code as persisting the changes is no longer happening automatically.

[TASK] Introduce method NodeTypeManager->getNodeTypes()

This introduces a new method which allows for retrieval of all node types

[TASK] Allow fetching of just removed nodes

[TASK] Similarize target node instead of deleting

This change will update the strategy of publishing nodes to keep the original node data and remove the workspace copy if an existing node was changed.

[BUGFIX] Don’t publish arbitrary nodes from any workspace

This adds a check if the node that should be published is actually in the workspace where the publish operation was called.

It fixes the publishing of changed documents after the introduction of a unique constraint on the workspace and path in I75faece045ae2df9249744956886c270b291fb64.

[BUGFIX] Prevent corrupted node trees

Currently if two nodes with the same path are in the same workspace, an exception is thrown putting Neos into an irreversible state.

This change adds a unique index so that duplicate paths are prevented on the database level.

Note: This is only a safeguard to prevent the incorrect state from being persisted. When publishing a node with a duplicate path now, still an exception is thrown. But at least the state is now reversible through the UI (by discarding the workspace changes).

Background: Simply adding a unique index over the “path” and “workspace” columns did not work out, because of the large columns. This is the reason for the new column “hashedPath” that always contains the MD5 hash of the current path. In a future change we can adjust some of the node lookups to compare the value with a pre-calculated hash over the path for a possible performance boost.

TYPO3.TypoScript

[TASK] Prevent Exceptions in TypoScriptPathProxy

[TASK] TypoScript Parser shouldn’t be singleton

[BUGFIX] Default namespace is not available in included TS files

A default namespace (or any other namespace) defined in the TypoScript parser is not defined for included TypoScript files because the parser will create a whole new instance when parsing the include. This change fixes this behaviour by creating a clone of the parser instead.

[TASK] Enable „Configuration” Eel Helper

Requires https://review.typo3.org/#/c/25652/ to be applied

[TASK] Tweak UriBuilder TypoScript object

Slightly improves the UriBuilderImplementation by providing description for all getters and by reducing calls to tsValue(). This also removes all protected fields and setters as they were not used.

[!!!][TASK] Remove fluidTemplateTsObject from TemplateVariableContainer

Get rid of the fluidTemplateTsObject variable exposed in the TemplateVariableContainer inside Templates and ViewHelpers. This is more robust as you don’t have to pass this variable around.

This is only breaking if you implement ViewHelpers that need access to the TypoScriptObject. I this case you now need to use:

$this->viewHelperVariableContainer->getView()
  ->getTypoScriptObject();

Or if you implemented your own view and TypoScriptObject and rely on the fact that you get the TypoScriptObject assign as variable. You will need to implement the TypoScriptAwareViewInterface.

[TASK] Unify TypoScript implementations

Streamlines the TS implementation classes:

  • Remove protected members & setters that were never evaluated
  • Wrap tsValue() calls by getters to make implementations self-describing
  • Move required default properties to TypoScript
  • Commit: d1eea30

[TASK] Attributes TypoScript object

Introduces an Attributes TS object that can be used to render valid HTML/XML attributes.

This also adjusts the Tag TS object to make use of the Attributes prototype internally.

usage:

attributes = TYPO3.TypoScript:Attributes {
  foo = 'bar'
  class = TYPO3.TypoScript:RawArray {
    class1 = 'class1'
    class2 = 'class2'
  }
}

Besides this adds some user friendly description to existing TS prototype definitions.

[FEATURE] Resource TypoScript object

Implements a simple TS object that can be used to render URLs to public resources:

image = TYPO3.TypoScript:ResourceUri {
  path = 'resource://Some.Package/Public/Images/Image.png'
}

[TASK] Refactor Collection to enable versatile content collection

[BUGFIX] allow to use “this” inside a processor

This allows stuff like:

template = Template
// let's imagine "template" contains the string: "Hello"
template.@process.1 = ${value + this.personName}
template.personName = ' Christopher'

This will now render: “Hello Christopher”; instead of just “Hello”.

We need this feature in order to provide “page.body.scripts”; a centralized entry point for JavaScript inside the body.

[BUGFIX] Fix parser behaving incorrect with PHP 5.3

A recent fix to handle processors in a position independent way introduced a bug with PHP 5.3 because of a missing check for an array.

[!!!][TASK] Do not trim rendered strings

To make the output more predictable and allow for spaces at the start and end of strings rendered in TypoScript trim was removed.

If you rely on your output to be trimmed this is breaking. You can get the same behavior if you apply a String.trim() processor to the TypoScript object for which the output should be trimmed.

[BUGFIX] make sure simple values do not override processors

Setting a simple property on a TypoScript object has reset its processors, as shown in the following example:

page = TYPO3.Neos.NodeTypes:Text {
    text.@process.1 = ${String.toUpperCase(value)}
    text = 'foo bar'
}

Expected:

FOO BAR

Actual (without this change):

foo bar

[FEATURE] UriBuilder TypoScript object

This change introduces a TYPO3.TypoScript:UriBuilder TypoScript object that can be used to generate URLs:

page.head.canonical = TYPO3.TypoScript:Tag {
        tagName = 'link'
        attributes {
                rel = 'canonical'
                href = TYPO3.TypoScript:UriBuilder {
                        package = 'TYPO3.Neos'
                        controller = 'Frontend\\\\Node'
                        action = 'show'
                        absolute = TRUE
                        arguments {
                                node = ${node}
                        }
                }
        }
}

TYPO3.NeosDemoTypo3Org

[BUGFIX] Demo site pages use the page from nodetypes

[BUGFIX] Make normal images fluid

[BUGFIX] Remove two left-over “TYPO3.Neos:Page” occurrences from Sites.xml

[TASK] Cleanup and document content elements

Adds inline documentation to TypoScript and NodeType definitions and tweaks PHP, TS and HTML snippets.

(cherry picked from commit 9b937c56de23419ebadf8bef293cf2b07f400af2)

[TASK] Finishing touches for the demo site

  • Carousel only renders images
  • Images in header are responsive
  • Added headers to alle pages without one
  • Rearranged menu items and content
  • Added flickr plugin
  • Commit: 56a5dbc

[FEATURE] Flickr plugin example

Adds a simple “flickr” plugin to the demo site to demonstrate the PluginView feature of Neos.

[TASK] Move Page from TYPO3.Neos to TYPO3.Neos.NodeTypes

This adjusts the Site.xml to the moved Page node type. The Migration footer is added here to not let the migration tool grab that change.

Depends: I35d0ee4eeff5096d9801445bf1c0dc69c6626d44 Depends: Id013f5788a1f11fd9e2c9174e1e0588de0100c39

[FEATURE] Print preview and styling for demo site

Adds “Print” preview mode to backend. Adds print.css. Print style will be applicated in print preview mode. Fixes margins for top navigation when preview panel is open.

Depends on https://review.typo3.org/#/c/24949/

[TASK] Adjust Aloha options to new settings structure

According to #54273 this adjusts the Headline setting, and additionally introduces the possibility to have an h5 heading.

Associated revisions are I6e43eba2a91f82b67102c6f1c29391530ab79be6 and I1e24e4fcefa4948340c1a829651f7f7178dfcc7c.

[BUGFIX] Localization reference corrected to the right package

Due to a reference to the TYPO3.Form package error messages could not be translated. The reference is corrected to the TYPO3.Flow package.

[TASK] Refactoring and js fixes for demo site.

Replaced comments with hashes to double dashes. Topnav will behave correctly when loading other pages in backend. Fixed typos and removed some lost content elements. Added the contact form again to the plugins page and disabled the mail finisher. The youtube element is now responsive. Some other minor improvements.

Depends on https://review.typo3.org/#/c/26081

[TASK] Use the new titleTag in the demo site

Depends on https://review.typo3.org/26059

[TASK] Improved responsive styling for demo site.

Removed excessive white space in breadcrumb in mobile view. Body padding is computed in relation to the navbars height. Chapter navigation has less white space in mobile view. Main navigation links have full width and second level menu is aligned to center. Bit of refactoring in javascript.

[TASK] Updated plugins page in demo site

Moved registration plugin to “try me” page. Removed roadmap page. Added alice pictures to slider again. Refactored registration controller. Registration redirect to neos login currently requires a fix in Neos Authentication Routes “appendExceedingArguments: TRUE”

[TASK] Update demo site TypoScript to removed TYPO3.Neos:Template

[FEATURE] Chapters for demo site

Enhanced chapter node type to use its own layout. Special layout with less navigation elements and improved readability. Pagination from chapter to chapter. All 12 chapters of alice included.

[BUGFIX] Several layout and ts fixes for the demo site

‘has-subpages’ query for body class now works correctly. Javascript section is now correctly setup. Renamed typeplate scss files to match other files. Reversed title structure so you see the current page and not always home in the browser tab. Improved some paddings and margins when the menu wraps.

[TASK] Add h4 to aloha format for node type TYPO3.Neos.NodeTypes:Headline