The question is how to design a system that has configurable
forms? Think of a bug tracking app that can add fields, change labels,
etc. I can think of two approaches.
1. Use a field table that maps field instances to a form
which is mapped to a project.
Several difficulties. Presentation. How do you make
this look good? Queries. How do you make decent
queries? Is the field a union type? Or is it only
a string?
2. Generate custome code for each project, ala
MDA. In this approach you would generate new
schema definitions and the code to use them, like they
were done by hand. This level is dynamism is hard.
It also makes it difficult to do cross configuration
reports. Let's say project A has a bug configuration,
project B has one, how to do reports combining A and B?