New checks in Neos 3.3
The checks a cluster can newly fail on when it moves to Neos 3.3. See New checks by version for how to read this page and what it leaves out. The checks of the features new in 3.3 are on their own page.
Generation
| Code | Message | Level | Fix |
|---|---|---|---|
M0094 |
The UI view "{0}" should have at least one visible datagrid column. |
Warning | Make at least one property of the UI view visible in the datagrid. |
M0095 |
The server method "{0}" has no matching implementation file in module "{1}". ... |
Warning | Create it with neos create-server-method-files --module <Module> --name <ServerMethod>. |
M0096 |
The business assembly "{0}" does not match the AssemblyName "{1}" declared in its project ({2}). ... |
Warning | Align the AssemblyName of the .csproj with the name of the business assembly metadata. |
M0097 |
The index "{1}" of data table "{0}" contains the column(s) stored as JSON (LocalizableString, Json or StringArray) "{2}". A column stored as JSON cannot be indexed directly. ... |
Warning | Remove the JSON column from the index. For a LocalizableString column, index instead a computed column that extracts one language — see Indexing with computed columns. |
M0099 |
[EMPTY_KEY_ON_NON_EDITABLE_REFERENCE] Setting the key '{1}' of the non-editable reference '{0}' to an empty value does not create a record: ... |
Warning | Make the reference editable (HasEditableProperties), or assign a new instance to the reference — see References. |
M0103 |
The partial template "{0}" is defined more than once in the UIView "{1}" (modules "{2}" and "{3}"). ... |
Warning | Rename one of them, or declare the second one as an override of the first with OverridenValues. |
M0104 |
The UI view event rule {0} runs on "Initialized" but its name matches the "{1}" event. ... |
Warning | Set the Event of the rule to the event its name gives, or rename the rule if it must run on Initialized. |
M0108 |
The color {0} of theme {1} is a deprecated standard color: use {2} instead. |
Warning | Move the value of the color to the color that replaces it. |
M0108 |
The theme component attribute {0} of component {1} in theme {2} uses the deprecated standard color {3}: use {4} instead. |
Warning | Assign the color that replaces it to the component attribute. |
M0109 |
The theme component attribute {0} of component {1} in theme {2} uses the color {3}, which the theme does not define. ... |
Warning | Define the color in the theme, or assign one of its colors to the component attribute. When the application does not use the theme, disable it instead. |
M0110 |
The project reference "{0}" of the business assembly "{1}" points to the folder of the module "{2}". Use $({2}ModuleDirectory) instead: ... |
Warning | Start the path of the ProjectReference with $(<Module>ModuleDirectory). |
| — | Entity view '{0}' declares an exposed GetAll route '{1}' that contains a placeholder that does not match any entity view parameter or "{rootRoute}". |
Error | Fix the placeholder of the GetAll route, or declare the matching entity view parameter. |
| — | The default value "{2}" of the Json data column "{1}" of the data table "{0}" is not a valid JSON document. |
Error | Give the column a valid JSON default value. |
| — | The primary key data column "{0}" of the data table "{1}" is stored as JSON (Json, LocalizableString or StringArray) and cannot be part of a primary key. |
Error | Use a column that is not stored as JSON in the primary key. |
| — | Programmable object "{0}" must have a configuration for all databases (database type "AllDatabases"). |
Error | Add an AllDatabases configuration to the programmable object. |
| — | The parameter binding mode of the configuration for "{1}" of programmable object "{0}" must be one of the following values: {2}. Current value: "{3}". |
Error | Use one of the binding modes listed in the message. |
| — | Position {1} is used by several parameters of programmable object "{0}" ({2}). Parameter positions must be unique. |
Error | Give each parameter its own position. |
| — | The parameter positions of programmable object "{0}" must start at 1, but the lowest position is {1}. |
Error | Number the parameter positions from 1. |
| — | The parameter positions of programmable object "{0}" must be contiguous, but the following positions are missing: {1}. |
Error | Number the parameter positions without gaps. |
| — | The datagrid width "{0}" of the property "{1}" of the UI view "{2}" is invalid. Use a number (for example 150), "*" or a number followed by a star (for example "2*"). |
Error | Set the DatagridWidth of the property in its YAML to a number, * or a number followed by a star such as 2* (not *2). |
| — | The name "{0}" is reserved for a standard theme. |
Error | In Neos Studio, rename the theme. |
Restore of local modules
On Windows, neos restore and neos generate (which restores by default) report this warning for a module referenced by a local path. It never fails the command, even with --warnaserror.
| Code | Message | Level | Fix |
|---|---|---|---|
| — | Local module {ModuleName} has no Directory.Build.props in {BusinessAssemblyPath}. ... |
Warning | Add to the businessAssembly directory of the module a Directory.Build.props that sets BaseOutputPath and BaseIntermediateOutputPath outside the project folders — see How to consume local modules. |
UI templates
The module checks of the references in a template have their own codes, M0105 and M0106. In Neos 3.2, M0105 messages were reported under M0058, so a GenerationLogLevels entry that lowers M0058 no longer covers them, and M0106 messages were errors without a code.
| Code | Message | Level | Fix |
|---|---|---|---|
M0098 |
The "{0}" value of the {1} on the "{2}" element cannot be assigned because the computed has no setter, whereas the {1} writes into the bound value. Add a setter to the computed or bind a field. — on a two-way attribute |
Warning | Add a setter to the computed, or bind a field — see UI component parameters. |
M0098 |
The "{0}" value of the {1} on the "{2}" element cannot be assigned because the UI view property is not settable (nested property, or property with a getter and no setter), whereas the {1} writes into the bound value. — on a two-way attribute |
Warning | Bind a settable property or a field. |
M0105 |
The "{0}" value of the "{1}" attribute on the "{2}" element references {kind} that belongs to a module this template's module does not depend on. — {kind} is a lookup, a UI view, an image or a menu |
Warning | Add the ModuleAssociation, or reference an element of a module already associated — see Module dependencies. |
M0105 |
The "{0}" value of the {1} on the "{2}" element references a {kind} that belongs to a module this template's module does not depend on. — {kind} is resource or constant |
Warning | Add the ModuleAssociation, or reference an element of a module already associated — see Module dependencies. |
M0105 |
The "{0}" class of the "{1}" attribute on the "{2}" element references a style class that belongs to a module this template's module does not depend on. |
Warning | Add the ModuleAssociation, or reference an element of a module already associated — see Module dependencies. |
M0105 |
The element "{0}" belongs to module "{1}", which is not the module of the template or one of its parent modules. |
Warning | Use a UI component of the module of the template or of one of its parent modules. |
M0106 |
The "{0}" value of the "{1}" attribute on the "{2}" element references {kind} that is Internal and not accessible from this template's module. — {kind} is a lookup, a UI view, an image or a menu |
Warning | Grant access with InternalAccessGrantedTo, or make the element Public — see Module accessibility. |
M0106 |
The "{0}" value of the {1} on the "{2}" element references a {kind} that is Internal and not accessible from this template's module. — {kind} is resource or constant |
Warning | Grant access with InternalAccessGrantedTo, or make the element Public — see Module accessibility. |
M0106 |
The "{0}" class of the "{1}" attribute on the "{2}" element references a style class that is Internal and not accessible from this template's module. |
Warning | Grant access with InternalAccessGrantedTo, or make the element Public — see Module accessibility. |
M0106 |
The element "{0}" belongs to module "{1}", which is Internal and has not granted access to this module. |
Warning | Grant access with InternalAccessGrantedTo, or make the element Public — see Module accessibility. |
| — | The "{0}" value of the {1} on the "{2}" element cannot be assigned because the computed has no setter, whereas the {1} writes into the bound value. Add a setter to the computed or bind a field. — on an attribute the component only writes, such as ref of a chatbot or layout:rendered-size |
Error | Add a setter to the computed, or bind a field. |
| — | The "{0}" value of the {1} on the "{2}" element cannot be assigned because the UI view property is not settable (nested property, or property with a getter and no setter), whereas the {1} writes into the bound value. — on an attribute the component only writes, such as ref of a chatbot or layout:rendered-size |
Error | Bind a settable property or a field. |
M0058 |
The "space-between" value of the "{0}" directive on the "{1}" element has no effect, the directive will be ignored. Use one of the following values: {2}. |
Warning | Remove the directive, or use center, left, right or stretch. |
M0058 |
The "{0}" attribute on the "{1}" element will be ignored. — now also for placeholder on a bound input, and for enable-mask and preview-mode-position on an input-number whose type is a constant other than calculable |
Warning | Remove the attribute. For a placeholder, set Placeholder on the property metadata. |
M0058 |
The "{0}" attribute on the "{1}" element is unexpected, it will be ignored. — now also for automation:repeat-index |
Warning | Remove the attribute, which has no effect: the generator sets the index of the children of a repeat. |
M0109 |
The "{0}" color of the "{1}" attribute on the "{2}" element is not defined by the themes {3}. ... |
Warning | Define the color in the listed themes, or use a color that every enabled theme of the cluster has — see Standard colors. When the application does not use a listed theme, disable it instead. |
M0108 |
The "{0}" color of the "{1}" attribute on the "{2}" element is a deprecated standard color: use "{3}" instead. |
Warning | Use the color given by the message. |
| — | The value of the "{0}" attribute on the "{1}" element must be bound or a value without a semicolon. |
Error | Remove the ; from the style: or transition: directive and give a single CSS value — see Style directives. |
| — | The value of the "{0}" attribute on the "{1}" element must be bound, or one to four colors separated by spaces, for all the sides or for each side. |
Error | Give style:border-color one to four colors. |
| — | The value of the "{0}" attribute on the "{1}" element must be bound or a positive integer. |
Error | Give grid:colspan* and grid:rowspan* an integer of at least 1. |
| — | The "{0}" value of the {1} on the "{2}" element is invalid because it seems that the field does not exist. and The "{0}" value of the {1} on the "{2}" element is invalid because it seems that the bound element doesn't exist., only on a directive attribute: layout:align-self-horizontal, layout:align-self-vertical, layout:visibility, layout:margin, layout:padding, style:corner-radius or dragdrop:data (never on element content) |
Error | Fix the bound name — see Layout directives. |
Analyzers
| Code | Message | Level | Fix |
|---|---|---|---|
NEOS0006 |
'{0}' loads every matching item just to read its '{1}'; use RetrieveCountAsync or RetrievePagedItemsAsync instead |
Warning | Use RetrieveCountAsync or RetrievePagedItemsAsync — see Analyzers. |
NEOS0007 |
The expression '{0}' is implicitly converted to a LocalizableString that will only contain the default language text; ... |
Warning | Build a LocalizableString with every language, or from a string resource — see Analyzers. |
NEOS0008 |
'{0}' overrides the '{1}' rule of module '{2}' but no public constructor accepts a '{1}' parameter; ... |
Error | Add a public constructor accepting the base rule (usually named baseRule). |
NEOS0009 |
'{0}' is the base implementation of the '{1}' rule of module '{2}' and must not request a '{1}' parameter, which makes it depend on itself; remove it |
Error | Remove the parameter of the rule's own interface from the constructor. |