User Tools

Site Tools


it-transspedi_druck

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
it-transspedi_druck [2019/07/13 14:07] – [Installation] kalaschnikowit-transspedi_druck [2021/11/05 12:04] (current) – [Report abrufen] kalaschnikow
Line 1: Line 1:
 +====== 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:
 +<code bash>
 +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
 +</code>
 +
 +
 +Then copy/move the file to /dockerdata/jrserver and unzip it.
 +
 +After that build the container (not necessary if it is already built) :
 +<code bash>
 +./builddockerimage.sh
 +</code>
 +
 +Copy license directory to the new destination:
 +<code bash>
 +cp /dockerdata/jrserver/src/license /dockerdata/jrserver/license
 +</code>
 +
 +
 +Start the container:
 +<code bash>
 +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
 +
 +</code>
 +
 +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:
 +<code bash>
 +sudo crontab -e
 +</code>
 +
 +
 +===== Installation in Avril environment =====
 +
 +From the local computer:
 +<code bash>
 +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
 +
 +</code>
 +
 +
 +
 +On the server:
 +<code bash>
 +# 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
 +</code>
 +
 +Then restart the compose:
 +
 +<code bash>
 +cd /dockerdata/compose
 +sudo docker-compose down
 +sudo docker-compose up -d
 +</code>
 +
 +
 +===== Reports =====
 +
 +
 +
 +===== Report abrufen =====
 +
 +Both parameters ''id'' and ''conn'' are mandatory.
 +
 +
 +<code bash>
 +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
 +
 +</code>
 +
 +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 =====
 +
 +<code bash>
 +# 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
 +</code>
 +
 +After that create a "plain" license file "license/license-plain.txt" with the following content and change (at least) the valid date:
 +<code>
 +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
 +</code>
 +
 +Encode this license file (password is ''jrserverpass!"§'', backslashes are used to escape the quotes and exclamation mark):
 +<code bash>
 +./license3j.sh encode --license-file=license/license-plain.txt --keyring-file=license/secret.gpg --key="valeri" --password=jrserverpass\!\"§ --output=license/license.bin
 +</code>
 +
 +Decode it to generate digest: 
 +<code bash>
 +./license3j.sh decode --license-file=license/license.bin --keyring-file=license/public.gpg
 +</code>
 +
 +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:
 +<code>
 +<font size="7"/>
 +</code>
 +
 +But this works:
 +<code>
 +<font fontName="DejaVu Sans" size="7"/>
 +</code>
 +
 +
 +===== 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?
 +