# Derivateservice
The derivateservice is a backend process performing all 4ALLPORTAL file and document processing, such as preview generation or download generation, e.g. downsizing an image according to a selected download profile. It thus executes the instructions it gets from the Object Image Service.
For processing, additional tools for format conversion are required. They automatically come with a 4ALLPORTAL installation:
- ImageMagick (opens new window) (to read, modify, and write image formats)
- Ghostscript (opens new window) (to interpret PostScript and PDF files)
- ExifTool (opens new window) (to read, write, and edit metadata in image, audio and video files)
- FFmpeg (opens new window) (to play, create, edit, and convert audio and video formats)
- LibRaw (opens new window) (to read raw files from digital cameras)
- Aspose (opens new window) (file format APIs to read, create, edit, and convert formats including MS Office and Open Office)
# How to Configure the Derivateservice
To configure the derivateservice and the automatic tool updating, you may either
- change the general default settings by editing its startup parameters, or
- give further runtime specifications by editing file
derivateservice.config
# Startup Parameters
The startup parameters can be set locally if required via environments variables or by adding them to the startup options of the 4ALLPORTAL.
Note that adjusting the default settings is not required for the derivateservice to work.
Startup option Environment variable | Description | Default value |
---|---|---|
installation.path INSTALLATION_PATH | Path to 4ALLPORTAL installation | Current path |
runtime.path RUNTIME_PATH | Path to _runtime directory | ${installation.path}/_runtime |
global.path GLOBAL_PATH | Path to global directory | ${runtime.path}/global |
temp.path TEMP_PATH | Path to temp directory | Default Java temp directory |
derivateservice.start DERIVATESERVICE_START | Switch to startup the derivateservice | true |
derivateservice.host DERIVATESERVICE_HOST | Name of the host, where the derivateservice is running | localhost |
derivateservice.port DERIVATESERVICE_PORT | Port of the derivateservice | 8191 |
derivateservice.url DERIVATESERVICE_URL | URL to the derivateservice | ${derivateservice.host}:${derivateservice.port} |
derivateservice.classpath DERIVATESERVICE_CLASSPATH | Java classpath for the derivateservice | ${installation.path}/_runtime/application/libs/*:./libs/*:./derivateservice.jar |
derivateservice.java.options DERIVATESERVICE_JAVA_OPTIONS | JVM options | -Dfile.encoding=UTF-8 -Duser.timezone=UTC |
derivateservice.debug DERIVATESERVICE_DEBUG | Switch derivateservice to debug mode | false |
derivateservice.debug.suspend DERIVATESERVICE_DEBUG_SUSPEND | JVM debug option | n |
derivateservice.debug.port DERIVATESERVICE_DEBUG_PORT | JVM debug option | 8002 |
derivateservice.debug.java.options DERIVATESERVICE_DEBUG_JAVA_OPTIONS | JVM debug options | ${derivateservice.java.options:} -Xdebug -Xrunjdwp:transport=dt_socket,address=*:${derivateservice.debug.port},server=y,suspend=${derivateservice.debug.suspend} |
tools.dir TOOLS_DIR | Path to external tools in installation directory | tools |
tools.skip.installation TOOLS_SKIP_INSTALLATION | Switch to skip the automatically installation of the tools | false |
# Derivateservice.config Properties
Additionally, some runtime properties can be configured via file global/derivateservice.config
.
Store this file in your custom folder for custom changes.
Property | Startup option Environment variable | Description | Default value |
---|---|---|---|
cmykProfile | derivateservice.cmyk.profile DERIVATESERVICE_CMYK_PROFILE | Default CMYK profile. The path must be set either relative to folder global/icc or as an absolute path | CoatedFOGRA39.icc |
rgbProfile | derivateservice.rgb.profile DERIVATESERVICE_RGB_PROFILE | Default sRGB profile. The path must be set either relative to folder global/icc or as an absolute path | sRGB Profile.icc |
grayProfile | derivateservice.gray.profile DERIVATESERVICE_GRAY_PROFILE | Default grayscale profile. The path must be set either relative to folder global/icc or as an absolute path | Generic Gray Profile.icc |
skipToolsInstallation | tools.skip.installation TOOLS_SKIP_INSTALLATION | Switch to skip the automatic installation of the required tools | false |
imageMagickHome * | imagemagick.home IMAGEMAGICK_HOME | Installation directory of ImageMagick | |
imageMagickVersion * | imagemagick.version IMAGEMAGICK_VERSION | Required ImageMagick version | |
ghostscriptHome * | ghostscript.home GHOSTSCRIPT_HOME | Installation directory of Ghostscript | |
ghostscriptVersion * | ghostscript.version GHOSTSCRIPT_VERSION | Required Ghostscript version | |
ffmpegHome * | ffmpeg.home FFMPEG_HOME | Installation directory of FFmpeg | |
ffmpegVersion * | ffmpeg.version FFMPEG_VERSION | Required FFmpeg version | |
exiftoolHome * | exiftool.home EXIFTOOL_HOME | Installation directory of ExifTool | |
exiftoolVersion * | exiftool.version EXIFTOOL_VERSION | Required ExifTool version | |
librawHome * | libraw.home LIBRAW_HOME | Installation directory of LibRaw | |
librawVersion * | libraw.version LIBRAW_VERSION | Required LibRaw version |
*: If not set, the existing version will be used (if possible).