--- On Thu, 2/19/09, Mike Rylander <[email protected]> wrote: <snip: proposal on how to make IDL files easier to upgrade in the presence of customizations>
To summarize my simple-minded understanding of your proposal: -- Represent standard IDL classes in one file; -- Represent extension classes and site-specific classes in a separate IDL file; -- Use a third IDL file at runtime; -- Regenerate the third IDL file as needed, by merging the first two whenever either of them changes. That way we can upgrade the standard IDL with a minimum of disruption to the customizations. Some upgrades to the standard IDL may require changes to the custom IDL, but those changes will be relatively contained. It might even be possible for the merge process to detect when such changes are needed, though I wouldn't offer or ask for any promises along those lines. I have two questions. Maybe your post already answered them but I didn't grasp the answers. ----------------- What if a customization adds a column to a standard table? Does your proposal address that situation? Or does it not happen much anyway? I don't mean to suggest that the proposal *should* address this situation. Even if it doesn't, it would leave us better off than we are now. However it might be nice if the design didn't make it needlessly difficult to add such a feature later. ------------------ Among other things, the IDL expresses foreign key relationships, i.e. arrangements whereby a column in a child table refers to a key column of a parent table. In your example, the rmobbhol class has two columns pointing to the id column of the aou class. It is also possible (though much less likely) for a custom class to serve as a parent for a standard class.) In many cases (although not in this one) the IDL defines the linkage at both ends. It defines not only a link from the child to the parent, but also a link from the parent back to the child. If a custom IDL defines a linkage from a custom class to a standard class, any linkage from the standard class back to the custom class would have to be added manually to the standard IDL file. More specifically: if no one adds that linkage manually, the IDL merge process will not add it automatically. Am I right about that? Scott McKellar http://home.swbell.net/mck9/ct/
