Okay, this makes a lot more sense now. Thanks for writing that down.

However, I wonder if it is practical to allow developers to change the schemaExtension here. First of all, when introducing a new resource type, you'd have to change the main config.js file as well, which no longer allows you to distribute the new code as a stand-alone module and requires maintenance of a patch to the main codebase. I think being able to specify it from the module itself would be more practical.

Also, there's a risk here that developers working on a new resource type would have it all working locally, as they'd be starting from a new index. When it is then brought into a live environment, it wouldn't actually be picked up as the index would already exist. Not sure if there's anything we can do about that one though.