Réinitialisation du modèle après un lo design (LS).

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

Réinitialisation du modèle après un lo design (LS).

Messagepar Phil59 » 24 Jan 2011 à 11:43

Bonjour,


J’ai créé un script qui me fait un lo design après avoir changer le DesignTemplateName.
J’utilise une class récupéré dans la sandbox pour cela.

Mon problème est que dès le design exécuté le modèle de la base se réinitialise.

Dans le nouveau modèle j’ai coché Le fichier de la base est un modèle maître et j’ai entré le nouveau nom du modèle.


Code : Tout sélectionner
Use "CLASSNotesTemplateSettings"
Sub Initialize
   Dim ..

   ServerName = "NOM DU SERVEUR"   
   Set dbDirectory = session.GetDbDirectory(ServerName)
   Set db = dbDirectory.GetFirstDatabase(DATABASE)         
   agentname = "outofoffice"
   While Not(db Is Nothing)
      If left(lCase(db.FilePath),5) = "mail\" or left(LCase(db.FilePath),5) = "mail/" Then
         Set DBCible = Session.getDatabase(ServerName ,db.FilePath)
         agentOutOfOffice = ""
         CMDDesign = ""
         Set agent = db.getagent(agentname)
         If InStr(LCase(agent.Name),"outofoffice") = 1 Then
            If agent.IsEnabled Then
               agentOutOfOffice = "*"
            Else
               Dim DbDesign As New NotesDatabase(ServerName,db.FilePath)
               Dim nts As New NotesTemplateSettings(DbDesign)
               agent.servername = ServerName
               Call agent.save
               Delete agent
               Set agent = db.getagent(agentname)
               Call agent.remove
               Sleep 2
               nts.DesignTemplateName = "dwa7frOOO.ntf"
               Sleep 2
               CMDDesign = "lo design -f " & db.FilePath
               consoleReturn = session.SendConsoleCommand(serverName, CMDDesign)
            End if
         End If
      End if
      Print "Analyse de la base : " & db.FilePath
      Set db = dbDirectory.GetNextDatabase
   Wend
End Sub


Avez-vous déjà vu cela ou avez-vous une piste pour m’aider à résoudre ce mystère ?!?


Bonne journée.
Phil59.
Dernière édition par Phil59 le 26 Jan 2011 à 10:17, édité 1 fois.
Phil59
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 167
Inscrit(e) le : 23 Mai 2006 à 15:09
Localisation : Lille

Messagepar roubech » 25 Jan 2011 à 00:33

salut Phil

je ne comprend pas pourquoi tu modifie le serveur pour l'agent OoO et ensuite tu le supprime
Elle fait quoi ta classe NotesTemplateSettings

si tu décomposes ton code :
tu vérifies le modele avant de lancer l'agent
tu vérifies si la mise à jour de design de l'agent OoO est autorisée ou pas (par défaut non je crois)
tu fais le changement de modele par ton code mais tu ne lance pas le load design, tu vérifies les propriétés de la base pour voir si cette partie du code est bien passée et tu vérifies avec designer si l'agent OoO a été supprimé

Ensuite, si tu remet l'appel au load design, est-ce que l'agent OoO est bien ajouté ? que vois tu dans les propriétés de la base pour le modele ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Phil59 » 25 Jan 2011 à 09:09

Boujour roubech,


En gros :
- Je regarde si l’agent est activé
- S’il n’est pas activé, je le supprime
- Puis j’affecte le nouveau nom de modèle à la base (classe NotesTemplateSettings)
- Je lance le design qui il me fait l’ajout de l’agent (modification de la planification)

J’ai lancé plusieurs fois en mode débug.
Mon script fait bien ce que je lui demande :
25/01/2011 08:55:17 AM Remote console command issued by Phil59: lo design -f mail\toto.nsf
25/01/2011 08:55:18 AM Database Designer started
25/01/2011 08:55:20 AM Adding 'OutOfOffice' to database ' User TOTO' from template 'Domino Web Access FR OOO'
25/01/2011 08:55:21 AM Database Designer shutdown


Le seul problème est que le changement de modèle ne reste pas dans les propriétés de la base.

Et là ?!?


Bonne journée.
Phil59.

PS : la class qui me permet de changer le modèle http://www.bananahome.com/ldd/sandbox.n ... enDocument
Phil59
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 167
Inscrit(e) le : 23 Mai 2006 à 15:09
Localisation : Lille

Messagepar Michael DELIQUE » 25 Jan 2011 à 09:21

salut

tu fais un save apres ton changement de modèle ?
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 Phil59 » 25 Jan 2011 à 10:40

Salut Michael,

Non, je ne fais pas de save.
J’ai pris pour exemple le changement de quota … c’est la même chose non ?
Code : Tout sélectionner
This agent removes the size quota and warning for the current database.
Sub Initialize
  Dim session As New Notessession
  Dim db As NotesDatabase
  Set db = session.CurrentDatabase
  db.SizeQuota = 0
  db.SizeWarning = 0
End Sub


Ce qui est vraiment bizarre, c’est que le design se fait bien avec le bon nom de modèle.

J’ai du louper quelque chose quand j’ai créé mon modèle, mais quoi ?

Bonne journée.
Phil59.
Phil59
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 167
Inscrit(e) le : 23 Mai 2006 à 15:09
Localisation : Lille

Messagepar Phil59 » 25 Jan 2011 à 11:45

Quand je ne lance pas le design le nom du modèle reste.
Si je lance à la main le design le nom du modèle change aussi !

Si vous avez une idée… ci-après une copie des propriétés de mon modèle.


Bonne journée.
Phil59.
Phil59
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 167
Inscrit(e) le : 23 Mai 2006 à 15:09
Localisation : Lille

Messagepar roubech » 25 Jan 2011 à 22:35

ta base ne doit pas être déclarée comme un modèle, mais doit hérité de ton modèle, c'est la case au dessus

http://publib.boulder.ibm.com/infocente ... PERTY.html
notesDatabase.DesignTemplateName --> read only !!!
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Phil59 » 26 Jan 2011 à 09:00

Salut,

C’est un imprime écran de mon modèle, pas de ma base. :wink:
Le DesignTemplateName peut être modifier avec la classe que j’utilise … voir un peu plus haut.

DesignTemplateName property
Read-Write. The name of the design template from which a database inherits its design. If the database does not inherit its design from a design template, returns an empty string ("").

J’arrive a changer le nom, mais dès l’exécution du lo design le nom du modèle de ma base revient a l’initial.

Je vais tester le convert aujourd’hui, ce qui est dommage c’est que je n’ai que l’Out of Office a remplacer.

Bonne journée.
Phil59.
Phil59
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 167
Inscrit(e) le : 23 Mai 2006 à 15:09
Localisation : Lille

Messagepar Phil59 » 26 Jan 2011 à 10:16

J’abandonne, je passe par un lo convert … j’ai quelques mise à jour en plus mais bon.
Au moins cela fonctionne. :|

Par curiosité j’ai lancé un design est le DesignTemplateName ne change plus … :scratch:

Bonne journée.
Phil59.
Phil59
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 167
Inscrit(e) le : 23 Mai 2006 à 15:09
Localisation : Lille


Retour vers Développement

cron