====== IT-TransSpedi Druck ====== Am 30.04.2019 fragte Rolf Reichmuth, ob ich für ihn PDF-/HTML-Reports machen könnte. Insgesamt 12 Dokumente Wir starten mit Frachtbrief. [[IT-TransSpedi Print Issues]] ===== Installation ===== Copy file to the server: scp -P 1002 jrserver.zip kalaschnikow@94.199.215.198:/home/kalaschnikow # Or for my avril2019 server: # scp -P 1002 jrserver.zip kalaschnikow@avril2019.wialon-consulting.de:/home/kalaschnikow Then copy/move the file to /dockerdata/jrserver and unzip it. After that build the container (not necessary if it is already built) : ./builddockerimage.sh Copy license directory to the new destination: cp /dockerdata/jrserver/src/license /dockerdata/jrserver/license Start the container: docker run -p 8080:8080/tcp -v /dockerdata/jrserver/license:/src/license jrserver/jrserver-server # On the server this variant would be better sudo docker run --restart=always --name=jrserver -d -p 8080:8080/tcp \ -v /dockerdata/jrserver/license:/src/license \ -v /dockerdata/jrserver/reports:/src/reports \ -v /dockerdata/jrserver/log:/src/log \ jrserver/jrserver-server # Or with other port sudo docker run --restart=always --name=jrserver -d -p 8380:8080/tcp \ -v /dockerdata/jrserver/license:/src/license \ -v /dockerdata/jrserver/reports:/src/reports \ -v /dockerdata/jrserver/log:/src/log \ jrserver/jrserver-server There is also a script ''start.sh'' but it should not be used on the server. Also we have a cron job restarting our container every 15 minutes. To change it: sudo crontab -e ===== Installation in Avril environment ===== From the local computer: scp -P1002 ~/Desktop/build.jar kalaschnikow@avril2019.wialon-consulting.de:/home/kalaschnikow # if necessary copy the report(s) too scp -P1002 ~/Desktop/*.jrxml kalaschnikow@avril2019.wialon-consulting.de:/home/kalaschnikow # # The same for avril2021: # scp -P1002 ~/Desktop/build.jar kalaschnikow@avril2021.avril.work:/home/kalaschnikow scp -P1002 ~/Desktop/*.jrxml kalaschnikow@avril2021.avril.work:/home/kalaschnikow On the server: # copy jar cp ~/build.jar /dockerdata/jrserver/src/build.jar # copy report, if necessary cp ~/avtonavix.jrxml /dockerdata/volumes/jrserver/reports/avtonavix.jrxml # then rebuild the docker image cd /dockerdata/jrserver/ sudo ./builddockerimage.sh Then restart the compose: cd /dockerdata/compose sudo docker-compose down sudo docker-compose up -d ===== Reports ===== ===== Report abrufen ===== Both parameters ''id'' and ''conn'' are mandatory. http://127.0.0.1:8080/report1?id=500005&conn=default # the same report for many ids http://127.0.0.1:8080/report1?id=500005,500006,500007,500008&conn=default # on the productive server http://94.199.215.198:8080/frachtbrief?id=500051&conn=default http://94.199.215.198:8080/frachtbrief?id=502058&conn=lupprian # on my avril2019 server http://avril2019.wialon-consulting.de:8380/frachtbrief?id=500051&conn=default Which reports are enabled is defined in ''JRHttpServer''. At the moment the following reports are developed: * /allgemeiner_frachtbrief -> id = ''View_Frachtbrief_Detail_Neu.AuftragsdetailID'' * /einzel_rechnung -> id = ''?'' * /frachtbrief -> id = ''?'' * /skarabeus -> id = ''?'' * /viking -> id = ''?'' * /avtonavix * /skarabeus_simplified_ru * /skarabeus_technical * /skarabeus_technical_en * /skarabeus_technical_ru * /valveteenus_technical * /viking * /viking_ru * /viking_technical ===== Generate licenses ===== # generate a key gpg --full-generate-key # export the generated public key gpg --export > license/public.gpg # export the secret key gpg --export-secret-keys > license/secret.gpg After that create a "plain" license file "license/license-plain.txt" with the following content and change (at least) the valid date: person=Rolf Reichmuth edition=asp phone=+4972529664261 email=v.kalaschnikow@wialon-consulting.de company=IT-TransSpedi application=jrserver release-version=1.0.0 valid-date=2019-12-31 release-date=2019-06-22 issue-date=2019-06-22 Encode this license file (password is ''jrserverpass!"§'', backslashes are used to escape the quotes and exclamation mark): ./license3j.sh encode --license-file=license/license-plain.txt --keyring-file=license/secret.gpg --key="valeri" --password=jrserverpass\!\"§ --output=license/license.bin Decode it to generate digest: ./license3j.sh decode --license-file=license/license.bin --keyring-file=license/public.gpg After that replace digest in the method ''JRHttpServer.checkLicense()''. DONE. For more details see: https://github.com/verhas/License3j/wiki/tuto ===== Jasper Reports encoding issues with cyrillic text ===== The cyrillic texts do not work in Jasper Reports when the font name is not set. This causes empty cells: But this works: ===== Finanzielles ===== Wir arbeiten auf Basis einer Jahreslizenz. Frage: wie viel kann ich verlangen? Mindestens meine Kosten. Meine Kosten sind: * pro Report min. 2 Tage, wobei mehr als 5 Tage zu verlangen macht normalerweise keinen Sinn. Sagen wir im Schnitt 3 Tage (*600€ = 1800€) * Programmierung eines Webservers, der die Reports liefert. Nehmen wir mal an 3 Tage (*600€ = 1800€) D.h. mind. N*1800€ + 1800€. Also für den Rolf: N*2000€ + 3000€, aber min. N*2000€ + 2500€ Der erste Report (Frachtbrief) wurde ca. in der KW29 geuploaded und wird momentan von Lupprians genutzt. => ab dem 1. Oktober 2019 die Rechnung für September schreiben. **Absolutes Minimum**: N*150€ + 300€, bei 12 Dokumenten : 12*150€ + 300€ = 2100€ 2100€ + Serverkosten + Marge = 3600€ (300€ pro Monat) wären vernünftig? Ich glaube wir sind so verblieben: ''N*50 + 125'', wo N - Anzahl der Reports ===== Rolf fragen ===== ==== Freitag 31.05.2019 ==== * **-** Das System ist offen. Jeder kann dort Reports holen. Verhindern: z.B. mit einem Hash. * **-** Wie sollen wir signalisieren, wenn die ID nicht vorhanden ist? * **-** Welche Schriftart soll verwendet werden? ==== Freitag 14.06.2019 ==== * **-** Finanzielles: * 6*500 + 3*500 = 3000 + 1500 = 4500 (250 + 125 = 375€ monatlich) => heißt ca. N*50 + 125 * **-** Docker Container auf Azure installieren?