From 58365cdfda14fe274c2c7802c586d91929a12ca0 Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Mon, 10 Aug 2020 15:30:32 +0300 Subject: [PATCH] Adjust README.md files We need to try to keep the main README.md clean and move specific configuration instructions to each separate component. --- README.md | 34 +-------- .../io/github/ilri/cgspace/ctasks/README.md | 74 +++++++++++++++++++ .../io/github/ilri/cgspace/scripts/README.md | 41 ++++++++++ 3 files changed, 118 insertions(+), 31 deletions(-) create mode 100644 src/main/java/io/github/ilri/cgspace/ctasks/README.md create mode 100644 src/main/java/io/github/ilri/cgspace/scripts/README.md diff --git a/README.md b/README.md index 1b9d521..2c3d2d9 100644 --- a/README.md +++ b/README.md @@ -35,38 +35,10 @@ $ cp target/cgspace-java-helpers-5.3.jar ~/dspace/lib ``` ## Configuration -Add the curation task to DSpace's `config/modules/curate.cfg`: +Please refer to the appropriate README.md file: -``` -plugin.named.org.dspace.curate.CurationTask = \ -... - io.github.ilri.cgspace.ctasks.CountryCodeTagger = countrycodetagger \ - io.github.ilri.cgspace.ctasks.CountryCodeTagger = countrycodetagger.force -``` - -And then add a configuration file for the task in `config/modules/countrycodetagger.cfg`: - -``` -# name of the field containing ISO 3166-1 country names -iso3166.field = cg.coverage.country - -# name of the field containing ISO 3166-1 Alpha2 country codes -iso3166-alpha2.field = cg.coverage.iso3166-alpha2 - -# only add country codes if an item doesn't have any (default false) -#forceupdate = false -``` - -*Note*: DSpace's curation system supports "profiles" where you can use the same task with different options, for example above I have a normal country code tagger and a "force" variant. To use the "force" variant you create a new configuration file with the overridden options in `config/modules/countrycodetagger.force.cfg`. The "force" profile clears all existing country codes and updates everything. - -## Invocation -Once the jar is installed and you have added appropriate configuration in `~/dspace/config/modules`: - -``` -$ ~/dspace/bin/dspace curate -t countrycodetagger -i 10568/3 -r - -l 500 -s object -``` - -*Note*: it is very important to set the cache limit (`-l`) and the database transaction scope to something sensible (`object`) if you're curating a community or collection with more than a few hundred items. +- Curation Tasks: https://github.com/ilri/cgspace-java-helpers/blob/dspace5/src/main/java/io/github/ilri/cgspace/ctasks/README.md +- Scripts: https://github.com/ilri/cgspace-java-helpers/blob/dspace5/src/main/java/io/github/ilri/cgspace/scripts/README.md ## Notes This project was initially created according to the [Maven Getting Started Guide](https://maven.apache.org/guides/getting-started/): diff --git a/src/main/java/io/github/ilri/cgspace/ctasks/README.md b/src/main/java/io/github/ilri/cgspace/ctasks/README.md new file mode 100644 index 0000000..cc43ac0 --- /dev/null +++ b/src/main/java/io/github/ilri/cgspace/ctasks/README.md @@ -0,0 +1,74 @@ +# Curation Tasks +DSpace curation tasks used on the [CGSpace](https://cgspace.cgiar.org) institutional repository: + +- **CountryCodeTagger**: add ISO 3166-1 Alpha2 country codes to items based on their existing country metadata + +Tested on DSpace 5.8. Read more about the [DSpace curation system](https://wiki.lyrasis.org/display/DSDOC5x/Curation+System). + +## Build and Install + +### Integrate into DSpace Build +To use these curation tasks in a DSpace project add the following dependency to `dspace/modules/additions/pom.xml`: + +``` + + io.github.ilri.cgspace + cgspace-java-helpers + 5.3 + +``` + +The jar will be copied to all DSpace applications. + +### Manual Build and Install +To build the standalone jar: + +``` +$ mvn package +``` + +Copy the resulting jar to the DSpace `lib` directory: + +``` +$ cp target/cgspace-java-helpers-5.3.jar ~/dspace/lib +``` + +## Configuration +Add the curation task to DSpace's `config/modules/curate.cfg`: + +``` +plugin.named.org.dspace.curate.CurationTask = \ +... + io.github.ilri.cgspace.ctasks.CountryCodeTagger = countrycodetagger \ + io.github.ilri.cgspace.ctasks.CountryCodeTagger = countrycodetagger.force +``` + +And then add a configuration file for the task in `config/modules/countrycodetagger.cfg`: + +``` +# name of the field containing ISO 3166-1 country names +iso3166.field = cg.coverage.country + +# name of the field containing ISO 3166-1 Alpha2 country codes +iso3166-alpha2.field = cg.coverage.iso3166-alpha2 + +# only add country codes if an item doesn't have any (default false) +#forceupdate = false +``` + +*Note*: DSpace's curation system supports "profiles" where you can use the same task with different options, for example above I have a normal country code tagger and a "force" variant. To use the "force" variant you create a new configuration file with the overridden options in `config/modules/countrycodetagger.force.cfg`. The "force" profile clears all existing country codes and updates everything. + +## Invocation +Once the jar is installed and you have added appropriate configuration in `~/dspace/config/modules`: + +``` +$ ~/dspace/bin/dspace curate -t countrycodetagger -i 10568/3 -r - -l 500 -s object +``` + +*Note*: it is very important to set the cache limit (`-l`) and the database transaction scope to something sensible (`object`) if you're curating a community or collection with more than a few hundred items. + +## TODO + +- Make sure this doesn't work on items in the workflow +- Check for existence of metadata field before trying to add metadata +- Add tests diff --git a/src/main/java/io/github/ilri/cgspace/scripts/README.md b/src/main/java/io/github/ilri/cgspace/scripts/README.md new file mode 100644 index 0000000..5472c1e --- /dev/null +++ b/src/main/java/io/github/ilri/cgspace/scripts/README.md @@ -0,0 +1,41 @@ +# Scripts +Java-based helpers used on the [CGSpace](https://cgspace.cgiar.org) institutional repository: + +- **FixJpgJpgThumbnails**: Fix low-quality ".jpg.jpg" thumbnails by replacing them with their originals + +Tested on DSpace 5.8. Read more about the [DSpace curation system](https://wiki.lyrasis.org/display/DSDOC5x/Curation+System). + +## Build and Install + +### Integrate into DSpace Build +To use these curation tasks in a DSpace project add the following dependency to `dspace/modules/additions/pom.xml`: + +``` + + io.github.ilri.cgspace + cgspace-java-helpers + 5.3 + +``` + +The jar will be copied to all DSpace applications. + +### Manual Build and Install +To build the standalone jar: + +``` +$ mvn package +``` + +Copy the resulting jar to the DSpace `lib` directory: + +``` +$ cp target/cgspace-java-helpers-5.3.jar ~/dspace/lib +``` + +### Invocation +The script only takes one argument, which is a community, collection, or item: + +``` +$ dspace dsrun io.github.ilri.cgspace.scripts.FixJpgJpgThumbnails 10568/83389 +```