Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Copyright (C) 2018-2019 The Open Library Foundation

This software is distributed under the terms of the Apache License, Version 2.0. See the file "LICENSE" for more information.


This module is responsible for storing templates and generating text, html, xml, doc, docx etc from the template. Generated payload is described by meta information which contains info about format, size and date. Supports localization of templates.

POST /templates Create new template in storage
GET /templates/{templateId} Get template from storage by id
PUT /templates/{templateId} Update template in storage
DELETE /templates/{templateId} Delete template from storage
GET /templates?query={custom_query} Get list of templates from storage by custom query
POST /template-request Process specified template using context

Example of template record:

     "id": "96cba796-2acc-4500-8277-26bde511dce7",
     "description": "Template for password change",
     "outputFormats": [
     "templateResolver": "mustache",
     "localizedTemplates": {
       "de": {
         "header": "Hallo message for {{}}",
         "body": "Hallo {{}}"
       "en": {
         "header": "Hello message for {{}}",
         "body": "Hello {{}}"

POST /template-request :

    "lang": "en",
    "outputFormat": "text/plain",
    "context": {
      "user": {
        "name": "Alex"
      "item": {
        "name": "My Item"

Response :

    "templateId": "96cba796-2acc-4500-8277-26bde511dce7",
    "result": {
        "header": "Hello message for Alex",
        "body": "Hello Alex"
    "meta": {
        "size": 10,
        "dateCreate": "2018-10-22T15:26:10.560+0000",
        "lang": "en",
        "outputFormat": "text/plain"

Additional information

The raml-module-builder framework.

Other modules.

Other FOLIO Developer documentation is at

Issue tracker

See project MODTEMPENG at the FOLIO issue tracker.


See the built target/ModuleDescriptor.json for the interfaces that this module requires and provides, the permissions, and the additional module metadata.

API documentation

This module's API documentation.

Code analysis

SonarQube analysis.

Download and configuration

The built artifacts for this module are available. See configuration for repository access, and the Docker image.


Since version 1.8.0 the module contains functionality for barcode image generation, which relies on system font configuration not found in Alpine-based Docker image currently used for module delivery. This missing dependency is installed by adding following instructions to Dockerfile:

USER root
RUN apk add --no-cache ttf-dejavu
USER folio

Introduction of this new dependency affects this particular Docker image only and should not cause any compatibility issues when running the module natively.