[SOLVED] Content dimensions odd behaviour

Hi guys, I got a couple of websites based on Neos 3.1.x with content dimensions: language and country, (totally similar configuration to the one in the official docs) and the package moc/notfound.

Unfortunately we realized that some combinations do not work, but not managing content editing I can’t say if it was always like that or “something happened” at some point.

Basically calling http://www.domain.com/de_de (of course the 404 page is there), I receive the error message:

Uri with path "http://www.domain.com/de_de/404.html" could not be found.

Exception Code	1426446160
Exception Type	Exception
Thrown in File	Data/Temporary/Development/Cache/Code/Flow_Object_Classes/MOC_NotFound_ViewHelpers_RequestViewHelper.php
Line	91
Original File	Packages/Plugins/MOC.NotFound/Classes/ViewHelpers/RequestViewHelper.php

if I uninstall moc/notfound package the same page ends in:

Page Not Found
Sorry, the page you requested was not found.
#1303209195: No controller could be resolved which would match your request. Package key: "", controller name: "Standard". (GET http://www.domain.com/de_de)

And behind the scenes i receive this exception (in both cases):

FrontendNodeRoutePartHandler matchValue(): The resolved content dimension preset combination (language, country) is invalid or restricted by content dimension constraints. Check your content dimension settings if you think that this is an error.
17-05-02 19:58:48 16         NOTICE    Flow                 Router route(): No route matched the route path "de_de".

Now:

  • in the backend I can choose the combination without problem (apart cloning the website in the new one ends in the same error)
  • calling /neos/service/content-dimensions I see all the presets correctly
  • in backend Configuration section everything looks normal and no error messages are shown

The even more odd thing is that an equally configured combination works just fine.
Following the above example, this is the relevant configuration where de_at works and de_de does not:

Neos:  
  ContentRepository:
    contentDimensions:
      'language':
        default: en
        defaultPreset: en
        label: Language
        icon: icon-language
        presets:
          [...]
          de:
            label: German
            values:
              - de
            uriSegment:  de
            constraints:
              country:
                de: true
                ch: true
                at: true
                li: true
                lu: true
                '*': false
          [...]
      'country':
        default: int
        defaultPreset: int
        label: Country
        icon: icon-globe
        presets:
          [...]
          at:
            label: Austria
            values:
              - at
            uriSegment: at
          [...]
          de:
            label: Germany
            values:
              - de
            uriSegment: de

I tried several combinations of node:repair and node:migrate, with no luck; I’m completely out of ideas.

Can anyone please point me in the right direction (if there is one)? Any help would be appreciated.

Thanks,
Nicola

After some deeper tests it seems that the issue is caused by version 3.1 of Neos, simply rolling back to 3.0.3 fix the issue indeed.

I don’t know yet how to make the problem reproducible as I did not catch exactly what’s causing it but I make myself available to any Neos Team Developer to try to find out what’s causing this issue, just in case it’s needed.

Bests,
Nicola

Hi again,
after some digging I found out it was a package-loading order problem.

Sorry,
Nicola