Page 1 sur 1

Localiser archive locale

MessagePublié: 15 Mars 2007 à 12:16
par AlexisB
Bonjour,

Je cherche un moyen efficace pour pouvoir détecter (côté serveur) si une base mail dispose d'une archive locale, et récupérer son emplacement.
A priori cela nécessite de détecter si un profil d'archivage existe ou non.
Mais je bloque à partir de cette étape (il faut apparement passer par le masque CalendarProfile).

Si qqn a une idée ...
D'avance merci.
A+

MessagePublié: 15 Mars 2007 à 13:09
par oguruma
il faut y acccéder en tant que document profil
tu récupère un objet document que tu traites comme les autres par la suite
pour la gestion des documents profil en ls c'est comme d'hab et les méthode de recherches sont toujours les mêmes, à savoir :
- le forum de DA
- les tips et tuto de DA ... je crois que c'est abordé
- le net
- et l'aide designer

la gestion des documents profil se trouve principalement dans la classe notesdatabase, voir propriétés et méthodes... tu dois avoir un (de mémoire)... getprofiledocument

tu retrouves aussi les équiavalences en @formules

un exemple vite fait :
Dim s As New notessession
Dim db As notesdatabase
Set db=s.currentdatabase
Set doc=db.GetProfileDocument("test1")
Messagebox doc.field1(0)
'test1" c'est le nom du document profile ou son alias

en, @formula
temp:=@GetProfileField("calendarprofile";"owner");


voili ..; voila....
un peu de recherche ;)

MessagePublié: 16 Mars 2007 à 12:14
par roubech
Voici un extrait d'un code que j'avais utilisé pour un inventaire ...

Code : Tout sélectionner
   Dim s As New NotesSession
   Dim dbLog As NotesDatabase
   Dim dbMail As NotesDatabase
   Dim docLog As NotesDocument
   Dim doc As NotesDocument
   Dim doc2 As NotesDocument
   Dim rtitem As NotesRichTextItem
   
   
   Set dbLog = s.CurrentDatabase
   Set dbMail = New NotesDatabase( "server", "mail\user.nsf" )
   Set docLog = New NotesDocument( dbLog )
   Set rtitem = New NotesRichTextItem( docLog, "Body" )
   
   ' Récuperer quelques infos sur la taille de la BAL
   nSize = dbMail.Size/1024/1024
   docLog.MailDbSize = nSize
   rtitem.AppendText( "Size = " & dbMail.Size & " bytes (=" & Format( nSize, "Standard" ) & " Mo)" )
   rtitem.addNewLine(1)
   docLog.MailDbTemplate = dbMail.DesignTemplateName
   rtitem.AppendText( "DesignTemplateName = " & dbMail.DesignTemplateName )
   rtitem.addNewLine(1)
   nSize = dbMail.SizeQuota/1024
   docLog.MailDbQuota = nSize
   rtitem.AppendText( "SizeQuota = " & dbMail.SizeQuota & " kilobytes (=" & Format( nSize, "Standard" ) & " Mo)" )
   rtitem.addNewLine(2)
   
   ' Récuperer le profil d'archivage
   Set doc = dbMail.GetProfileDocument( "archive profile" )
   
   ' Liste des critères d'archivage
   Forall n In doc.ArchivePrivatePolicyList
      If ( n <> "" And n <> "breakpoints_" ) Then
         Set doc2 = dbMail.GetProfileDocument( n )
         If ( doc2.hasItem( "ArcEnbl" ) ) Then
            If ( doc2.ArcEnbl(0) = "1" ) Then
               rtitem.AppendText( "Critère actif : '" & doc2.FullName(0) & "' -> " & doc2.ArchivePath(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "ArcAgeNum=" & doc2.ArcAgeNum(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "ArcAgeUnits=" & doc2.ArcAgeUnits(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "ArcBy=" & doc2.ArcBy(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "ArcFldr=" & doc2.ArcFldr(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "ArcSel=" & doc2.ArcSel(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "ArcSlctAge=" & doc2.ArcSlctAge(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "HowToArc=" & doc2.HowToArc(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "HowToClean=" & doc2.HowToClean(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "PlaceholderByFormula=" & doc2.PlaceholderByFormula(0) )
               rtitem.addNewLine(1)
               rtitem.AppendText( Chr(9) & "PruneNoteOpts=" & doc2.PruneNoteOpts(0) )
               rtitem.addNewLine(1)
            Else
               rtitem.AppendText( "Critère inactif : '" & doc2.FullName(0) & "' -> " & doc2.ArchivePath(0) )
               rtitem.addNewLine(1)
            End If
         End If
      End If
   End Forall
   
   ' Dernier archivage
   If ( doc.ArchLastRunDestDBs(0) = "" ) Then
      rtitem.AppendText( "Chemin de la base Archive non définit dans le document de profile" )
      rtitem.addNewLine(1)
   Else
      docLog.ArchDate = doc.ArchLastRunTime(0)
      rtitem.AppendText( "Dernier archivage le " & doc.ArchLastRunTime(0) & " -> " & doc.ArchLastRunDestDBs(0) )
      rtitem.addNewLine(1)
   End If

MessagePublié: 02 Avr 2007 à 17:39
par gero
Bonjour,
Ce script m'interesse également mais n'étant pas développeur, je ne suis pas certain de savoir où le créer ? Y aurait il une âme charitable pour m'expliquer comment faire ?

Merci beaucoup :wink:

MessagePublié: 03 Avr 2007 à 07:02
par Michael DELIQUE
Bonjour

si tu n'est pas développeur ou si tu n'a aucune notion de développement sous notes, t'expliquer va être impossible. car il s'agit plus d'une formation que d'éclairssire un détail technique.

par contre tu trouvera sur le site nombre de freelance qui pourront te faire ça.

tu devrais aussi lire la charte du site=> http://forum.dominoarea.org/viewtopic.php?t=12175&sid=bf3e9e4feafe2c34761dd101640f3a5d

dont ce passage :

DominoArea n’est pas un site de formation à Lotus Notes, son rôle est d’aider ou d’expliquer en cas de difficulté.

MessagePublié: 03 Avr 2007 à 08:35
par gero
La charte, je l'ai bien lue et je ne suis pas hors charte, je pensais qu'il fallait créer peut être une vue ou quelque chose comme ça...

Il semble que tu sois plus aisé dans une réponse toute faite que d'apporter une aide quelconque :wink:

Merci à toi, c'est avec des gens comme cela qu'on avance :?