====== 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?