Est-il possible de répliquer un document en scripte

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Est-il possible de répliquer un document en scripte

Messagepar LSong » 13 Oct 2010 à 10:54

Bonjour,

quelqu'un saurait-il s'il est possible en scripte de repliquer un document entre deux repliques en scripte

pour histoire

j'ai un Serveur A
qui va dans un HUB A
qui est connecté a un HUB B
connecté a une Replique B

je souhaite envoyer un document de B dans A comme si le document avait repliquer, pour que quand les replications se fasse je ne me retrouve pas avec des conflits

je ne sais pas si c'est claire comme question
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Michael DELIQUE » 13 Oct 2010 à 11:38

salut

je suppose que tu parles de conflit d'enregistrement pas de réplique ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar LSong » 13 Oct 2010 à 12:33

je parle bien de repliquer un document a la demande entre deux replique

si je fait que copier le document je vais provoquer une duplication ou un conflit selon la methode

je cherche un moyen de repliquer un document entre deux bases a la main ... je ne sais pas si c'est possible
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Michael DELIQUE » 13 Oct 2010 à 12:36

re,

bon la copie de document entre 2 replique ne change pas l'unid des documents si cexi ne sont pas présent dans la base cible.

maintenant comment peut tu avoir un conflit si tu ne change le document qu'a un seul endroit ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar LSong » 13 Oct 2010 à 13:12

dans la Base B j'ai un document que l'utilisateur peu modifier
il doit faire une publication qui le rend disponible sur le web, sauf que cette partie est centraliser et sur une autre techno (qui ne supporte pas la réplication)

du coup le site web pointe vers un document sur la base A qui du coup n'est pas le bon tant que la replication n'est pas venu le mettre à jour on voulait faire une replication cible sur le document entre A et B pour mettre a jour ce document avant la publication

dut au passage par les hub la replication peu prendre 1h ...
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Michael DELIQUE » 13 Oct 2010 à 13:15

je ne connais pas de méthode qui permette de forcer la réplication d'un seul document

par contre ce que tu peux faire/ essayer en script

supprimer le document de la base A et en faire une copie depuis la base B.

et tu regarde si l'unid a changé
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar LSong » 13 Oct 2010 à 13:29

c'est ce que je fais pour le moment ca part en vrille des que je supprime :D

je ne vais pas abandoner :)
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Michael DELIQUE » 13 Oct 2010 à 13:50

qu'as tu comme erreur ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar LSong » 13 Oct 2010 à 14:52

pas d'erreur mais je suis aller chercher le document dans la base cible avec un db.getDocumentByUNID, du coup quand je le supprime ca me le supprimez aussi dans la base initial, ce qui n'etait pas le but

j'ai dut aller le rechercher via une vue trié par UNID pour que ca marche

apres mon effacement / copie la replique fonctionne normalement
Code : Tout sélectionner
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim docCol As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim view As NotesView
   
   Set db = s.CurrentDatabase
   Set docCol = db.UnprocessedDocuments
   Set doc = docCol.GetFirstDocument ()
   
   Dim dbR As New NotesDatabase ("", "")
   Dim docR As NotesDocument
   Dim docR2 As NotesDocument
   
   Call dbR.Open ("dvpar007", db.FilePath)
   Set view = dbR.GetView ("UNID")
   
   Set docR = view.GetDocumentByKey (doc.UniversalID, True)
   Print docR.UniversalID
   Call docR.Remove (True)
   Set docR2 =  doc.CopyToDatabase (dbR)
   Print docR2.UniversalID
   If docR2.UniversalID <> doc.UniversalID Then
      docR2.UniversalID = doc.UniversalID
      Call docR2.Save (True, False)
   End If
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Michael DELIQUE » 13 Oct 2010 à 15:10

re,

pas normale, si tu supprime sur une base, c'est la réplication qui supprime sur l'autre !

tu ne devrais pas avoir besoin de passer par une vue par unid (qui en passant est lourd et inutile)
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar LSong » 13 Oct 2010 à 15:36

je sais moi aussi je trouve ca etrange
tant que j'ai fait un db.getDocumentByUNID j'ai eut des problèmes
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar roubech » 13 Oct 2010 à 23:39

et tu peux pas plus simplement créer les docs de connections pour augmenter la fréquence de réplication pour cette base là entre les différents serveurs ?

sinon, lancer une rplication de la base entre 2 serveur (pas juste un doc), db.replicate ou @Command([ToolsReplicate]
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar LSong » 14 Oct 2010 à 08:40

ben il n'y a pas de document de replication entre les deux base directement

les utilisateur qui vont avoir besoin de ca n'ont pas de droit particulier

mais c'est vrai qu'il faut creuser aussi par la
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france


Retour vers Développement

cron