Web klient

Tryton web klient nese označení „Sao“ a ve verzi Trytonu 5.0.X se instaluje odlišně od modulů. Instaluje se na stranu serveru a protože má vlastní www server, není nutno instalovat server Apache nebo podobný. Pomocí web klienta je možno přistupovat k systému Tryton prostřednictvím www prohlížeče - např. Firefox, Chromium.

Autoři projektu však zdůrazňují, že přístup nemusí být přes web klienta vždy plnohodnotný, protože vývoj začal později než v případě desktop klienta. Platí proto, že primární a plnohodnotný přístup zatím zajišťuje desktopový klient.

Instalace klienta

Z dokumentace pro web klienta vyplývá, že je závislý na node.js - min. verze 0.8.0 nebo vyšší. V Ubuntu 18.04 je nodejs 8.10.0 v Ubuntu 19.10 pak verze nodejs 10.15.2. Ovšem instalace web-klienta v obou případech hlásí varování o nutnosti povýšit nodejs na novější verzi. Proto nepoužijeme balíček z distribuce, ale přímo z projektu nodejs.

Postup pak bude v Ubuntu 18.04 a 19.10 následující - otevřeme terminál a zadáme :

pepa@ubnt: curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
pepa@ubnt: sudo apt-get install -y nodejs

Dále musíme zadat umístění, resp. vytvořit složku např. /var/www/tryton-sao, ve které budou zdrojové kódy web klienta, zdrojové kódy najdete na githubu. Vlevo zkontrolujeme, že se jedná o „Branch: 5.0“ a vpravo pak stáhneme ve formátu zip.

pepa@ubnt: sudo mkdir -p /var/www/tryton-sao

Poznámka

Umístění musí být zapsáno v konfiguračním souboru trytond.cfg a dále, přihlášený uživatel musí mít do vytvořeného adresáře právo zápisu, protože instalace bude probíhat bez sudo.

V konfiguračním souboru /etc/tryton/trytond.cfg překontrolujeme zadání cesty k Sao, rozhraní vč. portu na kterém tryton naslouchá a hostname. Pozn. - tyto údaje jsme již vyplnili při instalaci tryton-server(u) resp. trytond.

Ukázka předmětné části souboru /etc/tryton/trytond.cfg:

[web]
# Settings for the web interface
# Listen on all interfaces (IPv4)
listen = 0.0.0.0:8000

# The hostname for this interface
hostname = tryton.vasedomena.cz
# The root path to retrieve data for GET requests
root = /var/www/tryton-sao

Nyní přejdeme do adresáře (v našem případě /var/www/tryton-sao), do kterého jsme si rozbalili sao-5.0 a můžeme spustit instalaci. Připomínám, že kód spouštíme pod přihlášeným uživatelem (bez sudo!), proto musí mít právo zápisu do adresáře.

pepa@ubnt: npm install --production

Instalace může vypsat varování, že je doporučeno aktualizovat komponentu ..

pepa@ubnt: npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
pepa@ubnt: ..
pepa@ubnt: npm WARN deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js

Spustíme tedy aktualizaci ..

pepa@ubnt: npm update -g minimatch@3.0.2
pepa@ubnt: npm update -g graceful-fs@latest

Nakonec spustíme příkaz grunt, který mj. vytvoří lokalizační soubor cs.json ze souboru cs.po. Z toho taky vyplývá, že po úpravě ~ doplnění překladu do cs.po je nutno tento příkaz sputit opětovně. Pozn. - aby se změny projevily i v prohlížeči, je nutno vymazat cache prohlížeče nebo prohlížeč spouštět v anonymním režimu.

pepa@ubnt: grunt

Poznámka

Pokud se po zadání příkazu grunt zobrazí chybová hláška -bash: grunt: příkaz nenalezen, zadejte v terminálu sudo npm install -g grunt-cli

Nyní se můžeme přihlásit do Trytonu pomocí webového prohlížeče zadáním adresy serveru a portu uvedeném souboru /etc/tryton/trytond.cfg. Např.: http://tryton.vasedomena.cz:8000 nebo http://ip-adresa-serveru:8000.

Pozn. k Chromiu a Firefoxu

K systému Tryton lze přistupovat z www prohlížeče běžným způsobem. Ovšem třeba prohlížeč Chromium je možno spouštět v tzv --app módu - získáte tak max. využití plochy, neboť se nebudou zobrazovat záložky, adresní řádek atd., zkrátka dostanete jen okno s Tryton klientem.

Spustit Chromium v app módu můžeme např. z příkazového řádku. Otevřeme terminál a zadáme :

pepa@ubnt: /usr/bin/chromium-browser --app=http://tryton.vasedomena.cz:8000

Můžeme si taky vytvořit spouštěč - třeba na ploše. Na ploše nejprve vytvoříme soubor např. s názvem Tryton-Chromium.desktop a vložíme následující obsah :

[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Tryton.Chromium
Exec=/usr/bin/chromium-browser --app=http://tryton.vasedomena.cz:8000
Icon=/vase/cesta/k/tryton/data/pixmaps/tryton/tryton-icon.png
StartupWMClass=

K dosáhnutí téhož s prohlížečem Firefox je zatím složitější. Dobrou zpávou je, že od verze FF 71 by měl být dostupný z příkazového řádku tzv. --kiosk mód. Pro nižší verze je jeden z možných postupů následující :

  • v terminálu zadámme příkaz firefox --ProfileManager
  • založíme nový profil - např. s názvem „Tryton“ /Pozn. - pozor na velká~malá písmena/
  • z terminálu spustíme Firefox s profilem Tryton zadáním : firefox -P Tryton
  • do takto spuštěného Firefoxu nainstalujeme rozšíření AutoFullscreen. Doplněk zajistí spouštění ve Fullscreen módu, ukončit Firefox z fullscreen módu lze stiskem kláves alt+F4 nebo klávesou F11 ukončíme fullscreen mód a pak firefox normálně zavřeme.

Z terminálu pak web klienta prostřednictvím Firefoxu můžeme pouštět zadáním

pepa@ubnt: firefox -P Tryton -private -new-instance http://ip-adresa-trytonu:8000

Pozn.: Můžeme vynechat direktivu -private - tady je na zvážení, zda si prohlížeč v případě účetního programu má pamatovat historii atd.

Obdobně jako pro Chromium můžeme vytvořit spouštěč - obsah souboru Tryton-FF.desktop pak bude následující :

[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Tryton.Chromium
Exec=firefox -P Tryton -private -new-instance http://ip-adresa-trytonu:8000
Icon=/vase/cesta/k/tryton/data/pixmaps/tryton/tryton-icon.png
StartupWMClass=