Change record status: 
Project: 
Introduced in branch: 
8.x
Description: 

Change explanation

Configuration entities store values in storage files. The names of these files is composed from salient properties of the entity. The combination of all the parts cannot exceed a string length of 250 characters, leaving 5 extra characters for the file extension. We have allotted 83 characters for the prefix and 166 characters for the machine name (see Limit length of Config::$id to something <= 166 characters).

File names are roughly divided into two main pieces. Let's look at an example:

entity.form_mode.user.register

split into its two main pieces...

entity.form_mode | user.register

generalized to quasi-variable names...

{prefix} | {machine_name}

The change in this issue concerns the length of the file name prefix, which is composed from the extension name and either the config entity's config_prefix property or, if does not exist, its entity ID.

{extension}.{config_prefix} or {extension}.{entity id}

The combination of these two pieces may not exceed 83 characters (really 82 characters and one character for the dot between them).

You will not be able to install configuration if the prefix of your configuration file exceeds 83 characters. A ConfigPrefixLengthException error will be thrown if your module tries to install a config entity with a too-long prefix name.

You should take these steps to avoid this error:

  1. Keep your module name short if you have not named it yet.
  2. Keep the value of the config_prefix config entity property as short as possible.
  3. Keep the value of an entity's ID as short as possible.

Related changes

Meta issue: Create sensible limits for the maximum length of configuration object filename components

Impacts: 
Module developers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done

Comments

juliaop’s picture

i'm using Long path Tool For everything like this.