There are some acknowledged discrepancies between the data model, the API, and the capabilities afforded by the UI. I'm not well placed to discuss the decisions made in the early development of DSpace, but I think the idea was to allow for many-to-many relationships in the model, while being more restrictive in the API/UI mostly for pragmatic reasons (basically, it was really hard / problematic to reflect the many-to-many relationship all the way up the stack). There are all sorts of implications of an object having multiple "parents", the most obvious being authorization policies, but I'm sure there are more.
Perhaps someone else (Rob?) can provide some insight here. cheers, Jim daniele.ninfo wrote: > Hi all, > > I'm writing to underline some differences between the data model shown in > the dspace site > ( http://www.dspace.org/index.php?option=com_content&task=view&id=149#data_model ) and the actual code present in the /trunk ( http://dspace-sandbox.googlecode.com/svn/mirror/dspace/trunk/ ). > > There are differences in the associations between objects of the model: some one-to-many associations in the model are replaced in the code by many-to-many ones. I found 3 examples: > > - In the model, a Collection can be owned by only one Community, whereas in the code a Collection can be owned by many Community. > - In the model, a Bundle can be owned by only one Item, and in the code it can be owned by more then one Item > - In the model, a Bitstream can be owned by only one Bundle, and in the code by more then one. > > In the database schema, all the associations are many-to-many, there are no restrictions. > I also looked at Jim's DAO-prototype ( http://dspace-sandbox.googlecode.com/svn/branches/dao-prototype/ ), and he reflects the database schema, using only many-to-many associations. > > I'm working on a prototype to introduce Hibernate, and i'd base my work on Jim's choice, but i'd like to have some opinions about it, what should we do? update the data model associations? follow the model and update the code in /trunk? what kind of associations should be kept and what dropped? > > My mentor Andrea will write his opinions replying to this email, to let everyone know them. We both are interested in having other opinions to choose the best way to go ahead. > > Cheers, > Daniele > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > DSpace-tech mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/dspace-tech -- James Rutherford | Hewlett-Packard Limited registered Office: Research Engineer | Cain Road, HP Labs | Bracknell, Bristol, UK | Berks +44 117 312 7066 | RG12 1HN. [EMAIL PROTECTED] | Registered No: 690597 England The contents of this message and any attachments to it are confidential and may be legally privileged. If you have received this message in error, you should delete it from your system immediately and advise the sender. To any recipient of this message within HP, unless otherwise stated you should consider this message and attachments as "HP CONFIDENTIAL". ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech

