DrupalCon Baltimore 2017: A Type System for Tomorrow
The simple power of user-fieldable entities has kept Drupal alive and well for many years. From prototyping, to personal blogs, to enterprise grade software, the core thesis that a malleable content architecture can facilitate any number of applications has held true. But, we can do much better. Beneath a thin veneer is a nascent jewel—Drupal's type system.
We'll see what Drupal core already gives us: order, hierarchy, identity, associativity, observability, and composition. We'll then see how these properties are masked by and coupled to our core entity types in a way that makes them difficult to take advantage of in unique and intriguing ways. Next, we'll look at what the module ecosystem tells us the community needs from a type system and if we can better meet those needs in core.
Finally, we'll see how by destructuring our current type system and creating a configuration system that allows us to put them back together, we can meet those needs and more. By rethinking a few abstractions, we may be able to create a type system that enables users and builders to construct even better-managed complexity out of a number of simple primitives.
Google Slides: https://docs.google.com/presentation/d/1nPAzwQ1qCu4evWcHnXJMCootk8z_v33ADFvjB-YaeM8/pub?start=false&loop=false&delayms=15000
We'll see what Drupal core already gives us: order, hierarchy, identity, associativity, observability, and composition. We'll then see how these properties are masked by and coupled to our core entity types in a way that makes them difficult to take advantage of in unique and intriguing ways. Next, we'll look at what the module ecosystem tells us the community needs from a type system and if we can better meet those needs in core.
Finally, we'll see how by destructuring our current type system and creating a configuration system that allows us to put them back together, we can meet those needs and more. By rethinking a few abstractions, we may be able to create a type system that enables users and builders to construct even better-managed complexity out of a number of simple primitives.
Google Slides: https://docs.google.com/presentation/d/1nPAzwQ1qCu4evWcHnXJMCootk8z_v33ADFvjB-YaeM8/pub?start=false&loop=false&delayms=15000