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 (Doit être définie)

Le compte admin est le seul compte present apres installation.

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

Le mot de pass est encrypte en utilisant bcrypt. Vous pouvez obtenir un bonmot de passe avec cette commande:

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

Ensuit encrypez le avec une implementation de bcrypt. Point d’attention toutes lesimplémentations de bcrypt ne sont pas sécurisées. Une option est d’encrypter le mot depasse en utilisant python3 avec le packet python3-bcrypt:

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

Ou pwd est votre mot de passe.

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.

De la meme maniere que pour le mot de passe vous pouvez obtenirune bonne clé comme ceci:

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

Base de données et elasticsearch (Doit être définie)

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
            # ...

Sytème de fichier

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

Serveur

Le port utilisé par NumaHOP.

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

Tailles d’images

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 * * ?

La valeur de chaque clé est une expression cron utilisée pour configurer quand la tache doit être executée.

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