In honour to our universities tradition to create special tree's fulfilling our stakeholder requirements (see https://github.com/4Science/DSpace/pull/119) we provide this draft of our tree.
Instructions for Reviewers
List of changes in this PR:
new Restendpoint(s). The endpoint can be enabled/disabled using the orgunittree.endabled configuration property. The Controller offers endoints to 1. get the root tree nodes and 2. some endpoint to get the tree node by uuid. 3. Some administrative restricted endpoint allow the administrator to recreate the tree.
Several Models and Converters for showing the OrgUnitTree
Service which creates the tree, calculates the metrics and hold the tree structure in-memory (maybe some poor performance by now)
OrgUnitTreeMetrics can be configured for some node by solr-queries and there is the possibility to show aggregated metrics from subordinated nodes.
new cris explore section (cris-sections.xml) showing the tree on the cris layout.
Name of the entityType which are displayed, e.g. OrgUnit. All entities of this type are considered in the tree and fetched from the itemService when constructing the tree.
generalcondition
Filter
Condition which the node has to fulfill to be part of the tree, e.g. visible by anonymous
rootcondition
Filter
Condition which the node has to fulfill to be some of the root nodes, e.g. no metadatafield pointing to the upper OrgUnit
verticalrelationfield
String
Metadatafield which contains the authority information about the parent / upper Orgunit
onlyAnonymous
boolean
if enabled only anonymous readable results are shown and considered in the metrics
metricsconfiguration
List<OrgUnittreeMetricsConfiguration>
, List of metrics which are calculated for each node
unique name of the metrics node. It is may referenced by other OrgunittreeMetrics or in the frontend rendering configuration
query
String
solrquery containing {0} the uuid of the item, e.g. oairecerif.author.affiliation_authority:{0}. If aggregation is enabled, the name of the subordinated OrgunittreeMetrics has to be specified.
aggregate
boolean
if enabled this node aggregates values from subordinated nodes and counts them together.
Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.
Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!
[ ] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[x] My PR passes Checkstyle validation based on the Code Style Guide.
[ ] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[ ] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[ ] If my PR includes new libraries/dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[ ] If my PR modifies REST API endpoints, I've opened a separate REST Contract PR related to this change.
[ ] If my PR includes new configurations, I've provided basic technical documentation in the PR itself.
References
Add references/links to any related issues or PRs. These may include:
https://github.com/4Science/DSpace/issues/386
pr-number
Description
Short summary of changes (1-2 sentences).
In honour to our universities tradition to create special tree's fulfilling our stakeholder requirements (see https://github.com/4Science/DSpace/pull/119) we provide this draft of our tree.
Instructions for Reviewers
List of changes in this PR:
orgunittree.endabled
configuration property. The Controller offers endoints to 1. get the root tree nodes and 2. some endpoint to get the tree node by uuid. 3. Some administrative restricted endpoint allow the administrator to recreate the tree.Configuration Settings:
orgunittree.xml -> org.dspace.uniba.orgunittree.OrgunittreeService
String
OrgUnit
. All entities of this type are considered in the tree and fetched from the itemService when constructing the tree.Filter
Filter
String
boolean
List<OrgUnittreeMetricsConfiguration>
-> org.dspace.uniba.orgunittree.OrgunittreeMetricsConfiguration
String
String
oairecerif.author.affiliation_authority:{0}
. If aggregation is enabled, the name of the subordinated OrgunittreeMetrics has to be specified.boolean
Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.
Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!
pom.xml
), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.