Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Out of 149 criticals, 20 of them (~13.4%) have Entity system, Field system, or Field UI as their component. There are likely other ones hiding in there as well. Unfortunately, this situation has basically gone unchanged since the last time I pulled these numbers (July it was 18/140, or ~12.8%), despite the fact that I know a small handful of people are working very hard on these.
I think it's worth the folks leading this effort to have a real hard discussion about what things we can push to D9 (and/or 8.1.x) so that we can get D8 out the door.
Yes, we absolutely should. Each area of core needs a firm path to beta/RC. I feel like I know what that path is for CMI and WSCCI, I'm not as sure with entity/field API. That list of issues above is ENORMOUS. :( There's gotta be stuff in there we can de-scope in order to get things into a better place sooner.
Not everything in that list is critical or even major, not everything is beta blocking/target/API changing. A list of beta blockers is being worked on, @catch and @xjm are in the loop.
Yes, I realize that. However, by nothing in this ginormous list being explicitly de-scoped, it's all still on the table, which means we in a lot of cases end up picking away at these edges and making less progress on the beta/release blockers overall. For example, #1976158: Rename entity storage/list/form/render "controllers" to handlers which is a great DX improvement, but doesn't actually directly lead to getting D8 out the door faster (rather, it causes issues that *do* get D8 out the door faster to have to re-roll their patches, hence delaying the release overall).
Maybe I'm needlessly worrying, and there are tons of these entity/field API criticals which are mere docblock-and-whitespace-nit-picking away from getting into 8.x? Can we focus instead on cranking those out, and then turn back to refactoring once things are in a better place, assuming there are still non-Entity/Field API issues blocking the beta?
I don't know. We're 6 months past the initial API freeze now, though, and I fear if we fast-forward another 6 months and still don't have a beta out, we'll be facing widespread burnout of the core team ala D7 which I do NOT want to repeat under any circumstances. :( I'm trying to take Dries's call for focus seriously, and entity/field API takes up a non-trivial portion of what's left. I'm genuinely open to whatever ideas you have.
20 of them (~13.4%) have Entity system, Field system, or Field UI as their component. There are likely other ones hiding in there as well. Unfortunately, this situation has basically gone unchanged since the last time I pulled these numbers (July it was 18/140, or ~12.8%),
I'm not sure that indicates lack of progress. Some current field API critical issues are sub-tasks of old meta issues, which have been independently promoted to critical. An example would be #2015687: Convert field type to FieldType plugin for taxonomy module which is one of two remaining conversions from an older critical meta issue that previously covered several, and which I just promoted to critical yesterday.
The same has been happening for the last, sticky CMI conversions that were previously covered under one critical meta issue, and in other subsystems too. Basically by not swamping the critical queue with dozens/hundreds of trivial conversions, we also managed to hide some intractable, release-blocking issues in the major/normal queues until they eventually ended up individually blocking the criticals. Some like menu links (which is as much CMI/WSCCI as an entity system issue although it's been primarily entity system that's resolved it) were obvious at the time as hard issues, some like search variables not so much.
So for those kinds of issues at least, it was technical debt introduced a long time ago, where 90% of the conversions are done, and 90% of the conversions are remaining ;)
Looking through the rest of the Entity/Field stuff in the critical queue, fourthree of those critical issues are render caching-related, which is completely distinct from Entity/Field API improvements. That's using the entity/field API to cover over performance regressions introduced throughout the rendering process (some of which is within the entity/field API but a lot of it isn't - Twig, link generation, CMI - anything which can happen within entity view). And to improve (cached) rendering performance to a position that's faster compared to 7.x's uncached performance, to compensate for other performance regressions outside of entity rendering too, we hope. Neither of these are anything to do with this issue, except that it happens to be entity/fields that make up the bulk of page content in Drupal.
I've also committed one critical Entity patch this morning, and downgraded a critical/beta blocker that was fixed enough by that patch to no longer be critical/beta blocker.
All of that combined, I get 16 total issues in the critical queue (as of today) that are in those three components, minus 5 issues which are not Entity/Field API changes or are performance/usability improvements, which leaves 11.
I count 124 critical issues in the queue at the moment, not 149, but those ten remaining critical bugs and API changes which properly belong to this meta issue come in at 8.8% of 124.
ad #27: I'm unsure why it's expected that the Entity & Fields system criticals have to be fixed faster than the others :-(
Anyway, @number-of-criticals:
Yes, as pointed out by catch a lot of stuff gets put into the entity-bag. If we want to look at this conversion I think it would be more reasonable to filter criticals by our tag: link
Yes, I realize that. However, by nothing in this ginormous list being explicitly de-scoped, it's all still on the table, which means we in a lot of cases end up picking away at these edges and making less progress on the beta/release blockers overall
I don't think there is a reason to de-scope anything if it can go in after beta as well. But as you know we are currently identifying beta blockers what prioritizes them and - imho - leads exactly to the discussion you'd like to see.
#1976158: Rename entity storage/list/form/render "controllers" to handlers is certainly an issue that could be discussed for d8/d9, although I think it's critical for a sane DX. However, I don't see renames like this so problematic as the amount of required rerolls is minimal when the patches can go in fast. Moreover, I see the time it takes to get an average RTBC issue in - without any IRC boost - as more problematic. After a few weeks patches always start to conflict given d8's development pace, need periodic re-rolls and consequently take away worthwhile contribution time.
Moreover, I see the time it takes to get an average RTBC issue in - without any IRC boost - as more problematic.
This! I've also said it a few times before, good to know I'm not the only one concerned by it.
Edit: I realised that this comment could be interpreted as a critique regarding core maintainers. It's definitely not. The number of core maintainers relative to the number of patches in the queue is the issue, IMO.
I realised that this comment could be interpreted as a critique regarding core maintainers. It's definitely not. The number of core maintainers relative to the number of patches in the queue is the issue, IMO.
I don't intended to blame core maintainers either. I'm not sure whether the problem is the number of maintainers though, or more the development model used for developing a project of d8's size.
Anyway, that's a discussion which doesn't belong on this meta. My apologies for bringing this up here, but it gets sometimes frustrating.
Do we really want to keep the "Completed" section here ?
Also, when adding new issues in the summary list (well, at least in the "Not completed section"), it would be more convenient for people following here to also put the issue links in the comment :-)
I think the completed section is useful, we either have to move or delete completed issues, because the colors for fixed/resolved/needs work and so on are inconsistent and it's impossible to easily see what's remaining. That said, maybe move it below?
Will try to remember to comment about new issues, I mostly just moved them around.
(this "completed" section is also why just the "view diff" is not good enough, because when looking at the diff you can't really tell if a change happened in the "completed" or "not completed" section :-p)
@rivimey: Thanks! That issue "only" needs a change notice, I think it's fine to leave it where it is. See https://groups.drupal.org/node/394113, you're very welcome to start writing one :)
Adding #2182239: Improve ContentEntityBase::id() for better DX, which improves DX for implementing entity types ( no need to override id() and so on) and should make it faster when I've completed the pre-fill part. Should also address concerns from @yched about having to go through all the entity field methods/magic to access simple entity keys when I'm done with the optimization part.
There are also a bunch of other small issues, e.g. new field types and schema related improvements, not sure how much we want to list here.
Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.
Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.
Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)
Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)
Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)
Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)
Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.
CreditAttribution: rivimey as a volunteer and at IvimeyCom commented
Folks, the title of this issue is "Complete...", which implies a vision of what complete looks like, but this list seems to have become simply a list of entity issues.
How about working through the list of incomplete items, bumping some to "entity issues for D9" and some to "entity issues for D10", preferably with some overarching vision guiding both sets, and then mark this list closed?
Comments
Comment #0.0
BerdirUpdated issue summary.
Comment #0.1
BerdirUpdated issue summary.
Comment #0.2
BerdirUpdated issue summary.
Comment #0.3
BerdirAdd kill issue
Comment #0.4
fagoAdded another nice to have.
Comment #0.5
BerdirUpdated issue summary.
Comment #0.6
plachUpdated issue summary.
Comment #0.7
plachUpdated issue summary.
Comment #0.8
BerdirAdding a space to see the updates issue colors.
Comment #0.9
BerdirUpdated issue summary.
Comment #0.10
BerdirUpdated issue summary.
Comment #0.11
BerdirUpdated issue summary.
Comment #0.12
BerdirUpdated issue summary.
Comment #0.13
fagoUpdated issue summary.
Comment #0.14
BerdirUpdated issue summary.
Comment #0.15
BerdirUpdated issue summary.
Comment #0.16
BerdirUpdated issue summary.
Comment #0.17
BerdirUpdated issue summary.
Comment #0.18
swentel CreditAttribution: swentel commentedUpdated issue summary.
Comment #0.19
BerdirUpdated issue summary.
Comment #0.20
BerdirUpdated issue summary.
Comment #0.21
BerdirUpdated issue summary.
Comment #0.22
plachUpdated issue summary.
Comment #0.23
BerdirUpdated issue summary.
Comment #0.24
BerdirUpdated issue summary.
Comment #0.25
BerdirUpdated issue summary.
Comment #0.26
BerdirUpdated issue summary.
Comment #1
BerdirComment #2
BerdirComment #3
BerdirComment #4
BerdirComment #5
BerdirComment #6
fagoComment #7
yched CreditAttribution: yched commentedAdded #2132145: Rename 'typed_data' / Drupal::typedData() to 'typed_data_manager' / Drupal::typedDataManager
Comment #8
yched CreditAttribution: yched commentedbleh, added link in wrong "summary" :/
Comment #9
yched CreditAttribution: yched commentedAdded #2134887: move field_view_field() / field_view_value() to methods Assigned to: zwischenzug
Comment #10
BerdirComment #11
BerdirComment #12
BerdirComment #13
BerdirComment #14
fagoComment #15
yched CreditAttribution: yched commentedAdded #2142549: Support multi-column field types in base tables
Comment #16
yched CreditAttribution: yched commentedAdded #2143291: Clarify handling of field translatability
Comment #17
yched CreditAttribution: yched commentedAdded #2143263: Remove "Field" prefix from FieldDefinitionInterface methods
Comment #18
yched CreditAttribution: yched commentedAdded #2143297: setters on FieldDefinitionInterface
Comment #19
fagoAdded #2144263: Decouple entity field storage from configurable fields to the summary.
Comment #20
yched CreditAttribution: yched commentedAdded #2144327: Make all field types provide a schema()
Comment #21
fagoAdded #2144631: Add a revisionable key to field definitions
Comment #22
fagoOpened #2144677: Add per entity type managers to improve DX
Comment #23
rivimeyComment #24
rivimeyComment #25
rivimeyComment #26
rivimeyComment #27
webchickOut of 149 criticals, 20 of them (~13.4%) have Entity system, Field system, or Field UI as their component. There are likely other ones hiding in there as well. Unfortunately, this situation has basically gone unchanged since the last time I pulled these numbers (July it was 18/140, or ~12.8%), despite the fact that I know a small handful of people are working very hard on these.
I think it's worth the folks leading this effort to have a real hard discussion about what things we can push to D9 (and/or 8.1.x) so that we can get D8 out the door.
Comment #28
yched CreditAttribution: yched commentedAdded #2151775: EntityFormController does things that only make sense for ContentEntities
Comment #29
BerdirComment #30
amateescu CreditAttribution: amateescu commented@webchick: ... really? Should we do the same count for CMI or WSCCI then?
~13.4% does not seem like a lot to me considering the impact of the entity field api on D8.
Comment #31
webchickYes, we absolutely should. Each area of core needs a firm path to beta/RC. I feel like I know what that path is for CMI and WSCCI, I'm not as sure with entity/field API. That list of issues above is ENORMOUS. :( There's gotta be stuff in there we can de-scope in order to get things into a better place sooner.
Comment #32
BerdirNot everything in that list is critical or even major, not everything is beta blocking/target/API changing. A list of beta blockers is being worked on, @catch and @xjm are in the loop.
Comment #33
webchickYes, I realize that. However, by nothing in this ginormous list being explicitly de-scoped, it's all still on the table, which means we in a lot of cases end up picking away at these edges and making less progress on the beta/release blockers overall. For example, #1976158: Rename entity storage/list/form/render "controllers" to handlers which is a great DX improvement, but doesn't actually directly lead to getting D8 out the door faster (rather, it causes issues that *do* get D8 out the door faster to have to re-roll their patches, hence delaying the release overall).
Maybe I'm needlessly worrying, and there are tons of these entity/field API criticals which are mere docblock-and-whitespace-nit-picking away from getting into 8.x? Can we focus instead on cranking those out, and then turn back to refactoring once things are in a better place, assuming there are still non-Entity/Field API issues blocking the beta?
I don't know. We're 6 months past the initial API freeze now, though, and I fear if we fast-forward another 6 months and still don't have a beta out, we'll be facing widespread burnout of the core team ala D7 which I do NOT want to repeat under any circumstances. :( I'm trying to take Dries's call for focus seriously, and entity/field API takes up a non-trivial portion of what's left. I'm genuinely open to whatever ideas you have.
Comment #34
catchI'm not sure that indicates lack of progress. Some current field API critical issues are sub-tasks of old meta issues, which have been independently promoted to critical. An example would be #2015687: Convert field type to FieldType plugin for taxonomy module which is one of two remaining conversions from an older critical meta issue that previously covered several, and which I just promoted to critical yesterday.
The same has been happening for the last, sticky CMI conversions that were previously covered under one critical meta issue, and in other subsystems too. Basically by not swamping the critical queue with dozens/hundreds of trivial conversions, we also managed to hide some intractable, release-blocking issues in the major/normal queues until they eventually ended up individually blocking the criticals. Some like menu links (which is as much CMI/WSCCI as an entity system issue although it's been primarily entity system that's resolved it) were obvious at the time as hard issues, some like search variables not so much.
So for those kinds of issues at least, it was technical debt introduced a long time ago, where 90% of the conversions are done, and 90% of the conversions are remaining ;)
Looking through the rest of the Entity/Field stuff in the critical queue,
fourthree of those critical issues are render caching-related, which is completely distinct from Entity/Field API improvements. That's using the entity/field API to cover over performance regressions introduced throughout the rendering process (some of which is within the entity/field API but a lot of it isn't - Twig, link generation, CMI - anything which can happen within entity view). And to improve (cached) rendering performance to a position that's faster compared to 7.x's uncached performance, to compensate for other performance regressions outside of entity rendering too, we hope. Neither of these are anything to do with this issue, except that it happens to be entity/fields that make up the bulk of page content in Drupal.#2099137: Entity/field access and node grants not taken into account with core cache contexts
#2099105: Clean-up render cache when permission changes
#2099131: Use #pre_render pattern for entity render caching
#1510544: Allow to preview content in an actual live environment is also not really entity/field API (and was promoted to critical by webchick in October) - that's a usability regression/improvement.
Another is missing hook_help() for display modes.
I've also committed one critical Entity patch this morning, and downgraded a critical/beta blocker that was fixed enough by that patch to no longer be critical/beta blocker.
All of that combined, I get 16 total issues in the critical queue (as of today) that are in those three components, minus 5 issues which are not Entity/Field API changes or are performance/usability improvements, which leaves 11.
I count 124 critical issues in the queue at the moment, not 149, but those ten remaining critical bugs and API changes which properly belong to this meta issue come in at 8.8% of 124.
Comment #35
fagoad #27: I'm unsure why it's expected that the Entity & Fields system criticals have to be fixed faster than the others :-(
Anyway, @number-of-criticals:
Yes, as pointed out by catch a lot of stuff gets put into the entity-bag. If we want to look at this conversion I think it would be more reasonable to filter criticals by our tag: link
I don't think there is a reason to de-scope anything if it can go in after beta as well. But as you know we are currently identifying beta blockers what prioritizes them and - imho - leads exactly to the discussion you'd like to see.
#1976158: Rename entity storage/list/form/render "controllers" to handlers is certainly an issue that could be discussed for d8/d9, although I think it's critical for a sane DX. However, I don't see renames like this so problematic as the amount of required rerolls is minimal when the patches can go in fast. Moreover, I see the time it takes to get an average RTBC issue in - without any IRC boost - as more problematic. After a few weeks patches always start to conflict given d8's development pace, need periodic re-rolls and consequently take away worthwhile contribution time.
Comment #36
amateescu CreditAttribution: amateescu commentedThis! I've also said it a few times before, good to know I'm not the only one concerned by it.
Edit: I realised that this comment could be interpreted as a critique regarding core maintainers. It's definitely not. The number of core maintainers relative to the number of patches in the queue is the issue, IMO.
Comment #37
BerdirComment #38
fagoI don't intended to blame core maintainers either. I'm not sure whether the problem is the number of maintainers though, or more the development model used for developing a project of d8's size.
Anyway, that's a discussion which doesn't belong on this meta. My apologies for bringing this up here, but it gets sometimes frustrating.
Comment #39
BerdirComment #40
BerdirComment #41
yched CreditAttribution: yched commentedDo we really want to keep the "Completed" section here ?
Also, when adding new issues in the summary list (well, at least in the "Not completed section"), it would be more convenient for people following here to also put the issue links in the comment :-)
Comment #42
BerdirI think the completed section is useful, we either have to move or delete completed issues, because the colors for fixed/resolved/needs work and so on are inconsistent and it's impossible to easily see what's remaining. That said, maybe move it below?
Will try to remember to comment about new issues, I mostly just moved them around.
Comment #43
yched CreditAttribution: yched commentedClosed #1798140: Agree upon terminology for configurable fields
Comment #44
yched CreditAttribution: yched commentedAdded a new "Widgets / formatters rendering", moved a couple existing issues into it, and added #2090509: Optimize entity_get_render_display() for the case of "multiple entity view"
Comment #45
yched CreditAttribution: yched commentedRight. Moved "Completed" below.
(this "completed" section is also why just the "view diff" is not good enough, because when looking at the diff you can't really tell if a change happened in the "completed" or "not completed" section :-p)
Comment #46
yched CreditAttribution: yched commentedAdded #2152825: rename FieldItemBase::getFieldSetting[s]() to getSetting[s]()
Comment #47
BerdirAdded #2157153: Remove field_attach_preprocess().
Comment #48
BerdirMoved #1798140: Agree upon terminology for configurable fields to completed.
Comment #49
BerdirComment #50
BerdirMoved #2132145: Rename 'typed_data' / Drupal::typedData() to 'typed_data_manager' / Drupal::typedDataManager and #2095283: Remove non-storage logic from the storage controllers to completed.
Comment #51
BerdirAdded #2145103: Provide non-configurable field types for entity created, changed and timestamp fields to nice things, aka not a requirement or blocker in anyway, but a non API-changing addition with pretty nice DX improvements.
Comment #52
rivimeyMoved #2157153: Remove field_attach_preprocess() to Completed
Moved #2027795: Optimize content entity serialization to Completed
Moved #2070429: Configurable fields aren't validated against the "required" constraint except in forms to Completed
Comment #53
rivimey#1879200: Remove uneeded $entity_type argument from entity type callbacks is in the completed section but is currently marked Active following a status update from 'catch'. I'm not sure quite what has happened but it seems possible it should be moved back out of Completed.
Comment #54
Berdir@rivimey: Thanks! That issue "only" needs a change notice, I think it's fine to leave it where it is. See https://groups.drupal.org/node/394113, you're very welcome to start writing one :)
Comment #55
BerdirMoved #1823494: Field API assumes serial/integer entity IDs, but the entity system does not and #2144327: Make all field types provide a schema() to completed. Also moving #2005716: Promote EntityType to a domain object down, still needs a change notice though.
Added #2165155: Change $entity_type to $entity_type_id and $entity_info to $entity_type/$entity_types, #2164827: Rename the entityInfo() and entityType() methods on EntityInterface and EntityStorageControllerInterface, #2119905: Provide @ConfigEntityType and @ContentEntityType to have better defaults and #2168333: Ensure custom EntityType controllers can be provided by modules as follow-ups/related of that issue.
Adding #2156337: merge ConfigEntityReferenceItemBase up into EntityReferenceItem, and fix inconsistencies to the entity field issues.
Comment #56
BerdirMoved the following to completed:
* #2042773: Change #items within a theme_field() render array from an *array* to the same $items *object* used throughout the rest of the formatter pipeline
* #2110467: Add first(), get($index) and possibly other methods to ListInterface
* #2168333: Ensure custom EntityType controllers can be provided by modules
* #2151775: EntityFormController does things that only make sense for ContentEntities (closed as duplicate)
Comment #57
amateescu CreditAttribution: amateescu commentedAdded #2192259: Remove ConfigField.. Item and List classes + interfaces.
Comment #58
BerdirMoved the two huge rename follow-up issues that were fixed down:
- #2165155: Change $entity_type to $entity_type_id and $entity_info to $entity_type/$entity_types
- #2164827: Rename the entityInfo() and entityType() methods on EntityInterface and EntityStorageControllerInterface
Replaced with a bunch of much smaller follow-ups:
- #1981858: Rename hook_entity_info/alter() to hook_entity_type_build/alter()
- #2191651: Rename Drupal\Core\Entity\Query\QueryInterface::getEntityType() to getEntityTypeId()
- #2191655: Type hint $entity_type everywhere it is an instance of EntityTypeInterface.
Also moved #2090509: Optimize entity_get_render_display() for the case of "multiple entity view" to fixed, just needs a change notice now.
Added #2154711: Move entity_get_(form/view)_mode_options() functions to EntityManager and add get(Form/View)ModeOptions() methods, moves entity_get_view_modes() to the entity manager should then allow us to kill entity_info_cache_clear(), this is the last static reset in there.
Adding #2182239: Improve ContentEntityBase::id() for better DX, which improves DX for implementing entity types ( no need to override id() and so on) and should make it faster when I've completed the pre-fill part. Should also address concerns from @yched about having to go through all the entity field methods/magic to access simple entity keys when I'm done with the optimization part.
There are also a bunch of other small issues, e.g. new field types and schema related improvements, not sure how much we want to list here.
Comment #59
BerdirMoving the following to completed:
#2191655: Type hint $entity_type everywhere it is an instance of EntityTypeInterface.
#2078387: Add an EntityOwnerInterface
#2152825: rename FieldItemBase::getFieldSetting[s]() to getSetting[s]()
#2156337: merge ConfigEntityReferenceItemBase up into EntityReferenceItem, and fix inconsistencies
#2167267: Remove deprecated field_attach_*_view() (Was not in the meta before, but split up from the field_attach_form() issue but worth mentioning, also still needs a change record)
Comment #60
BerdirYay progress!
Moved the following to completed:
- #1981858: Rename hook_entity_info/alter() to hook_entity_type_build/alter()
- #2191651: Rename Drupal\Core\Entity\Query\QueryInterface::getEntityType() to getEntityTypeId()
- #2119905: Provide @ConfigEntityType and @ContentEntityType to have better defaults
- #2095303: Rename 'field_entity' to 'field_config' and 'field_instance' to 'field_instance_config'
- #1980822: Support any entity with path.module
Added #2201051: Convert path.module form alters to a field widget as a follow-up of the last one.
Comment #61
rivimeyMove these to completed:
#1696648: [META] Untie content entity validation from form validation
#2002134: Move TypedData metadata introspection from data objects to definition objects Assigned to: fago (API Change)
Comment #62
BerdirMoved the following to completed:
- #2114707: Allow per-bundle overrides of field definitions
- #2134887: move field_view_field() / field_view_value() to methods Assigned to: zwischenzug
- #2027059: Improve the documentation of WidgetBase::errorElement() for mapping violation property paths to form elements
Comment #63
BerdirMoved #2192259: Remove ConfigField.. Item and List classes + interfaces to completed.
Adding #2191709: Remove the "configurable" flag on field types which is about removing the distinction of configurable and non-configurable field types as a follow-up of that. And another related issue #2150511: [meta] Deduplicate the set of available field types, which removes duplicate field types.
Comment #64
BerdirMoved those three to completed:
#2095919: Kill ContentEntityBase::init()
#2145103: Provide non-configurable field types for entity created, changed and timestamp fields
#2191709: Remove the "configurable" flag on field types
Comment #65
BerdirMoving more issues to done:
#2095195: Remove deprecated field_attach_form_*()
#2144631: Add a revisionable key to field definitions
#1839516: Introduce entity operation providers
Comment #66
BerdirMoving the following two down.
#2154711: Move entity_get_(form/view)_mode_options() functions to EntityManager and add get(Form/View)ModeOptions() methods
#2182239: Improve ContentEntityBase::id() for better DX
Comment #67
BerdirHaven't updated this for a while :)
- Replaced with #1842858: [PP-1] Convert menu links to the new Entity Field API with it's successor #2227441: New plan, Phase 1:Review the architecture and overall implementation proposal for menu links as plugins
- Added #2190313: Add $EntityType::load() and loadMultiple() to simplify loading entities, currently blocks the create() issue
- Added #2183231: Make ContentEntityDatabaseStorage generate static database schemas for content entities
- Removed #1596472: Replace hard coded static cache of entities with cache backends, I don't think that's going to happen, the entity cache is added in a different issue
- Added #2039435: Convert EntityManager to extend DefaultPluginManager
- Added #1740492: Implement a default entity views data handler
- Added #2216553: Fill in @defgroup/topic docs for Typed Data and #2216533: Fill in topic/@defgroup docs for Entity API overview to add documentation
- Done: #2116363: Unified repository of field definitions (cache + API), added #2167167: Remove field_info_*() as follow-up
- Done: #2201051: Convert path.module form alters to a field widget
- Added #2010930: [META] Apply formatters and widgets to rendered entity base fields (all besides node.title)
- Added #2259445: Entity Resource unification, I'm out of the loop with all the entity url/uri/resource issues, but a lot of discussion around that currently
- Added #2188075: Remove magic getter of EntityReferenceItem, small clean-up once #2267753: ContentEntityDatabaseStorage::mapToStorageRecord hard-codes $entity->$name->value is fixed.
- Another critical: #2099137: Entity/field access and node grants not taken into account with core cache contexts, removed the value note about render caching instead, that's one of the last ones apart from the views bubble up.
- Another critical #2005434: Let 3rd party modules store extra configuration in EntityDisplay :(
Lots of new issues added I know, but we also got a lot done that wasn't in here.
Comment #68
BerdirComment #69
BerdirDone:
#2190313: Add $EntityType::load() and loadMultiple() to simplify loading entities
#2096899: Add $EntityType::create() to simplify creating new entities
#2039435: Convert EntityManager to extend DefaultPluginManager
#2267753: ContentEntityDatabaseStorage::mapToStorageRecord hard-codes $entity->$name->value
Comment #70
BerdirSwitch menu link conversion (again) to #2256521: [META] New plan, Phase 2: Implement menu links as plugins, including static admin links and views, and custom links with menu_link_content entity, all managed via menu_ui module
Fixed:
#2167167: Remove field_info_*()
#2188075: Remove magic getter of EntityReferenceItem
#2183231: Make ContentEntityDatabaseStorage generate static database schemas for content entities
Comment #71
BerdirDone:
- #2005434: Let 3rd party modules store extra configuration in EntityDisplay
- #2143291: Clarify handling of field translatability
- #2144263: Decouple entity field storage from configurable fields
Adding open critical/major tasks...
- #2204363: [sechole] Returning TRUE from hook_entity_access()/hook_ENTITYTYPE_access() must not bypass EntityAccessController::checkAccess()
- #2068655: Entity fields do not support case sensitive queries
- #2224761: Add a generic way to add third party configuration on configuration entities and implement for field configuration
. #2283977: Create a new ConfigEntity type for storing bundle-specific customizations of base fields
Comment #72
BerdirFixing formatting.
Also done:
- #2216553: Fill in @defgroup/topic docs for Typed Data
- #2216533: Fill in topic/@defgroup docs for Entity API overview
Adding more:
- #2216535: Replace Node overview topic and Node API topic with Entity Hooks topic (huge documentation clean-up)
- #2287727: Rename FieldConfig to FieldStorageConfig (looks like this is happening now)
Was moved to 9.x, removing:
- #1869574: Support single valued Entity fields
Comment #73
BerdirDone:
- #2216535: Replace Node overview topic and Node API topic with Entity Hooks topic
- #2287727: Rename FieldConfig to FieldStorageConfig
- #2078473: Use entity access API for checking access to private files
- #597236: Add entity caching to core (yay!)
Comment #74
BerdirUps, #2287727: Rename FieldConfig to FieldStorageConfig got undone, will wait a bit too see if will be a follow-up.
Comment #75
xjmI re-fixed that one but added #2312093: Rename FieldInstanceConfig to FieldConfig (but I don't see the previous one in the summary).
Comment #76
BerdirComment #77
BerdirYeah, you're right, I re-added it now.
Comment #78
BerdirDone:
- #1976158: Rename entity storage/list/form/render "controllers" to handlers
- #2256521: [META] New plan, Phase 2: Implement menu links as plugins, including static admin links and views, and custom links with menu_link_content entity, all managed via menu_ui module
- #2283977: Create a new ConfigEntity type for storing bundle-specific customizations of base fields
Comment #79
BerdirFixed:
- #2031717: Make entity module not required
- #2224761: Add a generic way to add third party configuration on configuration entities and implement for field configuration
No longer an actual bug (fixed by the node widget/formatter issue), just improving test coverage, so removing from meta:
- #2031183: Improve test coverage for node authored on widget
Comment #80
BerdirMore stuff done:
#1498720: [meta] Make the entity storage system handle changes in the entity and field schema definitions
#1740492: Implement a default entity views data handler
#2022875: Resolve difference between submitForm(), submit(), and save() in EntityFormController
Comment #81
BerdirWe fixed a bunch of stuff!
- #2002138: Use an adapter for supporting typed data on ContentEntities
- #2068325: [META] Convert entity SQL queries to the Entity Query API
- #2100343: Remove 'fieldable' key in entity definitions in favour of 'field_ui_base_route'
- #2143297: setters on FieldDefinitionInterface (closed as duplicate of #2346329: hook_entity_base_field_info_alter() and hook_entity_bundle_field_info_alter() are documented to get a parameter that doesn't implement an interface with setter methods I think)
Need to add in some of the new issues, will do that asap.
Comment #82
BerdirTrying to get this issue updated, so we have an overview for the dev days sprints..., First step, moving resolved issues.
Solved:
#2028027: [META] Missing access control for base fields
#2204363: [sechole] Returning TRUE from hook_entity_access()/hook_ENTITYTYPE_access() must not bypass EntityAccessController::checkAccess()
#1916790: Convert translation metadata into regular entity fields
#2137801: Refactor entity storage to load field values before instantiating entity objects
#2068655: Entity fields do not support case sensitive queries
Next, making sure that critical issues are in here, new:
#2465053: Drupal 8 only allows one user every 6 hours to register when page caching is enabled — caused by entity UUID in form state
#2105797: Add CompositeConstraintBase so that constraints involving multiple fields, such as CommentNameConstraint, can be discovered
#2395831: Entity forms skip validation of fields that are not in the EntityFormDisplay
#2297817: Do not attempt field storage write when field content did not change
#2461049: Node module permissions are broken if hook_node_grants is implemented (node issue, but related to entity access)
And now major:
#2340993: SqlContentEntityStorageSchema::requiresEntityDataMigration() returns TRUE for cases where it should return FALSE
#2081513: Deprecate FIELD_LOAD_* constants
#2322503: getDisplayModeOptions() returns only full or teaser regardless of the status of the entity display
#2428795: Translatable entity 'changed' timestamps are not working at all
#2466913: Allow EVD to render fields across bundles
#2465901: [META] Make entity revision translation work
#2350509: Implement auto-route generation for all core entities and convert all of the core entities.
#2453175: Remove EntityFormInterface::validate() and stop using button-level validation by default in entity forms
#2404331: Can't serialise an entity with an entity reference to an unsaved entity (remove EntityReferenceItem::$NEW_MARKER in favour of a validation constraint)
#2443165: Drupal\Core\Entity\EntityInterface\ContentEntityStorageBase::doCreate() assumes that the bundle is a string
#2444267: EntityViewBuilder should add the language of the entity as context, always (render caching)
#1696648: [META] Untie content entity validation from form validation
#2346013: Improve DX of manually applying entity/field storage definition updates
#2391829: ContentUninstallValidator relies on the not required ContentEntityStorage::hasData() method
#2423323: Streamline EntityQuery's Tables::addField()
#2418521: Translating field definition descriptions problematic due to early t(), hard to test
#2337921: Improve the UX of update.php's handling of entity type updates
#2409691: EntityAccessControlHandlers miss entity admin access
#2384459: Add entity query condition for delta in EFQ
Well, lots of them. There are more majors, but that's enough for now ;)
Comment #83
BerdirA few things got fixed :)
* CRITICAL: #2079427: Core/Entity depends on classes / functions from field.module
* #2461049: Node module permissions are broken if hook_node_grants is implemented
* #2099137: Entity/field access and node grants not taken into account with core cache contexts
* CRITICAL: #2297817: Do not attempt field storage write when field content did not change
* #2340993: SqlContentEntityStorageSchema::requiresEntityDataMigration() returns TRUE for cases where it should return FALSE
Comment #84
BerdirA number of issues were fixed, also lots that weren't in here. There are also some new major bugs, will add them later.
* #2465053: Drupal 8 only allows one user every 6 hours to register when page caching is enabled — caused by entity UUID in form state
* #2023473: Merge FieldItem::insert() and FieldItem::update() on fields into preSave()
* #2428795: Translatable entity 'changed' timestamps are not working at all
* #2453175: Remove EntityFormInterface::validate() and stop using button-level validation by default in entity forms
* #2105797: Add CompositeConstraintBase so that constraints involving multiple fields, such as CommentNameConstraint, can be discovered
* #2395831: Entity forms skip validation of fields that are not in the EntityFormDisplay
Comment #85
BerdirThose were closed:
#2404331: Can't serialise an entity with an entity reference to an unsaved entity (remove EntityReferenceItem::$NEW_MARKER in favour of a validation constraint)
#2418521: Translating field definition descriptions problematic due to early t(), hard to test
#2444267: EntityViewBuilder should add the language of the entity as context, always
#2073217: Remove the $langcode parameter from the entity view/render system
#2072945: Remove the $langcode parameter in EntityAccessControllerInterface::access() and friends
#2090983: ContentEntityInterface::getTranslation() should throw an exception when an invalid language is specified
#2337921: Improve the UX of update.php's handling of entity type updates
#1696648: [META] Untie content entity validation from form validation
#2322503: getDisplayModeOptions() returns only full or teaser regardless of the status of the entity display
Comment #86
plachAdded #2280639: Add the FieldStorageDefinition class to define field storage definitions in hook_entity_field_storage_info().
Comment #93
AaronMcHaleMoving some closed issues to the completed lists.
Do we really need to keep all of the completed ones now?
Comment #94
AaronMcHaleIssues about improving the generic entity revision API/UI. Also bumping to 8.8.
Comment #95
AaronMcHaleMore issues
Comment #96
joseph.olstadComment #99
joachim CreditAttribution: joachim commentedJust seen #2316171: [meta] Improve DX of entity defining (if you want a UI) has been closed in favour of this. Could this get a better title, so it's not just about fields?
Comment #101
geek-merlinComment #102
rivimeyFolks, the title of this issue is "Complete...", which implies a vision of what complete looks like, but this list seems to have become simply a list of entity issues.
How about working through the list of incomplete items, bumping some to "entity issues for D9" and some to "entity issues for D10", preferably with some overarching vision guiding both sets, and then mark this list closed?
Comment #108
andypostOne more done #2989889: Extract DraggableListBuilderTrait from DraggableListBuilder for use with content entities