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 : .. code-block:: bash 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 |github-sao-5.0|. Vlevo zkontrolujeme, že se jedná o "Branch: 5.0" a vpravo pak stáhneme ve formátu zip. .. |github-sao-5.0| raw:: html githubu .. code-block:: bash pepa@ubnt: sudo mkdir -p /var/www/tryton-sao .. note:: 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``: .. literalinclude:: ../../../config_files/etc_tryton_trytond.conf :lines: 11,12,17,18,22,23,24,26,30,31 :emphasize-lines: 4,7,9 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.** .. code-block:: bash pepa@ubnt: npm install --production Instalace může vypsat varování, že je doporučeno aktualizovat komponentu .. .. code-block:: bash 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 .. .. code-block:: bash 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. .. code-block:: bash pepa@ubnt: grunt .. note:: 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 : .. code-block:: bash 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 : .. code-block:: none [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 .. code-block:: none 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í : .. code-block:: bash [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=