I know the forum info states "post your code..." which I'm not about to do. But I do look for feedback and critique on how to handle a specfic issue and thought this would still be the most appropriate forum for it. I hope you agree...
I have an issue I need to deal with but I have problems deciding on a good approach. I hope my problem description is sufficiently clear as I've tried keeping it short.
General outline:
Project planning to handle productions where the project planning process is not set in stone. Sometimes an estimate is put together without deciding on specific people to be on the team, other times certain people will be booked for the team before the estimate is done and often it's a mix of both.
Tehcnical description
Project - stores projects and basic info.
Person - stores info about people
Team - people involved in projects
Estimate - estimate for projects
Web interface through php/javascript.
Problem outline:
1) A specific producer is booked for a project.
2) Work starts on project estimate and estimated cost for non specific people (that is, only job descriptions) is entered for stylist and set design. The usual cost for the producer is fetched from the DB (through Project, Team and Person) to allow changes.
3) A stylist is booked for the team.
4) Work continous on the project estimate... and here comes the problem.
Now, data will be fetched about the team from Team to allow modifications, as well as info stored in Estimate as entered in 2) above. This means that 2 entries will be displayed for stylist, one for a specific person from Team, and one non specified stylist from Estimate. (The producer can easily be disregarded from Team as his unique ID will be stored in Estimate). Data displayed will contain something like the following:
Category - Name
Producer - Jon Doe
Stylist - Jane Doe ...
Set Design - [no data]
Stylist - [no data]
Lines 1, 3 and 4 come from Estimate. Line 2 comes from Team.
Solutions?
I'm not really sure of a good way to deal with this even though I see some different possibilities:
1) Highlight entries with matching categories retrieved from Estimate and Team, i.e. set a red background on line 2 and 4.
2) Simply remove stylist entry in Estimate when stylist entry is added to Team.
3) Leave it be and let the user handle it on his own.
4) Warn when stylist is added to Team and ask user if he wishes to remove/modify the Estimate entry.
Please do note that the same issue arises with other things needed for a project such as production materials, tools etc of which there will often be multiple entries for the same category.
Am I missing some fundamental design flaw or other possible and superior solution? And what's your take on the suggested solutions? Any feedback would be highly appreciated no matter wether it's text or code.