Table of Contents
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.
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:
<font size="7"/>
But this works:
<font fontName="DejaVu Sans" size="7"/>
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?
