Hi Terry,
Some quick answers...
I'm not sure of the correct answer to #1 myself (Peter Dietz, did
you create this behavior?). Since it's called a "List" though, it
sounds to me like the behavior in DSpace 5.x is more correct (that
the intension may be to locate the full location of the
collection, similar to breadcrumbs).
As for #2, the API / database has always supported the "idea" of
a Collection existing in multiple locations (i.e. a "linked"
Collection). However, we've never found a reason to fully build
this out with unit tests, etc. So, it's a partially created
concept, and it's never really been proven to "work". In
addition, the UIs have never supported this idea...at the UI
level, a Collection only ever belongs to a single Community.
So, essentially, #2 would/should be treated as a new feature. The groundwork is there in the API / database layer. But, it has never been fully built out. It'd need a volunteer to dig in and implement this concept so that it's actually usable in the UIs. It also may require some refactoring at the REST API layer, as you've noted.
- Tim
--
You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dspace-tech...@googlegroups.com.
To post to this group, send email to dspac...@googlegroups.com.
Visit this group at https://groups.google.com/group/dspace-tech.
For more options, visit https://groups.google.com/d/optout.
-- Tim Donohue Technical Lead for DSpace & DSpaceDirect DuraSpace.org | DSpace.org | DSpaceDirect.org
Hi Terry,
Tim,
Thanks for the explanation.
To implement #1, I recommend that we add the necessary hibernate configuration logic to recursively traverse community2community. Who could advise on that change?
To implement #2, we would probably want to change the method return type to return a list of lists: one list for each immediate community parent.
Hi Monika,
Those are good questions. To clarify, I'm not recommending we add a new "map collections" feature. I was just pointing out to Terry, that *at the Java API level*, DSpace has supported the idea of a Collection having multiple parents for some time. That is not a change, it's just how the Java API has worked. However, at the UI level, this feature has never been implemented because we never had a clear use case for it (and I'm not exactly sure myself why the API was built this way to begin with).
When it comes to the REST API, we'd then have a decision. Do we
let it act more like the Java API or do we just "hide" this
feature of the Java API and make the REST API look more like the
current UIs. I think this is the basics of what Terry is asking
in his #2. I'm not sold on the fact that we need to let the REST
API even support this feature (it's definitely not a high
priority).
I think the real issue here is just finding a solution to https://jira.duraspace.org/browse/DS-2766, which is more about just figuring out what "parentCommunityList" was meant to do.
- Tim
After some more thought on this, I agree with Monika.
Since we have no known use cases for having a Collection appear in multiple Communities, let's leave the REST API as-is in 6.0. It doesn't need to surface this "feature" of the underlying Java API, until we actually have a reason to do so.
I also agree that eventually we might want to just simplify these
REST API params to "parent" and "parentList". But, that can be a
future task (not for 6.0).
So, Terry, that should answer your #2. Don't bother updating the REST API for this. As for #1, I think we just need to make "parentCommunityList" act similar to 5.x in the 6.x codebase, which should solve https://jira.duraspace.org/browse/DS-2766
- Tim
Terry,
I'd recommend copying what you've found into the DS-2766 ticket (so that it can be tracked there and found easier). Then, you could ask KevinVdV for his advice on the Hibernate question, or we could find another volunteer to help tackle it. But, it would be good to enhance DS-2766 with the description of the problem, etc. first.
Thanks,
Tim