Synchronizacja XML

Powrót do spisu treści

Instrukcja

  1. Synchronizacja - uruchamianie
  2. Tworzenia dokumentu XML i integracja bazy danych

Synchronizacja - uruchamianie

1. W folderze z systemem znajduje sie folder /lib/XMLsynch
2. W tym folderze znajduja sie 2 pliki konfiguracyjne, które nas interesują:

a) config.php.org
b) config.pgsql.php.org

3. Należy zmienić nazwy tych plików na odpowiednio:(lub utworzyć kopię, aby w razie awarii mieć wzór pliku)

a) config.php
b) config.pgsql.php

4. Po zmianie nazwy wchodzimy do pliku config.pgsql.php, a następnie podajemy dane do bazy systemu, gdzie:

$pgHOST to adres IP serwera (domyślnie localhost)
$pgUSER nazwa użytkownika bazy danych
$pgPASS hasło użytkownika bazy danych
$pgPORT port na ktorym nasłuchuje baza
$pgDB nazwa bazy danych

Przy uzupelnianiu tego pliku należy pamiętać o pojedynczych cudzysłowiach oraz średnikach kończących linie (obowiązuje tutaj składnia jezyka PHP)

5. Po uzupełnieniu danych tworzymy 3 foldery z prawem do zapisu i odczytu.
a) upload (tutaj będą trafiać pliki XML)
b) backup (tutaj pliki będą backupowane)
c) enqueue (tutaj system będzie ciąć duże pliki xml na mniejsze i przechowywyać ID tych plików w bazie - tabela xml_files_queue)


6. Po utworzeniu folderów należy wrócić do folderu XMLsynch i otworzyc plik config.php.
Trzy pierwsze linie kodu odpowiadaja za dostęp do folderów które wcześniej utworzyliśmy(należy podać teraz prawidłowe ścieżki to tych folderów)

7. Linia 4 mowi o folderze gdzie znajdują się odpowiednie metody (funkcje) do dzialania synchronizacji. Domyślnie jest to zawsze /XMLsynch/methods/
Tutaj również obowiazuje składnia języka PHP, należy zwrócić szczególna uwagę na pojedyncze cudzysłowie oraz slashe.

8. Linia define('SYNCH_LOG_LEVEL', 4); mówi nam ile komunikatów chcemy widzieć w synchronizacji. 0 - wszystkie, 4 - tylko błędy.
Niezalecane jest włączanie poziomu 0 ponieważ log synchronizacji bardzo szybko rośnie do rozmiarow kilku gigabajtów, jeżeli synchronizacja jest wykonywana 24/h.

9. Po utworzeniu plików konfiguracyjnych należy stworzyć plik o nazwie start_xml.sh, a w nim nastepujące dane:

cd sciezka_do_folderu_systemu/lib/XMLsynch
php cliDoSynchronize.php | tee -a sciezka_do_pliku_log/import-xml.log


czyli np.

cd /var/www/system/lib/XMLsynch
php cliDoSynchronize.php | tee -a /var/www/system/lib/XMLsynch/import-xml.log

jeżeli nie mamy na linuxie zainstalowanej komendy też należy ja zainstalować.


10. Z poziomu shela wydajemy komende jako root: sh start_xml.sh

Synchronizacja startuje.




Bardzo przydaje się również użycie programu screen który uruchamiany jest z poziomu terminala. Pozwala on uruchomić synchronizację w tle
przez co okno terminala nie musi być cały czas uruchomione.

Prograw wywołujemy komendę screen
Po uruchomieniu synhronizacji (pkt 10) wybieramy jednoczeœnie na klawiaturze przyciski ctrl shift a, puszczamy ten klawisze i wybieramy literę d



Należy pamiętać, aby w php włączony był moduł XML, ponieważ bez niego synchronizacja może się nie uruchomić

Tworzenia dokumentu XML i integracja bazy danych

Dokumentacja dot. tworzenia dokumentu XML znajduje się w plikach systemu, w folderze doc/xml/

Kiedy dokument jest już utworzony należy powiadomiż synchronizację XML, które moduły ma wgrywać do bazy(może to być tylko np. produkt, lub stan magazynowy)
W tabeli xml_synch_api_method wprowadzamy nazwy, które umieściliśmy w pliku XML.
api_method_id - id z tabeli xml_synch_api_key_to_api_method
method_name oraz xml_method_name to nagłówki z dokumentacji XML.
method_description uzuepłniamy wg własnych potrzeb.
xml_method_parameters - pozostawiamy puste
parameters_quantity - pozostawiamy puste
description - pozostawiamy puste

Tabela: xml_synch_api_key
api_key_id - dowolny id
key_value klucz który tworzymy qg dokumentacji XML
key_owner - właściciel klucza
is_active - czy klucz jest aktywny (TRUE/FALSE)
active_from - od kiedy klucz ma być aktywny
active_to - do kiedy ma być aktywny
last_usage - pozostawiamy puste
hosts_available - adresy IP z jakich synchroniacja ma sie łączyć (moga być rozdzielone przecinkiem)

Tabela: xml_synch_api_key_to_api_method

id - dowolne
api_key_id - api_key_id z tabeli xml_synch_api_key
api_method_id - api_method_id z tabeli xml_synch_api_method
is_active - czy klucz jest aktywny (TRUE/FALSE)
active_from - od kiedy klucz ma być aktywny
active_to - do kiedy ma być aktywny



Powrót do spisu treści
Powrót do systemu
xml, XML, synchronizacja, synchronizacji, xmlowej