Skip to content
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

Enhancement tools #312

Closed

Conversation

floriangantner
Copy link

@floriangantner floriangantner commented Feb 3, 2023

References

Description

  • new new enhancer
  • two improved item-enhancer scripts extending the current implementation

Instructions for Reviewers

List of changes in this PR:
Enhancers:

  • NameEnhancer
    • to fill Person dc.title from previous dspace 5.10 crisrp.preferredName / crisrp.fullName fields in the order of their occurences
    • set some default if no fields exist
    • Use case: different names of person are priotized in the display of search results and choice lookup
  • MapConverterValueEnhancer
    • fill a target metadatafield from the result of a mapConverter result of the source metadatafield (e.g. dc.type (dspace) to dc.type (coar)
    • Use case:

Enhancer Scripts:

  • ItemEnhancerEntityType
  • database-based approach
  • restrict enhancement to all Items of a collection
    • restrict enhancement to all Items of a given type
    • only enhance a maximum number of items (e.g. test result or effect on new enhancer)
    • use some limit after which some commit is made (avoid long time processes and one single commit on all entities)
    • Use case: apply new enhancers on some fractial of the repositories content saving time.
  • ItemEnhancerByDate
    • solr-based approach
    • restrict enhancement to all Items of a collection
    • restrict enhancement to all Items of a given type
    • only enhance a maximum number of items (e.g. test result or effect on new enhancer)
    • use some limit after which some commit is made (avoid long time processes and one single commit on all entities)
    • apply some solr daterange filter on the lastModified date (enhance all items modified between x and y || enhance all items modified before date z)
    • apply some general solr-filter (e.g. enhance all items matching some criteria, e.g. not enhanced by some cris.virtual.* field or some other criteria yet)
    • Use case: reapply enhancers on some run where some enhancement was suddenly broken.

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.

still working on tests for nameenhancer. possible split in two PR's (enhancer scripts and name enhancer)

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.
  • 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, third-party 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 the REST API, I've linked to the REST Contract page (or open PR) related to this change.

Enhance one dc.title from a list of other metadatafields. Language and Security are not considered. Some optional default value can be specified.
extended item enhancer. Items can be limit to entity type or collection. Some pagination (max entries) can be defined for testing and some limit after which some commit to the database is made.
…solr

extended item enhancer based on the solr search. Items can be limit to entity type or collection. Some pagination (max entries) can be defined for testing and some limit after which some commit to the database is made.
Additional some solr-query can be defined (e.g. enhance all items of some author/matching the query result) and some solr-based date range to only enhance items lastModified between two dates.
enhancer using the result value of some mapConverter file,
@floriangantner floriangantner marked this pull request as ready for review July 11, 2023 09:55
@floriangantner floriangantner changed the title Draft: Enhancement tools Enhancement tools Jul 11, 2023
@corrad82-4s corrad82-4s self-requested a review August 8, 2023 09:54
@floriangantner floriangantner changed the base branch from dspace-cris-7 to main-cris February 20, 2024 14:51
@floriangantner
Copy link
Author

alignment to 2023.02.02 Release

test entitytype, collection, limit and max and solr query parameter on the enhancement scripts. lower progress handler infos to debug
provide simple integration test for the nameenhancer using common cris metadatafields
@floriangantner
Copy link
Author

floriangantner commented Mar 6, 2024

closed, because superseded by #440

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New Enhancements Script
3 participants