I want subtypes without bundles.
- A content type which represents a bibliography item.
- A list(text) field ("Subtype") which is used with a selectlist widget. Values include: a book, a phd thesis, a conference paper, etc (I have more than a dozen of them).
- Many text fields, each should be used only for some subtypes, not all of them. Example: The "Edition" text field should be filled for a book subtype, but not for a phd thesis subtype.
- A bibliography item should not change its subtype (i.e., convert to another subtype).
- Creating a new item form: Selecting a subtype from a selectlist, then continue to edit item form. That is, 2 steps on creation.
- Editing an item: all other fields of the content types - only the ones that make sense in the context of the subtype. This form is used as the second step when creating a new item and as a single step when editing an existing item.
- As there are so many subtypes I do not want to make each of them a separated content type using the shared fields approach.
- A custom entity type with bundles is gives a too narrow result as indeed there is a need for all node capabilities.
- Counting of client-side is not an option (e.g., hiding/disabling fields).
Any ideas how to implement this? All code snippets and modules which I have found use client-side techniques (w/ or w/o FAPI's #states).