OS4X Enterprise text template

From OS4X

Many OS4X Enterprise solutions (plugins like transmission PDF, email files, approve, email templating) use templates to dynamically generate text, often used as email. OS4X supports two types of templates:

  • template as a file
  • template as a database configuration

We will migrate step-by-step as many filesystem based templates to the database where possible.

Template variables

Templates can contain variables, which are dynamically replaced during processing. Variables are introduced by a "$" character. This way, XPath expressions are possible on the actual job state in plugins.

Variables end with the occurance of one of the following characters:

  • whitespace
  • '
  • "
  • $
  • (
  • )
  • [
  • ]
  • <
  • >
  • :
  • ;
  • {
  • }
  • ,
  • .
  • `
  • %
  • newline character (\n)
  • \
  • &
  • |

Since OS4X release 2020-07-10, the following characters are also a variable separator:

  • ?
  • #

Common variables via XPath

  • Job number: $/OS4X_job/job_information/job_number
  • Job direction ("incoming" or "outgoing)": $/OS4X_job/job_information/job_direction
  • Job comment: $/OS4X_job/job_information/job_comment
  • Sender:
    • Family name (i.e. "Koch"): $/OS4X_job/job_information/sender/surname
    • Name (i.e. "Harald"): $/OS4X_job/job_information/sender/name
    • Email address (i.e. "h.koch@c-works.de"): $/OS4X_job/job_information/sender/email_address
    • Department (i.e. "Development"): $/OS4X_job/job_information/sender/department
    • City (i.e. "Böblingen"): $/OS4X_job/job_information/sender/location
    • ZIP code (i.e. "71034"): $/OS4X_job/job_information/sender/zip_code
  • Recipient:
    • Family name (i.e. "Koch"): $/OS4X_job/job_information/recipient/surname
    • Name (i.e. "Harald"): $/OS4X_job/job_information/recipient/name
    • Email address (i.e. "h.koch@c-works.de"): $/OS4X_job/job_information/recipient/email_address
    • Department (i.e. "Development"): $/OS4X_job/job_information/recipient/department
    • City (i.e. "Böblingen"): $/OS4X_job/job_information/recipient/location
    • ZIP code (i.e. "71034"): $/OS4X_job/job_information/recipient/zip_code
    • Company long name (i.e. "c-works GmbH"): $/OS4X_job/job_information/recipient/partner_longname

Special variables

  • $JOBFILES_HTML: Generate a HTML list of all files contained in the job (with "ul" and "li" HTML tags)
  • $JOBFILES_TEXT: Generate a textual list of all files contained in the job (with "- " as a prefix before each filename)
  • $JOBCOMMENT_HTML: Formats the job comment (if any given) with newlines changed to HTML "<br/>" equivalents.

Handling text templates

Text templates (stored in the database) can be configured in "Configuration" -> "OS4X Enterprise" -> "Text templates":

Bildschirmfoto 2020-07-13 um 11.06.47.png

In the opening panel, you can add and edit an unlimited amount of text templates. Editing templates is done via an interactive HTML editor (which strips the HTML and BODY tag away due to security reasons). You can edit the visual outcome with the contained formatting tools in the top toolbar:

Bildschirmfoto 2020-07-13 um 11.09.19.png

It is also possible to edit the sourcecode directly, making it easier to edit the content for web developers.

A pre-set list of templates to be selected makes it easy to use our defaults. Also, a selectable list of often-used XPath expressions help developers to dynamically let variables be used in the template (where applicable).