PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → WDSynchro personnalisée
WDSynchro personnalisée
Débuté par hsarrazin, 28 déc. 2004 18:24 - 6 réponses
Posté le 28 décembre 2004 - 18:24
Pour Pocket PC, quelqu'un aurait réussi à réaliser un échange en utilisant non pas la WDL standard, mais une procédure personnalisé pour gérer les mises à jour avec des régles un peu moins simpliste que priorité Pocket ou priorité PC ??
Posté le 28 décembre 2004 - 19:01
J'ai ajouter une rubrique DateHeure de dernière mise à jour,et une rubrique
Traité dans chaque fichier
Je copie le contenu du pocket dans une directorie provisoire, je crée un
alias de ma base local sur ce fichier copié.
Je balaye la copie du fichier
si l'enregistrement n'existe pas dans la base et noté avec une DateHeure
valide, je l'ajoute et je le marque traité
si l'enregistrement n'est pas noté avec une DateHeure valide je marque
traité
si l'enregistrement est noté avec une DateHeure valide et pas celui du PC je
copie de la copie vers la base je le marque traité
si l'enregistrement est noté avec une DateHeure valide ainsi que celui du
PC, je passe en revue chacune des rubriques de contenu différent, et je pose
la question en predisposant à OUI la modif la plus recente puis je marque
Traité.
En fin je balaye la base, et pour les non traités, soit les "supprimés" du
Pocket, je propose une suppression de groupe ou individuel avec
questionnement
Enfin, je recopie le fichier de la base sur le Pocket.

Le seul cas d'erreur que je puisse avoir, c'est qu'entre deux "synchro", si
ont supprime un enregistrement de la base, et qu'on le modifie sur le
Pocket, il se retrouve de nouveau dans la base !....


"Hugues" <hsarrazin@itm.fr> a écrit dans le message de news:
41d17e66$1@news.pcsoft.fr...

Pour Pocket PC, quelqu'un aurait réussi à réaliser un échange en utilisant

non pas la WDL standard, mais une procédure personnalisé pour gérer les
mises à jour avec des régles un peu moins simpliste que priorité Pocket ou
priorité PC ??

Posté le 28 décembre 2004 - 19:34
"Hugues" a écrit :

Pour Pocket PC, quelqu'un aurait réussi à réaliser un
échange en utilisant non pas la WDL standard, mais
une procédure personnalisé pour gérer les mises à jour
avec des régles un peu moins simpliste que priorité
Pocket ou priorité PC ??


Vu que la v9 n'installe même plus de service de synchronisation
ActiveSync sous Windows (à partir de l'exe d'installation), je n'ai
pas eu le loisir de tester l'affinage des paramètres ... :-/

--
Jean-Michel CAMBOT metsdumanche chez baliciel.com
Baliciel HomePage : http://www.baliciel.com/
Posté le 29 décembre 2004 - 14:37
Oui d'accord mais en cas de modification sur le PC du meme element puis sur le pocket PC ensuite une modification qui ne prend pas en compte la modification qui a eu lieu sur le PC, il y a dans ce cas un ecrasement de la modification sur le PC.

Ta methode de tout tabler sur l'heure est tres bonne a condition de synchronizer l'heure du pocket avec l'heure du PC.

En cas d'un reset a chaud il faut avertir le client de resynchronizer l'heure pour eviter des anomalies de synchronization. Le meilleur moyen serait de mettre en memoire la derniere date dans l'appli pour empecher son utilisation jusqu'a ce que l'heure et la date du pocket soit retabli.

Pour ma part je pense que ta solution peut depanner le manque de replication.
Je ne vois pas la necessite de passer a la 9 pour le mobile si la 8 reste compatible avec Windev9 en attendant que la synchronization soit reglee (cela ne vaut pas la perte de temps).
Posté le 29 décembre 2004 - 15:30
si l'enregistrement est noté avec une DateHeure valide et pas celui du PC je
copie de la copie vers la base je le marque traité


Qu'est-ce que tu entends par "pas celui du PC"

En reflechissant le seul cas d'erreur n'en est pas une c'est une securite, car si on fait une modification sur un enregistrement qu'on a supprime avant, cela veut dire que c'est bon de l'avoir recupere car on l'a dans ce cas supprime par erreur.

Donc ta methode est parfaite. C'est en fait une vrai Replication.

Je vais essayer de l'integrer dans une de mes applis. Avec tous mes remerciements je ne pensais pas que c'etait possible.
Posté le 29 décembre 2004 - 16:35
Ce que j'entends "pas Celui du PC" c'est de l'enregistrement du PC.
C'est à dire enregistrement PDA modifié et enregistrement du PC pas modifié.

"braun" <medow@inter.net.il> a écrit dans le message de news:
41d2a748@news.pcsoft.fr...

si l'enregistrement est noté avec une DateHeure valide et pas celui du PC

je
copie de la copie vers la base je le marque traité


Qu'est-ce que tu entends par "pas celui du PC"

En reflechissant le seul cas d'erreur n'en est pas une c'est une securite,

car si on fait une modification sur un enregistrement qu'on a supprime
avant, cela veut dire que c'est bon de l'avoir recupere car on l'a dans ce
cas supprime par erreur.

Donc ta methode est parfaite. C'est en fait une vrai Replication.

Je vais essayer de l'integrer dans une de mes applis. Avec tous mes

remerciements je ne pensais pas que c'etait possible.

Posté le 29 décembre 2004 - 16:56
Est-ce que le fait de tenir compte de l'ID:

Si l'ID est identique et que la dateheureminutesecondeCentiemeseconde est different on choisit la date la plus recente. Si l'ID n'existe pas et est superieur au dernier ID du fichier (soit installe dans le pocket ou le PC) on ajoute dans un sens comme dans l'autre.

Tant que la date et l'ID est identique il n'y a pas eu de changement.

On doit donc creer une dateHeureMinuteSecondeCentieme rubrique cle.

On liste le fichier date differente et ID identique on fait une modification du fichier Pocket si la date du PC est plus recente ou l'inverse.
Si l'ID n'existe pas et est superieur a celui du fichier du Pocket ou du PC on l'ajoute a l'un ou l'autre selon sinon dans l'autre cas on le supprime soit dans le pocket soit dans le PC.

Avec l'ID automatique on peut donc maitriser le dernier ajout et la suppression dans le fichier en cours installe soit dans le pocket soit dans le PC.

Je crois qu'en jouant sur une rubrique cle date, c'est le moyen le plus rapide. Le client doit etre prevenu que pour une ligne de fichier en cas de modification, c'est la derniere modification qui sera prise en compte soit sur le pocket PC ou le PC.
Donc si on modifie sur le PC la meme ligne puis 5 minutes apres on fait une modification sur le pocket pc, en cas de synchronization on ne tiendra pas de la modification fait sur le PC mais uniquement de la modification faite sur le pocket.