Problem/Motivation

In #3252386: Use PHP attributes instead of doctrine annotations we added support for attribute based plugin discovery.
As part of that issue we converted block and action plugins.

This issue is to convert \Drupal\Core\Field\Annotation\FieldWidget plugins to use Attributes.

Proposed resolution

  1. Add a class to represent the new Attribute - Example
  2. Update the plugin manager constructor to include both the attribute and annotation class names - example
  3. Convert all plugins that use the annotation to use the new attribute - example

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Issue fork drupal-3420978

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

larowlan created an issue. See original summary.

mstrelan’s picture

Assigned: Unassigned » mstrelan

mstrelan’s picture

Status: Active » Needs review
mstrelan’s picture

Assigned: mstrelan » Unassigned
smustgrave’s picture

Status: Needs review » Reviewed & tested by the community
Issue tags: +Needs Review Queue Initiative

Sorry didn't mean to leave this hanging.

Based on your last comment seems "Additional annotation keys" isn't a problem I believe.

Searched for @FieldWidget and all 37 instances in core have been replaced.

From feedback on other tickets also searched for Field\Annotation\FieldWidget and that was replaced also.

alexpott’s picture

Version: 11.x-dev » 10.3.x-dev
Status: Reviewed & tested by the community » Fixed

Committed d0e9611 and pushed to 11.x. Thanks!
Committed 890e58d and pushed to 10.3.x. Thanks!

diff --git a/core/lib/Drupal/Core/Field/Attribute/FieldWidget.php b/core/lib/Drupal/Core/Field/Attribute/FieldWidget.php
index f93433e7b2..9b98af3cd5 100644
--- a/core/lib/Drupal/Core/Field/Attribute/FieldWidget.php
+++ b/core/lib/Drupal/Core/Field/Attribute/FieldWidget.php
@@ -12,7 +12,7 @@
  *
  * Widgets handle how fields are displayed in edit forms.
  *
- * Additional annotation keys for widgets can be defined in
+ * Additional attribute keys for widgets can be defined in
  * hook_field_widget_info_alter().
  *
  * @see \Drupal\Core\Field\WidgetPluginManager
diff --git a/core/modules/field/field.api.php b/core/modules/field/field.api.php
index ddaf9309e6..7656b41d58 100644
--- a/core/modules/field/field.api.php
+++ b/core/modules/field/field.api.php
@@ -173,7 +173,7 @@ function hook_field_storage_config_update_forbid(\Drupal\field\FieldStorageConfi
  *
  * @param array $info
  *   An array of information on existing widget types, as collected by the
- *   annotation discovery mechanism.
+ *   plugin discovery mechanism.
  */
 function hook_field_widget_info_alter(array &$info) {
   // Let a new field type re-use an existing widget.

Fixed the above on commit. Also did this on the formatter issue too. I agree with @mstrelan that wording of additional keys is odd but saying annotation is worse than attribute so /shrug.

  • alexpott committed 890e58d7 on 10.3.x
    Issue #3420978 by mstrelan, smustgrave: Convert FieldWidget plugin...

  • alexpott committed d0e96114 on 11.x
    Issue #3420978 by mstrelan, smustgrave: Convert FieldWidget plugin...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.