2017 API

Nitschmann Manuel

Ausbau des Tocco um eine automatische Etikettengenerierung

Durchführung: 18.04.2017 bis 19.05.2017

Umfeld und Zielsetzung

Die Aufgabe, welche mir in meiner IPA gestellt wurde, ist eine Erweiterung des modular aufgebauten Tocco Business Framework um eine Etikettengenerierung. Diese sollte in der Lage sein, anhand von den erfassten Daten, Etiketten, wie zum Beispiel Namensschilder oder auch Adressaufkleber, zu generieren. Diese Funktion sollte dynamisch in der Weboberfläche des Framework eingebunden werden. Auch soll eine bereits vorhandene Liste mit Etikettenformaten importiert werden können. Ausserdem sollen noch sechs vorhandene Standardetiketten exemplarisch abgelöst werden.

Ausserdem sollten folgende zusätzliche Funktionen gegeben sein:


  • Änderung der Ausgabesprache

  • Anderung des Dateinamens

  • Möglichkeit Startreihe und Startspalte festzulegen

  • Ausgabe von 'Einschreiben' über den einzelnen Etiketten bei Bedarf

  • Eine Möglichkeit der Archivierung


Um diese Arbeit umzusetzen wurde eine Vielzahl an Technologien verwendet, unter Anderem:


  • Java

  • JavaScript

  • Freemarker

Bei Freemarker handelt es sich um eine 'template engine”,, welche in der Lage ist aus HTML und CSS Ausgaben in Form von PDF's zu generieren.

Umsetzung

Durch einen neuen generischer Freemarker Report lassen sich verschiedene Etiketten ausgeben, je nachdem was für ein Etiketteninhalt und -format verknüpft ist. Die durch Freemarker generierte HTML-Datei wird an die 'template engine' weitergegeben und in ein PDF konvertiert, welches gedruckt und oder heruntergeladen werden kann. Durch diese Variante war ich in der Lage Archievierung, Änderung der Ausgabesprache, sowie das Ändern des Dateinamens vom System selbst regeln zu lassen. Startreihe, Startspalte und die Auswahl ob Einschreiben oder nicht können beim Aufruf ausgewählt werden. Im generischen Report werden diese Daten verarbeitet.
Der Freemarker Report wurde anhand der auf der Etiketten hinterlegten Daten über eine ""ActionFactory"" auf der Ansicht der gewünschten Entität eingebunden. Die Darstellung dieser Funktion ist über JavaScript geregelt.

Fazit

Die Arbeit konnte erfolgreich abgeschlossen werden, enthält jedoch einige kleine Bugs, welche noch behoben werden müssen. Ausserdem nahm die Dokumentation, wie auch die Umsetzung viel mehr Zeit in Anspruch als ursprünglich geplant und ich musste für einen erfolgreichen Abschluss einige Überstunden in Kauf nehmen.


Mehr Informationen zu Freemarker sind unter freemarker.org zu finden