-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Content Type Inheritance (Like Class Inheritance) #3192
Comments
We're looking into this, as it has been on the back of our mind for a long time now. But we believe that we'll need to do more than just described here. The reason is that Content-Type inheritance quickly gets complicated, eg. when you want to inherit only some of the fields. So we're tinkering with this - also in relationship to other things we have in mind. |
I just finished implementing it, docs are not quite done. Note that we're doing content-type composition, not inheritance. This is much more powerful and similar to how other enterprise CMSs do attribute management. have fun! |
commit 7902a92b7556f35b3de02aa74d3980d0a4d7bb75 Author: paulpietzko <paul.pietzko@icloud.com> Date: Tue Oct 1 10:19:13 2024 +0200 AdamWrapper now automatically knows if big or not commit ac0a8d74a652fff1edb8ce68272409360f222c0b Author: paulpietzko <paul.pietzko@icloud.com> Date: Tue Oct 1 09:57:39 2024 +0200 Squashed commit of the following: commit 7902815 Author: paulpietzko <paul.pietzko@icloud.com> Date: Tue Oct 1 09:53:07 2024 +0200 Squashed commit of the following: commit 48cb4666476c8909e51ac0228f6f2bdc9f03ea4b Author: paulpietzko <paul.pietzko@icloud.com> Date: Tue Oct 1 09:38:02 2024 +0200 Outsourced wysiwyg and expandable wrapper scss commit cadaaa01d277e8761ee49d42e3907e178656fee0 Author: paulpietzko <paul.pietzko@icloud.com> Date: Mon Sep 30 13:51:46 2024 +0200 Renamed dialog to popup and redefined integrations of the component commit 363037ff8aab83a26b485eddd0a3e1324684adc3 Author: paulpietzko <paul.pietzko@icloud.com> Date: Mon Sep 30 08:21:02 2024 +0200 Deglobalized expandable wrapper stylings commit 5cb51153894ed2fd18d816f5a872fa84825fe62f Author: paulpietzko <paul.pietzko@icloud.com> Date: Fri Sep 27 12:33:19 2024 +0200 Unfolded Scss Files commit 347d048f73f18c7c04e592c93c9537e2177e9bc6 Author: paulpietzko <paul.pietzko@icloud.com> Date: Fri Sep 27 10:07:04 2024 +0200 Outsourced the dialog in expandable-wrapper and picker-expandable commit 44506669d3791d98cf5df1cbdd78e3ce8128d759 Author: paulpietzko <paul.pietzko@icloud.com> Date: Fri Sep 27 08:43:33 2024 +0200 Removed CSS from useless hyperlink-dialog commit 1628a2bec8650244db1daaefdaccf7022c92ce16 Author: paulpietzko <paul.pietzko@icloud.com> Date: Fri Sep 27 08:06:12 2024 +0200 Used hyperlink-dialog in library-expandable commit 028a1c00909257582921c37f53b4510b5eb0cf7b Author: paulpietzko <paul.pietzko@icloud.com> Date: Thu Sep 26 14:46:49 2024 +0200 Working data flow commit b8ea3d6f5d0fb75cb289f67df9597a81ef8108fa Author: paulpietzko <paul.pietzko@icloud.com> Date: Thu Sep 26 14:40:01 2024 +0200 wip... commit 7f6f65a0256a125e8228522a2595c68aa08ffed6 Author: paulpietzko <paul.pietzko@icloud.com> Date: Thu Sep 26 07:00:16 2024 +0200 Made data flow commit 2a35ccb34fffb71f03823ce26888608d907ba9bb Author: paulpietzko <paul.pietzko@icloud.com> Date: Wed Sep 25 14:42:17 2024 +0200 Roughly splitted up the content in /hyperlink-dialog commit 75cc821df5b55b0541975f1392df0b2ae3870c6d Author: paulpietzko <paul.pietzko@icloud.com> Date: Wed Sep 25 12:44:19 2024 +0200 Made files commit ecfc41a Author: Dominik Graf <dominik.graf@2sic.com> Date: Tue Oct 1 09:12:47 2024 +0200 wip sig commit adbc134 Author: Dominik Graf <dominik.graf@2sic.com> Date: Tue Oct 1 07:22:10 2024 +0200 add pickerPreviewType Settings and rename valuePreview wo PreviewValue commit ec3c441 Author: iJungleboy <daniel.mettler@2sic.com> Date: Mon Sep 30 16:58:27 2024 +0200 npm update to latest @2sic.com/sxc-angular commit a088bd0 Merge: e4dd7f0 03dbedc Author: iJungleboy <daniel.mettler@2sic.com> Date: Mon Sep 30 16:44:47 2024 +0200 Merge branch 'develop' of https://github.com/2sic/eav-ui into develop commit e4dd7f0 Author: iJungleboy <daniel.mettler@2sic.com> Date: Mon Sep 30 16:44:42 2024 +0200 implement hidden generic field settings fix 2sic/2sxc#3468 to enable search-input to get correct type to retrieve commit f0fcba1 Author: iJungleboy <daniel.mettler@2sic.com> Date: Mon Sep 30 16:44:10 2024 +0200 minor clean up / rename / debug commit 03dbedc Author: Dominik Graf <dominik.graf@2sic.com> Date: Mon Sep 30 16:10:46 2024 +0200 remove duplicate code and make preview label commit 8f2173d Author: iJungleboy <daniel.mettler@2sic.com> Date: Mon Sep 30 15:46:59 2024 +0200 minor naming and entity-reader flattenAll to flatten commit bcf02b7 Author: Dominik Graf <dominik.graf@2sic.com> Date: Mon Sep 30 15:23:15 2024 +0200 mini commit a504368 Merge: b6799b1 2da61f2 Author: Dominik Graf <dominik.graf@2sic.com> Date: Mon Sep 30 14:22:52 2024 +0200 Merge remote-tracking branch 'origin/develop' into feature/picker-2dg commit b6799b1 Author: Dominik Graf <dominik.graf@2sic.com> Date: Mon Sep 30 14:21:48 2024 +0200 picker type image styles and example commit 7b36982 Author: Dominik Graf <dominik.graf@2sic.com> Date: Mon Sep 30 12:48:02 2024 +0200 show dynamic picker type commit 2da61f2 Author: iJungleboy <daniel.mettler@2sic.com> Date: Mon Sep 30 11:12:32 2024 +0200 minor fix dropdown from entity showing too many hits fixes 2sic/2sxc#3476 commit f22753a Author: Dominik Graf <dominik.graf@2sic.com> Date: Mon Sep 30 08:29:37 2024 +0200 wip css picker commit 9a7c352 Merge: 679b263 9affa04 Author: Dominik Graf <dominik.graf@2sic.com> Date: Mon Sep 30 07:05:05 2024 +0200 Merge branch 'develop' into feature/picker-2dg commit 9affa04 Author: iJungleboy <daniel.mettler@2sic.com> Date: Sat Sep 28 17:06:29 2024 +0200 add todos for @2pp/@2dg commit 8696557 Author: iJungleboy <daniel.mettler@2sic.com> Date: Sat Sep 28 17:00:26 2024 +0200 picker: fix autofocus after removing last item commit 470744b Author: iJungleboy <daniel.mettler@2sic.com> Date: Sat Sep 28 16:44:39 2024 +0200 fix minor autofocus defaults & comment commit 9062013 Author: iJungleboy <daniel.mettler@2sic.com> Date: Sat Sep 28 16:42:34 2024 +0200 enable noAutoFocus for picker fields commit 2457dbf Author: iJungleboy <daniel.mettler@2sic.com> Date: Sat Sep 28 09:31:53 2024 +0200 finish field inheritance 2sic/2sxc#3192 commit 14802ed Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 15:59:44 2024 +0200 improve UIs for field definition sharing commit 710d90d Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 14:57:14 2024 +0200 minor edit-form header commit 668b333 Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 09:49:57 2024 +0200 task description commit a89bdf0 Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 09:48:09 2024 +0200 create features-missing dialog for edit-UI commit 20f1c50 Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 09:28:43 2024 +0200 task instructions commit bf93cec Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 09:25:39 2024 +0200 feature-details reduce code commit 75f6d55 Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 09:13:41 2024 +0200 feat-info reduce code commit 4bad41e Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 09:10:03 2024 +0200 feature-info-dialog to signals commit e968df5 Author: iJungleboy <daniel.mettler@2sic.com> Date: Fri Sep 27 08:26:51 2024 +0200 minor web api services commit 679b263 Author: Dominik Graf <dominik.graf@2sic.com> Date: Thu Sep 26 14:51:18 2024 +0200 wip icon filter picker commit 8d8fef6 Author: iJungleboy <daniel.mettler@2sic.com> Date: Thu Sep 26 10:33:39 2024 +0200 more tippy improvements / samples commit e60b688 Author: iJungleboy <daniel.mettler@2sic.com> Date: Thu Sep 26 10:15:40 2024 +0200 tippy enhancements commit 87cacc1 Author: iJungleboy <daniel.mettler@2sic.com> Date: Thu Sep 26 08:48:36 2024 +0200 provide titles for new pickers commit 3460529 Author: iJungleboy <daniel.mettler@2sic.com> Date: Thu Sep 26 08:48:30 2024 +0200 minor debugging commit 5d4003a Author: iJungleboy <daniel.mettler@2sic.com> Date: Thu Sep 26 08:12:39 2024 +0200 minor prep name consolidation in UI commit f162002 Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 17:53:31 2024 +0200 Bug: visual query somehow marked required streams incorrectly commit 38d2fda Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 17:01:39 2024 +0200 font-picker minor/docs commit 2f2939e Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 15:39:16 2024 +0200 minor string-font-icon-picker commit f3dcf54 Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 15:04:52 2024 +0200 minor code-reorg commit 2a5e5dc Merge: f0fd28e 1681270 Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 14:40:14 2024 +0200 Merge branch 'develop' of https://github.com/2sic/eav-ui into develop commit f0fd28e Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 14:40:11 2024 +0200 remove another FlexLayout commit 1681270 Merge: 4087c21 bc1d8de Author: Dominik Graf <dominik.graf@2sic.com> Date: Wed Sep 25 14:32:01 2024 +0200 Merge branch 'develop' into feature/picker-2dg commit 4087c21 Author: Dominik Graf <dominik.graf@2sic.com> Date: Wed Sep 25 14:31:37 2024 +0200 new number-picker commit bc1d8de Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 14:22:40 2024 +0200 another FlexLayout (language menus) commit 8317b99 Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 13:58:47 2024 +0200 drop another FlexLayout commit 5dd3c99 Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 13:51:07 2024 +0200 translate menu without FlexLayout commit d9d8032 Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 13:37:08 2024 +0200 task for @2pp to deduplicate code commit 8d636e9 Merge: f817cfc f942020 Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 13:28:12 2024 +0200 Merge branch 'develop' of https://github.com/2sic/eav-ui into develop commit f817cfc Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 13:28:07 2024 +0200 enable ctrl + alt + s for save and close commit f942020 Merge: 9fe1b4a 2301ffa Author: Dominik Graf <dominik.graf@2sic.com> Date: Wed Sep 25 13:13:01 2024 +0200 Merge branch 'develop' into feature/picker-2dg commit 9fe1b4a Author: Dominik Graf <dominik.graf@2sic.com> Date: Wed Sep 25 13:12:23 2024 +0200 refactor number dropdown commit db549fa Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 12:45:07 2024 +0200 fix ctrl+S to work when caps-lock is used commit ec96a7b Author: iJungleboy <daniel.mettler@2sic.com> Date: Wed Sep 25 12:43:45 2024 +0200 remove another flex-layout commit 48cb4666476c8909e51ac0228f6f2bdc9f03ea4b Author: paulpietzko <paul.pietzko@icloud.com> Date: Tue Oct 1 09:38:02 2024 +0200 Outsourced wysiwyg and expandable wrapper scss commit cadaaa01d277e8761ee49d42e3907e178656fee0 Author: paulpietzko <paul.pietzko@icloud.com> Date: Mon Sep 30 13:51:46 2024 +0200 Renamed dialog to popup and redefined integrations of the component commit 363037ff8aab83a26b485eddd0a3e1324684adc3 Author: paulpietzko <paul.pietzko@icloud.com> Date: Mon Sep 30 08:21:02 2024 +0200 Deglobalized expandable wrapper stylings commit 5cb51153894ed2fd18d816f5a872fa84825fe62f Author: paulpietzko <paul.pietzko@icloud.com> Date: Fri Sep 27 12:33:19 2024 +0200 Unfolded Scss Files commit 347d048f73f18c7c04e592c93c9537e2177e9bc6 Author: paulpietzko <paul.pietzko@icloud.com> Date: Fri Sep 27 10:07:04 2024 +0200 Outsourced the dialog in expandable-wrapper and picker-expandable commit 44506669d3791d98cf5df1cbdd78e3ce8128d759 Author: paulpietzko <paul.pietzko@icloud.com> Date: Fri Sep 27 08:43:33 2024 +0200 Removed CSS from useless hyperlink-dialog commit 1628a2bec8650244db1daaefdaccf7022c92ce16 Author: paulpietzko <paul.pietzko@icloud.com> Date: Fri Sep 27 08:06:12 2024 +0200 Used hyperlink-dialog in library-expandable commit 028a1c00909257582921c37f53b4510b5eb0cf7b Author: paulpietzko <paul.pietzko@icloud.com> Date: Thu Sep 26 14:46:49 2024 +0200 Working data flow commit b8ea3d6f5d0fb75cb289f67df9597a81ef8108fa Author: paulpietzko <paul.pietzko@icloud.com> Date: Thu Sep 26 14:40:01 2024 +0200 wip... commit 7f6f65a0256a125e8228522a2595c68aa08ffed6 Author: paulpietzko <paul.pietzko@icloud.com> Date: Thu Sep 26 07:00:16 2024 +0200 Made data flow commit 2a35ccb34fffb71f03823ce26888608d907ba9bb Author: paulpietzko <paul.pietzko@icloud.com> Date: Wed Sep 25 14:42:17 2024 +0200 Roughly splitted up the content in /hyperlink-dialog commit 75cc821df5b55b0541975f1392df0b2ae3870c6d Author: paulpietzko <paul.pietzko@icloud.com> Date: Wed Sep 25 12:44:19 2024 +0200 Made files
I'm submitting a
[x] feature request
...about
[x] edit experience / UI
[x] admin experience UI
[x] Content Types or data management
Current Behavior
Currently, when I need a slightly modified version of an existing content type (i.e. it needs 1 or 2 extra fields), I have to create a completely new content type. The amount of "duplicate" content types tends to add up when building more complex apps.
Feature Request
I would like the ability to create content types that "inherit" the fields of other content types. For the purposes of this request, I'll refer to content types that inherit other content types as "sub-types", and content types that are inherited by other content types as "base-types".
For the most flexibility in building and re-using content types, I don't think base-types or sub-types should be special kinds of content type. Rather, all content types should have the ability to inherit or be inherited by other content types. From an admin perspective, this could be a dropdown in the content type settings that allows you to select an existing content type to be used as the base-type.
When editing an entity of a sub-type, the fields of the base-type and those of the sub-type should appear in separate accordions, similar to how Presentation fields display in their own accordion.
When developing views with a sub-type, all fields from both the base-type and the sub-type should be immediately available within the same entity object (e.g. Content object).
Feature Benefits
This feature would ensure the same fields/features are available anywhere the base-type is applied. Additionally, you wouldn't have to make the same changes to each content type variation as you must today; you could just update the base-type, and the change would reflect across all sub-types.
The text was updated successfully, but these errors were encountered: