Thanks Tom!
I fear that - in spite of my best attempt - I may not have described my requirement clearly, so I'm very grateful for your reply!
To clarify further:
The Topic Icon is user selectable as an Image attribute (currently on the Topic BO).
The Topics are presented in a tree (to mimic the left hand panel of a help file). The HTML Content in the Topic is presented to the right of the tree when you click on a tree node.
The Topic's icon and state need to be able to be configured differently depending on which eGuide it is presented in.
tford wrote#5 -- can't draft vs. live state simply be handled in an attribute?
I think that this could open it up for me! The attribute obviously can't be on the Topic BO, because then it will be the same for that Topic no matter what eGuide it is in.
It can't be on the eGuide BO either, because then one couldn't have different icons and states for Topics that appear in different eGuides.
So it will need to be on another BO, that performs the same function as the linking table in a conventional app: record the icon and state (and, possibly sibling sequence number) for that instance of the Topic. (An instance is an appearance in an eGuide - something like the Loan BO in the Simple Library Tutorial. I'll call the BO "TopicInstance" - the instance of the Topic in a particular eGuide.)
So, when a Topic is added to an eGuide, it works like a Loan being made to a Library Member except that you can have as many instances of the Loan at the same time (like an electronic loan) as you like. This is sounding promising!
tford wrote#4 -- for a BO attribute, click on Presentation button, then Icon Rules button.
Hmm, I have been unable to find an Icon Rules button - could you have meant Item Rules, or am I being dim? I am recording the icon as an attribute, so that Editors can select or upload their own icon. Please let me know if I'm missing something, Tom!
My provisional solution (prompted by your comments) is:
Create the TopicInstance BO with attributes eGuide (eGuide); Topic (Topic); Icon; State and (possibly) SequenceNo (to record what order it is in, relative to the sibling child topics - no idea how to effect that at this point: hope that Aware IM will look after it automagically, as per current treeview drag & drop activities).
Delete the ChildTopics (Topic) Attribute in the Topic BO and recreate it as ChildTopics (TopicInstances)
Delete the Topics (Topic Attribute in the eGuide BO and recreate it as Topics (TopicInstances)) - really shaky on this one.
Create the Process that is run when a Topic is created, added to an eGuide or dragged from one parent Topic to another (adding, editing and deleting TopicInstances - might be simpler than I think)
Write the query that will present a tree of eGuide Topics, linking the Topics via the TopicInstances - might be simpler than I think.
Remove the Icon and State attributes from the Topic BO.
Smile smugly.
Does this sound as if I'm on the right track? Or perhaps clarify my requirement further or expose a better solution you can suggest? I suspect that there is a simpler way, given that everything else in Aware IM has been simpler, so far!
Thanks so much for your help, Tom!
Gary