I need a field module developed.
I'd like to define a field as being composed of multiple existing fields. Further, I want to make my new complex field "multiple". So each field instances inside the complex field are linked together persistently. I've exhausted my search, I don't think a solution exists.
A use-case is where you want to set up some micro-content, like an address form, and want this micro-content to be consistent across all nodes you use it in.
I would want this to be as generic as possible. When I create a new poly-field, I choose existing fields that it is made up from.
Possible solution: "Inline Node Field"
-- You create a content type with your desired fields.
-- Install "Inline Node Field" and create an new field on your Parent content type, mark it as multiple (or don't).
-- When you create a new node of the parent type, the fields of the child node type appear inline.
-- Hence when filling out the parent node, you also fill out the child node - more than one if desired.
-- When you submit, the "Inline Node Field" submits the child node forms programmatically and the errors bubble up.
I'm quite ready to offer a bounty for D5 if someone wants to code a skeleton proof of concept. Contact me, give me a quote (or give me a time estimate and I'll make an offer). I'll pay 30% up front and the rest on successful demonstration. Please only contact me if you have demonstrable experience with CCK field coding.
Simon

Comments
nodereference?
I was asked by email if this is like nodereference. In practical terms, the resulting data is exactly like nodereference. But the interface is totally different - a drop-down box referencing existing nodes versus a full form rendered inside another form.
But it does beg the question... perhaps this can be done with nodereference and a new widget?
CCK should support this by default?
I've been thinking about this very same thing for quite some time. I think it should be part of CCK's core features. If I had the time, I'd gladly work on this.
It'll be in CCK Core
in drupal 6 ;)
coool, How do I pay? :P So
coool, How do I pay? :P
So can I get my hands on this code. What would be the difficult parts of back-porting? as a contrib module? or is d6 so different that this would be a silly idea?
D6 only
I've wanted to do this kind of combo field for a long time and after lots of research and discussions with other cck gurus like yched and dopry I am pretty sure it is just not possible in D5. At least not possible without lots of ugly hacks that would make it difficult or impossible to maintain.
One of the reasons for the widget FAPI changes I've been working on in D6 is to make something like this doable by making widgets nestable and re-usable so they can be combined in this way.
Once the D6 port is done, I planned to try to actually code a 'combo' field for it, hopefully one that would ultimately live in CCK core.
Now your example of complete node forms that live inside of other complete node forms is not what I'm working on, that seems like a different idea to me. What I'm hoping to create is something that would create a complex field like an address form that is made up of several different fields by letting you say something like 'give me two plain textfields and a drop-down select, and treat them as a single field'.
And while I am trying to create the D6 changes in a way that would make this possible, there's really no telling until someone actually tries to code it whether or not it is actually going to work :)
coooler!
That is precisely the great solution. This will be awesome, Karen :)
(My solution was a more a dumb version just to simplify the architecture somewhat and make it possible in D5. I guessed the programmattic submission was the hardest part, but I've been developing solutions for that for install profiles.)
Done
Here at Lonely Planet we have implemented this feature and a couple of others. I am going to be pushing this back as a patch in the next week or so.
--
Gordon Heydon
Lead Drupal Developer - Lonely Planet
--
Gordon Heydon