General
This change record is to collect changes from
#2407505: [meta] Finalize the menu links (and other user-entered paths) system and it's children and very related issues.
Menu links not storing routes, storing URI
Before:
Menu links could be stored as routes, but if that route goes away, and another thing makes that path valid, the path still went to the route and would be broken.
Now:
Menu links are stored with a link field, and it stores using a URI.
The entity base table structure, see baseFieldDefinitions()
Before:
route_name
route_parameters
url
options
After:
link
See #2406749: Use a link field for custom menu link
Use user-path: scheme to Url class
before:
some usages like
Url::fromUri('base:...)
after:
should use user-path:
Url::fromUri('user-path:...)
See docs param $uri on Url::fromUri().
See #2417333: Add support for user-path: scheme to Url class
Menu Link form uses Link widget, stores as user-path:path
Before:
The data in the table is stored like path
After:
The data in the table is stored like mostly like user-path:path OR sometimes like entity:node/1
See #2416955: Convert MenuLinkContent to use a link widget
Background
Change record:
Menu links converted to plugins, including static, views, and content entity implementations
https://www.drupal.org/node/2302069 might be related.
Comments
s/user-path/internal/g
Note that
user-path:
changed tointernal:
with #2417567: Rename user-path: scheme to internal: