Le tabelle OFFLINE e SUBSCRIPTION contengono le informazioni per la gestione della sincronizzazione e lo scambio di dati tra l’APP client (es. POSible, CDC, ecc.) e Vibecode. Tali informazioni sono l’elenco dei DataSource, quello delle APP che utilizzeranno i dati di Vibecode, i setup dei servizi REST di alcune tabelle non sincronizzate e l’elenco di tutte le tabelle sincronizzate utilizzate dalle APP client.

kOfflineRESTSetup: setup dei servizi REST delle tabelle popolate a partire dalla kOfflineRest

Anche in questo caso l’utente può utilizzate i core object, seguendo le indicazioni descritte in “Popolamento tramite core object“ per la creazione dei file di export.

E' necessario importare nella giusta sequenza i dati scaricati, altrimenti la procedura va in errore, ed eseguire le istruzioni di configurazione della coda e della schedulazione, queste operazioni vanno fatte solo la prima volta.

Sequenza di import dei dati e istruzioni:

  1. kApplication.txt

  2. kSubscriptionExport.txt (data source)

  3. creazione di una queue, con nome “offline”, accedendo alla voce di menu Vibecode:

Amministratore > Activity Monitor > Configurazione > Configurazione Coda

Infine devono essere importati i seguenti file:

  1. kOffLineClasses.txt (tabelle sincronizzate)**

  2. kOfflineRESTGenericSetup.txt

  3. kOfflineRESTSetup.txt

**Nota bene:

Per creare correttamente il file di export dei dati della tabella kOffLineClasses è necessario impostare i seguenti parametri:

PropsToExport - inserendo i seguenti valori Class,Alias,Active,DataSource,Mode,Fields,Priority,InheritsPublicationFrom,InheritsRefPath,DifferentAppPublication,Subscription.Application

Keys - inserendo il valore Alias per eliminare il campo ID dai record esportati

Esempio di creazione file di export per la tabella kOffLineClasses

In alternativa l’utente può anche usare un comando per eseguire una chiamata al servizio GenObjectsScript dal browser:

http://servername:port/execservice.vcmd?commands=GenObjectsScript%20classname(kOfflineClasses)%20filter()%20propsfilterlist(Class,Alias,Active,DataSource,Mode,Fields,Priority,InheritsPublicationFrom,InheritsRefPath,DifferentAppPublication,Subscription.Application)%20addsecurity(true)app(core)

impostando i parametri per i campi Filtro, PropsToExport e Alias. La chiamata crea un file di export che viene poi scaricato in automatico nella cartella Download del PC.

Preparazione dei dati per la sincronizzazione

Conclusa la fase di importazione dei dati è necessario eseguire una serie di comandi, presenti sia nell’albero di Vibecode che nella vista “Classi Sincronizzate”, per preparare i pacchetti per la sincronizzazione dati con il client:

Sottoscrizioni > Sincronizzazione offline > Sincronizzazione offline > Classi sincronizzate

Total CleanUp - cancella tutti i vecchi package delle classi sincronizzate;

Publication - determina quali record devono essere inviati al client (es. POSible, RA app, ecc.) e notifica la cancellazione di un record o la rimozione di un record dalla pubblicazione;

Generate Packages - genera o rigenera i nuovi package di dati che verranno inviati al client.

Gli ultimi due comandi creano, ognuno, un processo nelle code offline ma tale processo viene eseguito una sola volta. Deve quindi essere creata una schedulazione per fare in modo che questi processi vengano eseguiti periodicamente. L’utente deve editare il processo per impostare i parametri della schedulazione per l’esecuzione del task (ad es. ogni 5 minuti, tutti i giorni, per la Generate Packages) accedendo alla voce di menu:

Amministratore > Activity Monitor > Code > Manage Process Queues

come descritto nel documento “Schedulazione processi in Vibecode“.

Nel seguente documento sono elencate delle tabelle sincronizzate utilizzate da POSible:

Classi sincronizzate