Hi all,
I have a problem and i´m trying to figure out the best way to approach it. All thoughts and tips are welcome.
I have a image library of 300 images in 5 different categories (1 BO instance holds 1 image and the categories are "built" as separate BO´s i.e. 1 BO is 1 category and 1 image belonging to a category is an instance of the category BO) in my application and I want to create the option for users to select images from these categories and create a kind of image statement/program. A typical program will consist of approximately 15 images from the different categories (15 images in total) and each user should have the option to create several programs. In the BO instance that holds the image there are also several text attributes where the user can write text about a specific image.
NB: The images are related to goalsetting and organization etc. and a statement/program is going to be a motivational function where the user can look at the statement/program in the application or print it out/save as a pdf report.
The problem I have and what i´m trying to figure out is, how can I build this functionality so it works in the best way. Currently what I have done is, I have created a BO called "Statement" and then created reference relationships to the image category BO´s and this works in the following way. When a user create a new statement BO instance the user can select (through "Add" button) images from the different category BO´s, type in text in the text attributes in the image instance and create a statement. The problem with this approach is that the text attributes mentioned above where a user should be able to type in text about an image in not a "unique" attribute so if a user adds text to an image in statement 1 the same text is also displayed on that same image in the next statement, statement 2.
What I want to avoid is having to create new instances where AIM copies the image from the image library to a new instance every time a user is creating a statement. Each image is around 50kb so my database will GROW very much if I use that approach.
How can I do this in another way? Has anyone had a a similar scenario and if so how did you solve it? Thoughts/tips anyone?
Thanks in advance