Šablony

Modul pro generování šablon se jmenuje Docgen. Slouží ke generování obsahu pro e-maily, extra html obsahu nebo pro generování dokumentů na základě vytvořené šablony a dat, které se v šabloně zpracují.

Typy šablon

DOCBOOK

Generování PDF souborů definové přes DocBook.

HTML

Generování HTML kódu.

TXT

Generování prostého textu.

FO_PDF

Generování PDF souboru pomocí fop a xlst.

Zákaznické šablony ve FOPu

Zákaznické šablony jsou uložené ve složce templates/fop pod zkratkou zákazníka. Název složky se pojmenuje podle názvu dokumentu.

Rozdělení dokumentů
  • Preview - sablony prezentované jako ukázky.

  • Official - oficiální dokumenty vytvořené na míru.

Poskytovatelé dat (data provider)

Jedná se o mapu s daty, které se mají poslat do šablony. Data se zpracovávají několika způsoby:

  1. Konkrétní mapa dat přímo v kódu.

  2. Přes data procesory v kódu projektu.

  3. Přes groovy scripty.

Groovy scripty byly přidány později a umožňují rychlejší přípravu dat bez nutnosti kódování v projektu a nasazování verze.

Mapa dat v kódu

Většinou se jedná o nějaké inicializační data, které se vytvářejí na konkrétním míste v kódu před generováním.

V šabloně musí být použity přesně ty klíče, které se v mapě použily a při změně se musí také provést úprava příslušné šablony, která poslané data zpracovává.

Data processory

Na základě dílčích dat poslaných v mapě lze pomocí data processorů vygenerovat datové modely, které se po vygenerování přidají do mapy. Tímto způsobem si lze připravit komplexní data pro použití v šabloně.

Takto vytvořený data provider pak lze přidat v docgenu přes správu Poskytovatelé dat tak, že přidá reference data provideru, napr. cz.vrk.pi.crm.model.data.provider.classes.OrganizationDataProvider.

Nevýhodou je nutnost nasazení verze po úpravě data processorů v kódu.

Seznam poskytovatelů dat s referencí:
  • organizationData - OrganizationDataProvider

  • now - NowDataProvider

  • memberData - MemberDataProvider

  • paymentsData - PaymentsDataProvider

  • smileSupportData - SmileSupportDataProvider

  • participantsData - CouplesDataProvider - TSCH

  • participantsData - HighSchoolStudentsDataProvider - TSCH

Groovy script

Groovy scripty lze připravit za běhu aplikace bez znutnosti nasazení. To umožňuje flexibilní přípravu dat pro šablonu.

Scripty se dají vkládat přes správu Poskytovatelé dat, že se do pole pod referenci vloží zkopírovaný groovy script.

Seznam poskytovatelů dat přes script

Testování HTML šablon

Vytvořenou šablonu lze otestovat pomocí groovy scriptu, který dodá testovací data do šablony. Testování probíhá v detailu šablony na záložce Test.

  • Vybere se místo (portlet), kde ve kterém generování probíhá, aby se šablona generovala ve stejném kontextu.

  • Nakopíruje se testovací groovy script

  • Stisknutím tlačítka Generovat se v části Výsledky zobrazí vygenerované HTML.

Šablona se dá odeslat na vybrané adresy pro kontrolu zobrazení v e-mailových schránkách.

Testovací šablony jsou umístěné v adresáři templates/test-scripts.