sebastianknopf / uic-tlb-interpreter Goto Github PK
View Code? Open in Web Editor NEWinterpreter library for UIC layout tickets
License: Other
interpreter library for UIC layout tickets
License: Other
Zusammenfassung
Die aktuelle Variante der Kommandozeilenanwendung ist eher zusammengehacked und dient bislang nur Demozwecken. Perspektivisch soll die Konsolenanwendung auch einen interaktiven Assistenten bieten, mit dem Interpreter erstellt werden können. Dazu sind einige Anpassungen notwendig.
Akzeptanzkriterien
Zusammenfassung
Hi Sebastian,
ich habe einen Interpreter für Deutschlandtickets der Stadtwerke Augsburg angelegt. Du kannst gerne einmal schauen ob die Datei so in Ordnung ist. Wenn alles passen sollte, dann kannst du den Interpreter gerne in deiner Sammlung aufnehmen.
SWA_DTicket_Interpreter.json
Falls noch was sein sollte, kannst du gerne Fragen.
Gruß Thomas
Zusammenfassung
Stand jetzt ist es nicht möglich, Layoutfelder in ihrem Vorhandensein als optional zu kennzeichnen. Es kann bisher lediglich der Ergebniswert als optional gekennzeichnet werden, was bedeutet, dass dieser Null werden darf. Wenn jedoch das referenzierte Layoutfeld nicht vorhanden ist, wird eine Exception geworfen.
Zukünftig soll keine Exception mehr geworfen werden, wenn ein referenziertes Layoutfeld nicht enthalten ist. Stattdessen soll der gesamte Ergebniswert als "nicht vorhanden" (=Null) gekennzeichnet werden.
Beispiel: Ein Issuer gibt Barcodes mit derselben MessageTypeVersion und derselben Record-Version aus. Auch das Layout ist gleich, nur das Feld für das Geburtsdatum ist manchmal vorhanden und manchmal nicht. Nach bisherigem Stand müssten für diese beiden Fälle zwei Interpreter hinterlegt werden, einer mit und einer ohne Geburtsdatum. Wird nun durch ungeschickte Dateibenennung aber zunächst der Interpreter ohne Geburtsdatum versucht auszuführen, führt das unweigerlich dazu, dass das Geburtsdatum nie für diesen Issuer ausgelesn wird, da der erste Versuch mit dem Interpreter ohne Geburtsdatum immer gelingen wird und der zweite Interpreter so nie zum Zuge käme. Indem das Geburtsdatum als optional gekennzeichnet wird, kann es problemlos auch den Wert Null annehmen, wenn das Layoutfeld dazu nicht vorhanden ist.
Akzeptanzkriterien
Zusammenfassung
Aktuell müssen JSON-Interpreter noch händisch angelegt und dann getestet werden. Das ist z.T. sehr Zeitraubend und nicht wirklich anwenderfreundlich. Daher soll ein interaktiver Kommandozeilen-Assistent entworfen werden, der es Endnutzern oder dem 1st-Levelsupport ermöglicht, selbst Interpreter erstellen zu können.
Der Ablauf nach dem Start des Assistenten soll folgendermaßen sein:
Dieses Ticket dient als Epic zum kapseln der vier einzelnen Tickets bzgl. Assistentenumsetzung. Außerdem sollen in diesem Ticket globale Entscheidungen getroffen werden.
Folgende Punkte müssen noch überlegt werden:
Zusammenfassung
Endnutzer sollen die Möglichkeit haben, die Daten aus einem UIC918.3 Code sowohl als Layout, als auch als Tabelle anzeigen zu lassen.
Akzeptanzkriterien
Implementierungshinweise
Zusammenfassung
Aktuell ist die Bibliothek nur in der Lage, Interpreter-JSONs zu lesen. Zukünftig soll die Lib auch Interpreter-JSONs schreiben können.
Akzeptanzkriterien
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.