While this is similar to [IMPLEMENTED] Schema content part / mix-ins / inheritance / snippets, it is not the same …
Let me outline our use case to easily give an idea of what gap the feature would fill: We manage a lot of static sites and are migrating to Squidex as the content backend for their generation. We use a Wordpress/Gutenberg style block system for the content. In the schema we have a page type, it has a collection field for components and we have a bunch of different components defined for things like images, carousels, markdown, cards etc etc.
Since we reuse the components across sites we also need the same - or a subset of the same - components and generally we would have identical page templates as well - with SEO fields etc.
Each site is it’s own project in Squidex and while you can copy the schema for a single type at a time in the editor, or use the cli to clone a template project etc, it would be great if they all shared some part of the schema. That way all the sites will stay up to date if we update or add components etc.
I’m guessing it wouldn’t be that much work to show the types from a schema with a predetermined name as well as the project local types while editing? Less sure as to how the data is stored and how much that logic relies on all types being in the same namespace as everything else …
As a workaround right now we have cloned the templates repo and pointed our instance to that clone. We can have a template project in Squidex that we keep up to date with all the components etc, use the cli to sync it as it changes, and update the repo with the changes. That way we can easily create a new project using the up to dat template. But this still doesn’t solve the issue of keeping the types up to date in existing projects - not without some extensive scripting using the cli at least. This approach also copies the exact same data across hundreds of sites, which won’t make anything faster in the long run