update and text restructuring

This commit is contained in:
mmattel
2022-10-25 17:21:50 +02:00
parent 778c84cf17
commit 2836395a29
+42 -13
View File
@@ -1,15 +1,28 @@
# Thumbnails service
# Thumbnails Service
The thumbnails service provides methods to generate thumbnails for various files.
It retrieves the sources at the location where the user files are stored and saves the tumbnails at the location where system files are stored. Those locations have defaults but can be manually defined via environment variables. The relevant environment variables are:
The thumbnails service provides methods to generate thumbnails for various files and resolutions based on requests. It retrieves the sources at the location where the user files are stored and saves the tumbnails where system files are stored. Those locations have defaults but can be manually defined via environment variables.
- `OCIS_BASE_DATA_PATH` which will contain system relevant data and
- `STORAGE_USERS_OCIS_ROOT` which will contain the user source data.
- `THUMBNAILS_FILESYSTEMSTORAGE_ROOT` used if thumnails should be separated from system files.
## File Locations Overview
For details and defaults see the documentation.
The relevant environment variables defining file locations are:
Thumbnails can be generated for the following file types:
- (1) `OCIS_BASE_DATA_PATH`
- (2) `STORAGE_USERS_OCIS_ROOT`
- (3) `THUMBNAILS_FILESYSTEMSTORAGE_ROOT`
(1) ... Having a default set by the ocis code, but if defined, used as base path for other services.
(2) ... Source files, defaults to (1) plus path component, but can be freely defined if required.
(3) ... Target files, defaults to (1) plus path component, but can be freely defined if required.
For details and defaults for these environment variables see the ocis admin documentation.
## Thumbnail Location
It may be benificial to define the location of the thumbnails other than at system files. This is due the fact that storing thumbnails can consume a lot of space over time which not necessarily needs to reside on the same partition or mount or expensive drives.
## Thumbnail Source File Types
Thumbnails can be generated from the following source file types:
- png
- jpg
@@ -18,12 +31,28 @@ Thumbnails can be generated for the following file types:
- bmp
- txt
Thumbnails can either be generated as `png`, `jpg` or `gif` files, various resolutions can be defined via `THUMBNAILS_RESOLUTIONS`.
The thumbnail service retrieves source files using the information provided by the backend. The Linux backend identifies source files usually based on the extension.
---
If a file type was not properly assigned or the type identification failed, thumbnail generation will fail and an error will be logged.
**NOTE**
## Thumbnail Target File Types
Since source files need to be loaded into memory when generating thumbnails, large source files could potentially crash this service if there is insufficient memory available. For bigger instances, this service can be dedicated to own servers with more memory when using container orchestration deployment methods.
Thumbnails can either be generated as `png`, `jpg` or `gif` files. These types are hardcoded and no other types can be requested. A requestor like another service or a client can request one of the avialable types to be generated. If more than one type is required, each type must be requested individaully.
---
## Thumbnail Resolution
Various resolutions can be defined via `THUMBNAILS_RESOLUTIONS`. A requestor can request any arbitrary resolution and the thumbnail service will use the one closest to the requested resolution. If more than one resolution is required, each resolution must be requested individaully.
**Example:**
Requested: 18x12
Available: 30x20, 15x10, 9x6
Returned: 15x10
## Deleting Thumbnails
As of now, there is no automatism deleting thumbnails automatically. This is especially true when a source file gets deleted or moved. This situation will be solved in a later stage. For the time being, if you run short on physical thumbnails space, you have to manually delete the thumbnail store to free space. Thumbnails will then be recreated on request.
## Memory Considerations
Since source files need to be loaded into memory when generating thumbnails, large source files could potentially crash this service if there is insufficient memory available. For bigger instances when using container orchestration deployment methods, this service can be dedicated to own servers with more memory.