- See https://jira.duraspace.org/browse/DS-3531
- See https://jira.duraspace.org/browse/DS-3532
- How do we embed data in an object that should only be populated on request? Or, does it need to be a separate object?
Last active
March 20, 2017 16:13
-
-
Save terrywbrady/3ad113963ee88078d25d0623573805be to your computer and use it in GitHub Desktop.
Community/Collection Hierarchy in DSpace 7 REST
@abollini, It is helpful to know your thoughts for optional/lazy loaded properties. Currently, we keep data in _embed and in _links. We probably also need _optional to house optional properties. If you look at the 3rd gist (https://gist.github.com/terrywbrady/9fddc7cd31e5d975b503c97a7330aa6b) I posted on Friday, I started to brainstorm how we might want to access breadcrumbs and hierarchy. I would be curious how that data would be represented with lazy loading.
I created a Jira ticket to track this as well. https://jira.duraspace.org/browse/DS-3533
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
my idea is to have all the objects ready to hold as much information as possible. This mean that the parent object should be an attribute of our REST objects. We need to define a way to allow lazy loading in a similar way that the Hibernate framework does with the persistent entities.
We should use annotation to provide to our framework enough information to lazy load the relation when required. This could in turn rely on hibernate lazy-loading capabilities or trough direct invocation of dedicated retrieve methods.
Request should express interest for optional information specifying a "projection". Both the converter and the repository should be aware of the projection so to
Projection should be defined as
where the "base set" for each rest entity is defined. We could introduce an "optional" annotation to define which information are not part of the "base set".