This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
We have a fairly large object (containing at least 20 other objects, collections, etc.) that we are trying to populate given input from users. The UI for collecting the data is patterned after the object hierarchy. However, for each company that buys our web app, we want to allow them to tweak the UI to their preference. For instance, we might normally collect all information for a Person on jsp page 1 and collect general business information on page 2, which contains a collection of questions. Now, most of our clients will be fine with submitting information about the Person on page 1, but a few might want to have a Question in the general information page 2 refer to some field in the Person.
In other words, our jsp cannot hardcode that question 3 is submitting an answer for Person.birthdate. It would have to be determined at run-time based on the client's tweak of the 'input gathering' process.
I have told them that this might be difficult, but I am assured that it must be done. Anyone have any thoughts, tips, etc about how this might be tackled?