Skip to content

Enhance data export with user-defined formats

This issue addresses user feedback for more flexibility, as there is a high demand for PDI to support personalized file formats.

As PDI is currently unable to write in custom formats, a new plugin should be developed to address this demand.

One way to address this issue is by utilizing a logic-less templating system, which has multiple available tools for this specific purpose:

  • Mustache. Has C, C++ implementations
    Mustache is the original logic-less template language that inspired the other tools. It is the most minimalistic and logic-less templating system, as it provides a straightforward way to insert variables with only simple conditionals into templates.
  • Handlebars. Has C. implementation
    Inspired from Mustache, it provides extended functionality with helpers like if/each/list/with etc along with the ability to register custom helpers you need. Contrary to Mustache, it compiles templates before use, which significantly speeds the rendering of data compared to Mustache.
  • Jinja. Has C, C++ implementations
    Inspired from Mustache and Django (another templating system), is a bit more feature-rich than Mustache, providing support for template inheritance, macros, and custom filters. Jinja also has it's own syntax, and is a bit more oriented for Python web development.

Other implementations, such as Django Combyne or Markup and many others, exist despite not having C/C++ implementations.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information