The cart and potentially the workspace apps/disguises
store id references to other disguises. If the
referenced disguise is removed from the system today
the removal doesn't check these dependent data
structures and remove the references. This causes
problems for other parts of the product. The removal of
a disguise using FLEXDataBuilder should also include a
check of dependent disguises. The best would be a
simple configuration file that lists dependent
disguises or an attribute of a disguise that flags it
as dependent on other disguises.
Implementation may require a standard for how dependent
disguises are created or the configuration file for
dependent disguises might include the reference
information. The delete then could check this determine
if the dependent disguise contains rows of data
referencing the disguise being deleted and delete these
rows from the dependent disguise.