====== Bazy danych ======
WebFirmatic i pozostałe aplikacji używają bazy danych MySQL.
===== Konfiguracja =====
Baza MySQL musi nasłuchiwać na portach TCP/IP oraz mieć poprawne ustawienia kodowania
#skip-networking # włączona sieć
# unicode
default-character-set=utf8
collation-server=utf8_unicode_ci
character-set-server=utf8
===== Inicjalizacja =====
Po instalacji MySQL-a należy utworzyć potrzebne bazy. Dodać użytkowników oraz uprawnienia.
create database webfirmatic;
create database workflow;
create database clientportal;
create database firmaticservice;
create database webfirmatic3;
create user 'webfirmatic'@'localhost' IDENTIFIED By 'TYxgaeX4';
create user 'webfirmatic'@'%' IDENTIFIED By 'TYxgaeX4';
GRANT ALL PRIVILEGES ON webfirmatic.* TO 'webfirmatic'@'localhost' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON webfirmatic.* TO 'webfirmatic'@'%' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON workflow.* TO 'webfirmatic'@'localhost' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON workflow.* TO 'webfirmatic'@'%' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON clientportal.* TO 'webfirmatic'@'localhost' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON clientportal.* TO 'webfirmatic'@'%' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON firmaticservice.* TO 'webfirmatic'@'localhost' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON firmaticservice.* TO 'webfirmatic'@'%' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON webfirmatic3.* TO 'webfirmatic'@'localhost' IDENTIFIED BY 'TYxgaeX4';
GRANT ALL PRIVILEGES ON webfirmatic3.* TO 'webfirmatic'@'%' IDENTIFIED BY 'TYxgaeX4';
====== WebFirmatic ======
Przygotowujemy dwie paczki: WebFirmatic.war i WebFirmatic-debug.war.
===== WebFirmatic.war =====
* Otwieramy plik war za pomocą edytora mc.
* Edytujemy WEB-INF/classes/spring/applicationContext.xml
* Wpisujemy odpowiednią nazwę pliku konfiguracji, dla tego środowiska
classpath:spring/env.test_zks.properties
classpath:version.properties
===== WebFirmatic-debug.war =====
* Dodatkowo w pliku konfiguracyjnym zmieniamy wartość debugMode na true
web.debugMode=true
===== Lista plików konfiguracyjnych dla środowisk =====
- env.conf1.properties - konfiguracja stosowana u większości nowych klientów, np. Elko, SSG, Solver
- env.demo16.properties - baza demo na 1.6
- env.dev.properties - konfiguracja dla środowiska programistycznego łącząca się z testowym zks
- env.dev_demo16.properties - konfiguracja dla środowiska programistycznego łącząca się z demo
- env.dev_elko.properties - konfiguracja dla środowiska programistycznego łącząca się z elko
- env.dev_ovh.properties - konfiguracja dla środowiska programistycznego łącząca się z ovh
- env.redis.properties - konfiguracja dla Redis
- env.test.properties - konfiguracja dla testów junit
- env.test_zks.properties - konfiguracja dla testowego zksu
- env.venco.properties - konfiguracja dla Venco
- env.vitkus2_remote.properties - konfiguracja dla vituksa łącząca się poprzez stronę firmatic.pl
- env.zks.properties - konfiguracja dla ZKS
- env.zks_preprod.properties - konfiguracja dla ZKS preprod
===== Układaczka =====
Do katalogu:
/var/lib/tomcat/ca/WebFirmatic
należy wgrać pliki układaczki.
Katalog ten może być inny w zależności od konfiguracji środowiska w aplikacji WebFirmatic:
web.controlArrangementPath=/var/lib/tomcat/ca/WebFirmatic/
===== Wydruki =====
Do poprawnego działania wydruków generowanych w WebFirmaticu potrzebne są:
* Katalog /var/lib/tomcat/print i /var/lib/tomcat/print/templates
* Przykład zawartości katalogu:
-rw-r--r-- 1 tomcat tomcat 17936 Oct 5 10:37 brw3_24absence.xsl
-rw-r--r-- 1 tomcat tomcat 51268 Apr 30 15:59 brw3_24salaries.xll
-rw-r--r-- 1 tomcat tomcat 53442 Oct 9 10:50 brw3_24salaries.xsl
-rw-r--r-- 1 tomcat tomcat 30587 Oct 5 10:46 brw3_24salaries2.xsl
-rw-r--r-- 1 tomcat tomcat 28397 Oct 5 10:47 brw3_24salaries3.xsl
-rw-r--r-- 1 tomcat tomcat 52799 Oct 14 10:51 brw3_24salaries4.xsl
-rw-r--r-- 1 tomcat tomcat 31905 Oct 5 10:53 brw3_24salaries5.xsl
-rw-r--r-- 1 tomcat tomcat 32772 Oct 5 10:55 brw3_24salaries6.xsl
-rw-r--r-- 1 tomcat tomcat 47245 Oct 5 10:44 brw3_24salaries_0001.xsl
-rw-r--r-- 1 tomcat tomcat 11492 May 5 10:23 dokument1.xsl
-rw-rw-r-- 1 tomcat tomcat 5629 Oct 28 09:22 fop.log
-rw-r--r-- 1 tomcat tomcat 21193 Apr 30 12:53 form3_27absence.xsl
-rw-r--r-- 1 tomcat tomcat 22057 Jul 21 15:47 form3_27ordersbz.xsl
-rw-r--r-- 1 tomcat tomcat 29833 Aug 7 13:03 form3_27ucp.xsl
-rw-r--r-- 1 tomcat tomcat 3392 Dec 17 2014 header.exl
-rw-r--r-- 1 tomcat tomcat 93 Dec 17 2014 header.pdf
-rw-r--r-- 1 tomcat tomcat 12145 Dec 18 2014 newbrw0000.xsl
drwxrwxr-x 2 tomcat tomcat 4096 Sep 18 19:53 templates
* Katalog i pliki muszą być zgodne z konfiguracją w aplikacji WebFirmatic
local.xlsTransformerPath=/u/bin/xmltoxls.sh
local.pdfTransformerPath=/u/bin/fop/fop
local.pdfTransformerConfigPath=/u/bin/fop/userconfig
local.xslForPdfTransformerBrw3DefaultPath=/var/lib/tomcat/print/brw3_0000.xsl
local.xslForPdfTransformerBrw3TemplatePath=/var/lib/tomcat/print/brw3_%s.xsl
local.xslForPdfTransformerFormsDefaultPath=/var/lib/tomcat/print/form3_0000.xsl
local.xslForPdfTransformerFormsTemplatePath=/var/lib/tomcat/print/form3_%s.xsl
local.pdfHeaderBrw3Path=/var/lib/tomcat/print/header.pdf
local.xlsHeaderPath=/var/lib/tomcat/print/header.exl
local.xlsTemplatesPath=/var/lib/tomcat/print/templates/
local.pdfTransformerRunPath=/var/lib/tomcat/print/
local.localCmdUser=firmatic
local.encoding=ISO-8859-2
* Ważne jest zainstalowanie fop-a w podanej w konfiguracji ścieżce
* Bardzo ważne jest ustalenie uprawnień dla tomcat-a do wskazanych w konfiguracji zasobów
===== Skróty =====
Do działania skrótów potrzebne są katalogi:
/var/lib/tomcat/help
/var/lib/tomcat/help/shortcut
* W pierwszym znajduje się plik links.txt zawierający dodatkowe linki w programie
* W drugim musi znajdować się przynajmniej plik default.xml z domyślnymi skrótami
====== Workflow ======
===== Uruchomienie bazy Progress z silnikiem SQL =====
Baza program musi działać na porcie zgodnie z ustawieniami w pliku konfiguracyjnym środowiska, w **env.conf1.properties**, będzie to:
firmatic.db.driver=com.ddtek.jdbc.openedge.OpenEdgeDriver
firmatic.db.url=jdbc:datadirect:openedge://127.0.0.1:2506;DatabaseName=firmatic;
firmatic.db.username=sysprogress
firmatic.db.password=sysprogress
Tak więc musi ona działać na porcie 2506 oraz posiadać użytkownika sysprogress z takim samym hasłem (Michał posiada skrypt do tworzenia takiego użytkownika).
===== WebFirmaticBPMN =====
Plik war aplikacji WebFirmaticBPMN, podobnie jak WebFirmatic, musimy edytować, tak aby ustalić odpowiednią konfigurację.
W pliku war szukamy pliku **WEB-INF/classes/db.properties**.
Przykładowa konfiguracja:
db=mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/workflow?autoReconnect=true
jdbc.username=webfirmatic
jdbc.password=TYxgaeX4
W większości przypadku do edycji będzie jedynie linijka z adresem i nazwą bazy. Musi się ona zgadzać, z konfiguracją w pliku konfiguracyjnym środowiska w WebFirmaticu:
# workflow database
# -----------------------------------------------------------------------------------------
workflow.jdbc.driver=com.mysql.jdbc.Driver
workflow.jdbc.url=jdbc:mysql://127.0.0.1:3306/workflow?autoReconnect=true
workflow.jdbc.username=webfirmatic
workflow.jdbc.password=TYxgaeX4
===== Wgranie procesów =====
Procesy wgrywa się poprzez aplikację WebFirmaticBPMN
* Logujemy się do WebFirmaticBPMN (admin/admin, lub kermit/kermit).
* Przechodzimy do Manage
{{bpmn_1.png}}
* Przechodzimy do Deployments
{{bpmn_2.png}}
* Wybieramy upload new i wskazujemy ścieżkę do pliku
{{bpmn_3.png}}
====== Android ======
Aplikacja jest w pliku androidwebapi.war. Plik konfiguracyjny **WEB-INF/classes/spring/business-config.xml** zawiera informację o środowisku:
Istotnym elementem do edycji w środowisku jest adres URL aplikacji firmaticservice:
firmaticwebapi.sessionWsWsdlUrl=http://127.0.0.1:8080/firmaticservice/services/SyncSessionWSImplPort?wsdl
Podobnie jak w innych aplikacjach, możemy wybrać konkretny plik środowiska, lub stworzyć nowy.
====== Firmatic Service ======
Firmatic Service jest aplikacją która spełnia następujące funkcje:
- Pośredniczy w komunikacji przez socket (zarówno dla WebFirmatic jak i Android)
- Pośredniczy w komunikacji przez mbpro
- Odczytuje maile ze skrzynki i zakłada sprawy (tracker)
- Wysyła maile (sendmail)
Plik WEB-INF/classes/spring/business-config.xml zawiera informacje o środowisku.
Należy ustawić w nim odpowiednią ścieżkę do pliku konfiguracyjnego środowiska, np. env.conf1.properties.
===== Konfiguracja =====
Moduły tracker i sendmail można skonfigurować przez interfejs www: http://xxx:8080/firmaticservice/.
Po zmianach w ustawieniach skrzynki odbiorczo/nadawczej należy zrestartować firmaticservice.
====== Kiosk ======
__Inne nazwy: Terminal technologiczny (nazwa w źródłach: webfirmatic3)__
Aplikacja jest w pliku kiosk.war. Plik konfiguracyjny **WEB-INF/classes/spring/business-config.xml** zawiera informację o środowisku:
classpath:spring/env.dev.properties
Istotnym elementem do edycji w środowisku jest adres URL aplikacji firmaticservice:
asyncfirmaticwebapi.sessionWsWsdlUrl=http://127.0.0.1:8080/firmaticservice/services/AsyncSessionWSImplPort?wsdl
Podobnie jak w innych aplikacjach, możemy wybrać konkretny plik środowiska, lub stworzyć nowy.
====== Skrypty ======
Oprócz podstawowych aplikacji wgrywanych do Tomcat-a, są jeszcze dodatkowe w formie skryptów. Należy je wgrać do katalogów na serwerze. Jeżeli dana aplikacja jest wywoływana bezpośrednio, np. z WebFirmatica, to należy się upewnić, czy w konfiguracji WebFirmatica zgadzają się poprawne ścieżki.
===== XmlToXlsx =====
Aplikacja konwertuje pliki **xml**, na **xls** lub **xlsx** (xlsx jak zastosowano szablon) oraz **cvs** na **pdf**.
* Katalog: /u/bin/xmltoxls
-rw-r--r-- 1 firmatic progress 281 Oct 26 2012 INSTALL.txt
-rw-rw-rw- 1 firmatic progress 102 Aug 27 2013 Test.java
-rw-r--r-- 1 firmatic progress 398 Oct 26 2012 USAGE.txt
-rwxrwxr-x 1 firmatic progress 124 Sep 10 10:07 csv2pdf.sh
-rw-r--r-- 1 firmatic progress 17741880 Sep 10 13:45 xmltoxls.jar
-rwxrwxrwx 1 firmatic progress 124 Sep 9 13:15 xmltoxls.sh
===== Sendmail =====
Aplikacja dodaje maile do bazy, które są później wysyłane przez Firmatic Service.
* Katalog: /u/bin/sendmail
-rwxrwxrwx 1 vantage users 4073 Apr 17 2015 sendmail.py
-rw-r--r-- 1 vantage users 89 Apr 17 2015 sendmail_config.ini
-rw-r--r-- 1 vantage users 96 Oct 15 15:06 sendmail_config_venco.ini
Do poprawnego działania należy doinstalować dodatkowe pakiety:
python-MySQLdb python-suds python-lxml .
===== Client Portal =====
Aplikacja dodaje informacje o zmianach w tabelach Firmaticowych do bazy danych portalu klienta.
* Katalog: /u/bin/clientportal
-rwxr-xrwx 1 firmatic progress 144 Feb 10 2015 add_update.sh
-rw-r--rw- 1 firmatic progress 84 Feb 10 2015 client_portal_config.ini
-rwxr-xrwx 1 firmatic progress 2742 Feb 10 2015 main.py
===== Aplikacja synchronizująca dla Ebexo =====
Aplikacja pozwalająca na synchronizację zamówień, ze sklepem Ebexo.
* Katalog: /u/bin/ebexo
-rwxr-xr-x 1 firmatic progress 118 Dec 3 2014 ebexo.sh
drwxr-xr-x 5 firmatic progress 4096 Dec 3 2014 input
drwxr-xr-x 2 firmatic progress 4096 Dec 3 2014 logic
-rwxr-xr-x 1 firmatic progress 4875 Dec 3 2014 main.py
-rw-r--r-- 1 firmatic progress 759 Dec 3 2014 myutils.py
-rw-r--r-- 1 firmatic progress 1107 Dec 3 2014 myutils.pyc
-rwxr-xr-x 1 firmatic progress 109 Dec 3 2014 nowe_zam.sh
drwxr-xr-x 2 firmatic progress 4096 Dec 3 2014 output
drwxr-xr-x 2 firmatic progress 4096 Dec 3 2014 process
-rwxr-xr-x 1 firmatic progress 109 Dec 3 2014 stany.sh
-rwxr-xr-x 1 firmatic progress 117 Dec 3 2014 towary.sh