An unified field repository & Entity storage improvements for Drupal 8

31.05.2014,

Since the DrupalDevDays in Szeged Entity system contributors have worked a lot on getting the remaining beta-blockers of the Entity system done, which are mostly centered around a unified field repository and entity storage improvements; i.e. automatic schema generation for your content entities!

We've been making great progress on the unified field repository front. There are new field info methods that are provided by the entity manager now, which cover the entity base fields as well as configurable or other module added fields. Those new methods replace the old field_info_fields() or FieldInfo methods, which we've removed from Drupal 8 already. For more details, see this change record.

The work on automatic schema generation is not yet finished though, although we've got a huge (300kb) RTBC patch which removes hook_schema() implementations and replaces them with automatically generated schema derived from the entity base field schema. Once that's in, we still have to take care of letting the system handle changes to the field definitions and consequently the schema (issue). Given that it will be possible to automatically generate an entity schema based on a site needs, i.e. we'll have entity storage capable of handling translations for multilingual sites. Actually, this is the primary reason for getting this feature done that late in the cycle at all. However, besides that, I must say I'm really looking forward to not having to define the schema manually and I'm excited about how easy that will make it to define a new entity type!

I want to thank Acquia who sponsored some of my contribution time during the last weeks and thus enabled us to move on faster. Furthermore, I want to thank tstoeckler, plach, berdir and jessebeach who all did amazing work on the mentioned issues!