If you create a piece of hardware, then specify that hardware within a cabinet, then at some later date, if this piece of hardware's manufactuer happens to change, then every single cabinet that has ever been setup with this piece of hardware will display a "New Hardware" Dialogue Window. (I imagine that the same thing would happen if the hardware's distributor changed)
This doesn't necessarily seem to be the most favourable logic in the determination of the availability of a piece of hardware.
For example, consider this scenario:
a) Let's say I create a seed cabinet/s, then go ahead and spend lots of time developing a multitude of libraries with hundreds of cabinets in them spawning from those cabinets.
b) At some stage down the track I really want to exploit the material listing capabilities of the program. I then realise that I have either selected the supplier of the hardware incorrectly unintentionally or hadn't bothered to set it up at all initially.
c) I then go back to the hardware catalogue and change or fix the manufacturer of this piece of hardware.
d) then every single cabinet I ever use from that point on will display the new hardware screen unless I re-edit every cabinet and re-select what is essentially the same piece of hardware and then re-save each cabinet.
This seems like a problematic approach.
Perhaps a better way to do this programatically is to have eCabinets consider the Product Code, or perhaps an Internal database key to determine if it is actually a new or deleted piece of hardware. This way it will prevent the orphaning of any cabinets that fall into a scenario similar to the above.



