Generation message level configuration
The level of some messages emitted by the Neos generator is configurable.
These messages appear like this in the output of the neos generate command:
{Time} {MessageLevel} {MessageCode}:{ElementIdentifier} - {Message}
You can disable them globally with the GenerationLogLevels property in the cluster configuration:
GenerationLogLevels:
{MessageCode}: None
It is also possible to change the log level:
GenerationLogLevels:
{MessageCode}: Information
Warning
We advise you to never use this feature to reduce the severity level of a message.
If you judge that on a given element the message is not justified (a rule does not always apply to 100% of cases), it is possible to customize the log level only for this element.
In Neos Studio, you must go to the properties of the module containing the element and activate the Generation message level configuration tab.
From this screen, you can configure the log level by indicating {MessageCode} and {ElementIdentifier} as well as a justification.
UI template references
Since Neos 3.2, UI template generation validates every reference to a UI view, an image, a menu, a lookup, a string resource, or a UI component:
- it must point to an element that exists,
- the referenced element's module must be a declared module dependency of the template's module,
- if the referenced element is
Internal, the template's module must be granted access — see Module accessibility.
The two checks are not configured the same way. Existence and module-dependency violations are warnings — mostly collapsed into a single generic message code, so lowering it also silences unrelated template warnings; use with care. Internal-accessibility violations are hard generation errors with no message code at all — they cannot be ignored through GenerationLogLevels. In both cases, fix by correcting the reference, adding the missing ModuleAssociation, or granting InternalAccessGrantedTo as appropriate.
.NET type references across modules
A metadata property that references an arbitrary .NET type by name (for example a DataObjectProperty.DotNetDataType, or a ProgrammableObjectParameter) is free text, so neos generate validates it on two independent axes:
M0090— the referenced type isInternaland its module has not granted access to the referencing module. Fix the same way as anInternal-accessibility violation elsewhere: grantInternalAccessGrantedTo, or make the typePublicif it is meant to be broadly reusable.M0091— the referenced type's module is not a declaredModuleAssociationdependency of the referencing module, regardless ofAccessibility. Declare the missing dependency, or, if the two modules would then depend on each other in both directions, reconsider which module should actually own the referenced type.
Covers DataObject, Interface, EnumType, ConstantsStaticClass, Notification, ProgrammableObject, Entity, EntityView, UIView, and UIComponent — a smaller set than the transpiled-UI-C# [Origin] check (no ServerMethod, UISharedMethod, Lookup, Theme, Image, Report, or ReportStyle).