This week's book giveaways are in the Refactoring and Agile forums. We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line! See this thread and this one 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?