-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding Configurable "Entities" to DSpace 7 (Part 1: Architecture, Configuration, Search, Display) #2376
Conversation
…ps by a label of the relationshiptype
… size in dspace.cfg
…ery relationship that it has
…elete-functionality
…r to now support a bean
…on create and delete
…g-entities-and-plaintest-values
… update the place attributes accordingly. Fixed checkstyle and added license header. Changed cacheable functions to false in relationshipDAO
…option for config to supply virtual metadata throughout many nested relations
…s and getters to the interface. defaulting to false. Added this property to the isAuthorOfPublication config
…adata field authority
…on with config and addition of a new uuidvalue bean
…ication item pages
…RelationshipMetadata methods in the ItemServiceImpl to use this object instead of it's parent MetadataValue
feedback on configurable entities
…-changes' into entities-feedback-2019-05-07
…fy updating (for logic while reading the IT)
…d of the EPersonService when creating a user
…ies-feedback-2019-05-07 # Conflicts: # dspace-spring-rest/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java
Configurable entities feedback
Entities feedback 2019 05 07
As discussed in today's meeting, this PR is at +2 and we are merging it into If any outstanding comments were accidentally overlooked (as there we many in this PR), please create additional JIRA tickets referencing them, and I'll ensure they are also scheduled for follow-up work. Thanks again to all the development & review effort that has gone into this large PR! I know the Configurable Entities work is far from "complete", but this first PR is a great accomplishment to build from. |
Overview
This PR is the first phase of work from the DSpace 7 Entities Working Group.
Entities are DSpace Item objects which have a specific "type" (e.g. Author Item, Journal Item, Journal Issue Item) and/or defined "relationships" to other Items (e.g. an Author Item is related to the Article Items authored by that person). Both Entity/Item "types" and "relationships" are configurable (via an XML config file) and are persisted in three new database tables (
entity_type
,relationship_type
andrelationship
).Additional details on design, use cases and detailed documentation is available in a Google Document. (Note: The phrase "Configurable Entities" is not yet finalized, and this Google Document refers to them as "Configurable Object Models". The DSpace 7 Marketing Working group is working on finalizing terminology)
This PR provides the following features:
This PR does not provide the following (these will be provided in a future PR):
Companion PRs:
Reviewing
As you can see in the commits, nearly all code written in this PR was written by Atmire. However, the DSpace 7 Entities Working Group used the same code review processes established by the DSpace 7 Working Group.
Obviously, other code reviews are always welcome. But, because of the large size of this PR, you are also welcome to provide a detailed review of the following (which together provide a deeper understanding of the feature this PR adds):
Additionally, if you would like to see/review all the past reviews, each of the smaller PRs that make up this larger PR are available in GitHub via this search: https://github.com/DSpace/DSpace/pulls?utf8=%E2%9C%93&q=is%3Apr+base%3Aconfigurable_entities+is%3Amerged+
Testing
This PR can be built and tested locally. However, as you will be unable to create new Entities, we've provided a test data set.
This data set is a full PostgreSQL database dump (as Entities cannot yet be exported/imported). Therefore, for testing, you should build the PR and run it against a fresh database initialized with this test database dump.
This PR (and test content) can also be tested via a new Entities REST API Demo Site available at: https://dspace7-entities.atmire.com/rest/#/rest/api
Acknowledgments
This PR was the collaboration of many individuals (over the span of several PRs to the
configurable_entities
branch), including @benbosman (developer), @Raf-atmire (developer), @paulo-graca (reviewer), @AlexanderS (reviewer) , @tdonohue (reviewer), @mwoodiupui (early reviewer), and @pnbecker (early reviewer). Many others were also involved in the conception/design/discussion in various DSpace 7 Entities Working Group meetings.