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

Reply via email to