It is currently 8 June 2025, 3:21 Advanced search

MOB: sincronizzare DB in base all'utente

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

MOB: sincronizzare DB in base all'utente

Postby mick88 » 4 November 2015, 9:02

Salve,
sto progettando un'applicazione web che implementa un CRM.
Ora vorrei sviluppare la stessa parte di CRM per dispositivi mobile. Ho pensato che dato che l'app deve poter essere fruibile anche in assenza di rete, la soluzione ottimale sia quella di sviluppare l'app mobile in modalità offline. (se avete dubbi in merito potete fare delle critiche).

Il problema che ho è il seguente. La struttura del CRM lato web vede coinvolti diversi database in quanto l'applicazione è multiazienda. Quindi ho un primo database (chiamiamolo A) in cui in base all'utente loggato prendo la stringa di connessione ad un secondo database (chiamiamolo B) che contiene i dati dell'azienda in questione.

Ora lato applicazione web tutto ok. Una volta eseguito il login imposto la stringa di connessione e funziona tutto alla grande.
Lato mobile mi sono trovato un pò spiazzato in quanto quando avviene la sincronizzazione imposto come server l'applicazione web sviluppata ma a questo punto non so più a quale database puntare per effettuare la sincronizzazione.
Ho pensato che potrei intervenire nell'evento OnSynchronize lato server ed in base a username, password e dominio far puntare il db a quello desiderato cambiando la stringa di connessione. Pensate che potrebbe essere una soluzione?
mick88
 
Posts: 502
Joined: 15 April 2013, 8:36

Re: MOB: sincronizzare DB in base all'utente

Postby r.bianco » 4 November 2015, 9:11

Per come la vedo io, nell'applicazione web l'autenticazione nell'interfaccia e quella per la sincronizzazione sono le stesse, l'utente dichiara chi è e viene direzionato al db corretto.
Per cui, sì, per me è la strada giusta.
Ho un dubbio sull'utilizzo del dominio per passare l'azienda, perché quel paramentro viene poi usato dal framework per svariati meccanismi. Io passerei azienda e utente unite nel parametro utente della sync mobile, e poi nella onSync web li spezzerei.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4979
Joined: 8 November 2010, 16:46

Re: MOB: sincronizzare DB in base all'utente

Postby mick88 » 4 November 2015, 9:25

Grazie per la risposta.

Si infatti mi sono reso conto adesso che sviluppando poi quel parametro viene utilizzato per diverse cose e non è configurabile direttamente lato mobile.
Quindi ho deciso di passare username e azienda insieme lato mobile e nell'evento OnSynchronize li spezzo e me li gestisco.
mick88
 
Posts: 502
Joined: 15 April 2013, 8:36

Re: MOB: sincronizzare DB in base all'utente

Postby mick88 » 4 November 2015, 11:20

Perfetto. Funziona così.
Ora però ho il problema della grande mole di dati che devono essere sincronizzati dal dispositivo per caricare le informazioni sul CRM.
mick88
 
Posts: 502
Joined: 15 April 2013, 8:36

Re: MOB: sincronizzare DB in base all'utente

Postby r.bianco » 4 November 2015, 11:23

only work and no play makes jack a dull boy
r.bianco
 
Posts: 4979
Joined: 8 November 2010, 16:46

Re: MOB: sincronizzare DB in base all'utente

Postby mick88 » 4 November 2015, 11:36

Grazie, quindi cosa mi consiglieresti di fare? di utilizzare una sincronizzazione parziale? non l'ho mai usata, ossia non ho mai usato la proprietà MaxDOcuments. Dovrei vedere un pò come si comporta.
mick88
 
Posts: 502
Joined: 15 April 2013, 8:36

Re: MOB: sincronizzare DB in base all'utente

Postby r.bianco » 4 November 2015, 13:21

Noi abbiamo adottato più strade contemporaneamente:
1. Il servizio di sync attivato solo sulle classi che interssa avere sul dispositivo, e non tutte
2. Di quelle classi, utilizzato il dominio per trasferire solo i record che interessano al proprietario del dispositivo, e non tutti
3. Spezzato in più pacchetti la sync tramite MaxDocument
4. Abilitato alle sync parziali (quelle successive alla prima) solo le classi di cui voglio un aggiornamento in breve tempo, e non tutte
5. Abilitato la sync nativa
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4979
Joined: 8 November 2010, 16:46

Re: MOB: sincronizzare DB in base all'utente

Postby mick88 » 4 November 2015, 13:30

Piu o meno ho capito.
Il problema che ho avuto facendo delle prove è che ho attivato la sincronizzazione solamente su una classe ma poi l'IDE in automatico me l'ha attivata su tutte le classi ad essa collegate e non c'è possibilità di disattivarla su queste classi.
mick88
 
Posts: 502
Joined: 15 April 2013, 8:36

Re: MOB: sincronizzare DB in base all'utente

Postby r.bianco » 4 November 2015, 14:00

Sulla classe che non vuoi che venga passata al dispositivo puoi usare:

Code: Select all
OnResyncClient: Skip=true
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4979
Joined: 8 November 2010, 16:46

Re: MOB: sincronizzare DB in base all'utente

Postby mick88 » 4 November 2015, 14:23

Hai ragione! Grazie
mick88
 
Posts: 502
Joined: 15 April 2013, 8:36

Next

Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 62 guests