Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

NumaHOP Configuration.

La configuration de NumaHOP se fait dans des fichiers yaml nomes application.ymlou application-<profile>.yml.

Quand NumaHOP demare il cherce and charge les fichiers de configuration dans cet ordre:

  • Dans les ressources a l’interieur du packet jar.
  • Dans le dossier ./config (relatif a son repertoir d’execution).

Profiles

NumaHOP peut charger plusieurs fichier de configuration a l’aide d’un system de profile.En premier il charge le fichier application.yml et ensuite les fichiers des profils actifs.Chaque chargement écrase les clès de configuration déjà définies.

To activate a profile the flag --spring.profiles.active can be passed to the war:

./numahop.jar --spring.profile.active=dev,prod

The resulting files will be sourced in this order:

  • À l’interieur du jar:
    • application.yml
    • application-dev.yml
    • application-prod.yml
  • À l’interieur du répertoir de travail:
    • ./config/application.yml
    • ./config/application-dev.yml
    • ./config/application-prod.yml

application.yml

La plupart des propriétées disponible dans les fichier de configuration sontdéfinies par SpringBoot certaines le sont par NumaHOP. Toute les utilisation despropriétées de NumaHOP peuvent être trouvées en utilisant la commande: grep -e "@Value\(\$\{.*\}\)"

Propriétées importantes et utiles

Instances (Doit être définie)

Chaque etablissements dans numahop doit etre declare ici. L’id doit correspondreavec l’id de l’etablissement dans la table library en base de donnees.

instance:
    libraries: lib1, lib2, lib3
Utilisations
  • src/main/java/fr/progilone/pgcn/config/BinaryStorageConfiguration.java
  • src/main/java/fr/progilone/pgcn/service/delivery/DeliveryReportingService.java
  • src/main/java/fr/progilone/pgcn/service/check/MetaDatasCheckService.java
  • src/main/java/fr/progilone/pgcn/service/document/ui/UIDocUnitService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/cines/CinesRequestHandlerService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/cines/ExportCinesService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/cines/ExportSipService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/omeka/OmekaService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/digitallibrary/DigitalLibraryDiffusionRequestHandlerService.java
  • src/main/java/fr/progilone/pgcn/service/storage/FileCleaningManager.java
  • src/main/java/fr/progilone/pgcn/service/storage/AltoService.java
  • src/main/java/fr/progilone/pgcn/service/storage/FileStorageManager.java

Admin (Must be set)

Le compte admin est le seul compte present apres installation.

admin:
    login: # default: admin
    password: # Important to override. default: hash of "password"

The password is encrypted using the bcrypt method you can get a good password to encrypt like this:

head /dev/urandom | tr -dc "a-zA-Z0-9"| fold -w 20 | head -n 1

Then encrypt it with a bcrypt implementation. But pay attention not all bcrypt algorithms are secure. The easiest way to encrypt the password is as such it requires a python3 installation with the python3-bcrypt library:

echo "$pwd" | python3 -c <<PYTHON
import bcrypt, getpass;
print(bcrypt.hashpw(input().encode(), bcrypt.gensalt()).decode())'
PYTHON

Where pwd is you password.

Uses:
  • src/main/java/fr/progilone/pgcn/service/user/ui/UIUserService.java
  • src/main/java/fr/progilone/pgcn/web/rest_int/InternalAccountResource.java
  • src/main/java/fr/progilone/pgcn/security/UserDetailsService.java

Jhipster Remember Me key (Doit être définie)

C’est la cle qui permet au service rememberme de fonctionner. Elle doit être uniquepour votre installation.

jhipster.security.rememberme.key: # No defaults must be defined.

Same as the password you can get a good randomized key like this:

head /dev/urandom | tr -dc "a-zA-Z0-9"| fold -w 20 | head -n 1
Uses:
  • TODO

Database and elasticsearch (Must be set)

Les informations dont NumaHOP a besoin pour se connecter à la base de données et elasticsearch.

spring:
    datasource:
        url: # The url to access the mariadb data base often: jdbc:mariadb://localhost:3306/<db-name>
        username: # The database user
        password: # The database password
    elasticsearch:
        uris:
            - <uri> # default: http://localhost:9200
            # ...

Filesystem

Ces options de configuration définissent où NumaHOP peut trouver les executables dont il a besoin, ainsi que l’endroit où il doit placer les différent fichiers qu’il génère.

base-path: #default /opt/pgcn

imageMagick:
    convert: # default : /usr/bin/convert
    identify: # default : /usr/bin/identify

exifTool:
    process: # default : /usr/bin/exiftool

tesseract:
    process: # default : /usr/bin/tesseract

storage:
    binaries: # default : ${base-path}/DAM/DAM_Repository

nativeLibraries:
    path: # default : /opt/svcmgmt/lib

messaging:
    template:
        path: # default : ${base-path}/Messaging/MessagingTemplate


uploadPath:
    condition_report: # default : ${base-path}/upload/condition_report
    ead: # default : ${base-path}/upload/ead
    import: # default : ${base-path}/upload/import
    library: # default : ${base-path}/upload/library
    user: # default : ${base-path}/upload/user
    template: # default : ${base-path}/upload/templates

export:
    ssh:
        knownHosts: # default : ${base-path}/config/known_hosts

services:
    cines:
        aip: # default : ${base-path}/cines/aip
        cache: # default : ${base-path}/cines/cache
        xsd:
            sip: # default : ${base-path}/xsd/sip.xsd
    archive:
        alto: # default : ${base-path}/archive/alto
        text: # default : ${base-path}/archive/text
    metaDatas:
        path: # default : ${base-path}/metadatas
    deliveryreporting:
        path: # default : ${base-path}/deliveryReporting
    omeka:
        cache: # default : ${base-path}/omeka/cache
    ftpexport:
        cache: # default : ${base-path}/ftpexport/cache
    digitalLibraryDiffusion:
        cache: # default : ${base-path}/digitalLibraryDiffusion/cache
Exiftool Uses:
  • src/main/java/fr/progilone/pgcn/service/storage/ExifToolService.java
  • src/main/java/fr/progilone/pgcn/service/storage/ImageMagickService.java
Upload Path Uses:
  • src/main/java/fr/progilone/pgcn/service/JasperReportsService.java
  • src/main/java/fr/progilone/pgcn/service/user/UserService.java
  • src/main/java/fr/progilone/pgcn/service/library/LibraryService.java
  • src/main/java/fr/progilone/pgcn/service/document/conditionreport/ConditionReportAttachmentService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/ead/ExportEadService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/ImportReportService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/template/TemplateService.java
Services Uses:
  • src/main/java/fr/progilone/pgcn/service/delivery/DeliveryReportingService.java
  • src/main/java/fr/progilone/pgcn/service/check/MetaDatasCheckService.java
  • src/main/java/fr/progilone/pgcn/service/check/FacileCinesService.java
  • src/main/java/fr/progilone/pgcn/service/document/ui/UIDocUnitService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/internetarchive/InternetArchiveService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/cines/CinesRequestHandlerService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/cines/ExportCinesService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/cines/ExportSipService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/omeka/OmekaService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/digitallibrary/DigitalLibraryDiffusionRequestHandlerService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/digitallibrary/DigitalLibraryDiffusionService.java
  • src/main/java/fr/progilone/pgcn/service/storage/FileCleaningManager.java
  • src/main/java/fr/progilone/pgcn/service/storage/AltoService.java

Server

Le port utilisé par NumaHOP.

server:
    port: # default: 80
Uses:
  • src/main/java/fr/progilone/pgcn/web/rest/administration/HealthController.java

Image Sizes

images:
    format:
        default:
            thumbHeight: # default: 150 
            thumbWidth: # default: 150
            viewHeight: # default: 1417
            viewWidth: # default: 982
            printHeight: # default: 2835
            printWidth: # default: 1964
Uses:
  • src/main/java/fr/progilone/pgcn/service/util/DefaultFileFormats.java

Cron jobs.

Plusieurs services de NumaHOP sont annotés avec @Scheduled. Ce sontdes con jobs configurable.

cron:
    removeOldTokens: # default: 0 0 0 * * ?
    cleanLocks: # default: 0 30 0 * * *
    rebuildIndex: # Rebuild elastic search index. default: 0 40 0 * * *
    cleanDeliveryFiles: # default: 0 0 1 * * ?
    cinesExport: # Try to export eligible document units to the CINES. default: 0 30 1 * * ?
    localExport: # Try to export eligible document units via SFTP. default: 0 0 4 * * ?
    cleanTemporaryFiles: # Clean up temporary files for each library. default: 0 0 2 * * ?
    internetArchiveExport: # Try to export eligible document units to Internet Archive. default: 0 26 17 * * ?
    gestDeliveredFiles: # Save or delete the archived documents. default: 0 00 18 * * SAT
    cinesUpdateStatus: # Download status of CINES export from the mailbox. default: 0 10 * * * *
    omekaExport: # Try to export eligible document units to an Omeka instance. default: 0 0 3 * * ?
    cleanExportCaches: # default: 0 30 6 * * ?
    docUnitUpdateArk: # Retrieve Internet archive urls of archived documents. default: 0 0 6 * * ?
    digitalLibraryExport: # default: 0 0 3 * * ?

The value is a cron expression used to configure when to run the job.

Uses:
  • src/main/java/fr/progilone/pgcn/service/storage/FileCleaningManager.java
  • src/main/java/fr/progilone/pgcn/service/exchange/digitallibrary/DigitalLibraryDiffusionRequestHandlerService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/exportftp/ExportFtpService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/omeka/OmekaRequestHandlerService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/cines/CinesRequestHandlerService.java
  • src/main/java/fr/progilone/pgcn/service/es/IndexManagerService.java
  • src/main/java/fr/progilone/pgcn/service/LockService.java
  • src/main/java/fr/progilone/pgcn/service/exchange/internetarchive/InternetArchiveServiceAsync.java
  • src/main/java/fr/progilone/pgcn/service/document/DocUnitService.java
  • src/main/java/fr/progilone/pgcn/service/user/UserService.java

Mail

spring:
    mail:
        host: # default: localhost
        port: # default: 25
        user:
        password:
        from: # default: contact-numahop@numahop.fr
        tls: # default: false
        auth: # default: false
        activated: # default: false
Uses:
  • TODO