Page 1 sur 1

Reconstruction dossier INBOX

MessagePublié: 06 Juin 2011 à 15:34
par Beubby
Bonjour

Existe t il une méthode moins contraignante que de supprimer puis recréer sous Designer le dossier INBOX avec tous les inconvénients que cela comporte (perte des classements par exemple, nombre de lus/non lus aussi)

En effet, nous avons régulièrement des problèmes avec ce dossier qui ne reçoit plus aucun nouveau mail et c'est la seule solution trouvée pour régler le problème.

Merci à tous

MessagePublié: 06 Juin 2011 à 20:33
par roubech
updall , fixup n'y font rien ?

si tu dois souvent faire la manip, fait toi un petit agent qui
1°) selectionne le user
2°) instancie la BAL de l'utilisateur
3°) créé un dossier temp-inbox dans cette BAL
4°) déplace les mails du dossier inbox dans le dossier temp
5°) supprime le dossier inbox
là où ça se complique un peu
6°) refresh design pour recréer le nouveau dossier inbox
7°) déplace les mails du dossier temp-inbox dans le nouveau dossier inbox

ces manip ne doivent à priori pas perturber les marqueurs de non lus

par contre, si tu as également un pb avec les compteurs de non lus, tu peux créer un dossier temporaire pour "ajouter" tous les docs non lus, avant de remettre à zero les compteurs ...

MessagePublié: 06 Juin 2011 à 20:42
par Beubby
updall et fixupn'y font rien malheureusement

en fait, ce sont souvent nos bases mails trop volumineuse qui son impactés et pire, en général cela corrige la base serveur mais la base locale.... donc recréer une repliation d'une bse pesant parfois 10Go sur un site remote avec petite ligne.... dure dure

MessagePublié: 06 Juin 2011 à 20:50
par roubech
le pb se situe uniquement sur la réplique locale ou égalemetn côté serveur ?
si essentiellement local, regarder au niveau du cache.ndk; de la base bookmark.nsf et du desktop.ndk

MessagePublié: 06 Juin 2011 à 20:53
par Beubby
en fait, les 2 mais souvent, sur les bases volumineuses en général, la correction que j'applique sur la base serveur ne se replic pas sur la base local

donc je suis condané à refaire une replication local mais j'aurais malgré tout aimé automatiser la correction sur la base serveur

MessagePublié: 07 Juin 2011 à 09:28
par elgoe
Je genre d'erreurs arrivent régulièrement, et il y a souvent une recrudescence après un plantage serveur.

En refaisant la structure + fixup + updall + compact + updall cela ma toujours corrigé le PB.

Après tu as un petit code à passé qui te retrouvent tous les mails non classés pour te les remettre dans £inbox mais cela remonte tellement de truc que j'ai arrêté de l'utiliser.

Je sais plus d’où il sort "sandbox" ou "devlopperworks" mais cela fait des années qu'il traine sur internet.

Sub Initialize
Dim s As New notessession
Dim db As notesdatabase
Dim fDoc As NotesDocument ' Document in folder
Dim ad As notesview ' All Documents view
Dim aDoc As notesdocument ' document in All Docs view
Dim fUNID() As String ' array of UNID's of docs in folders
Dim i As Integer ' UNID array index
Dim deldate As notesitem
Dim Chair1 As notesitem

i =0
Set db = s.CurrentDatabase

Redim fUNID(0)

' Build UNID array by looping through folders, then their documents
Forall view In db.views
If view.IsFolder And Not view.Name=("($All)") Then
Set fDoc = view.GetFirstDocument
While Not fDoc Is Nothing
Redim Preserve fUNID(i)
fUNID(i) = fDoc.UniversalID
i=i+1
Set fDoc = view.GetNextDocument(fDoc)
Wend
End If
End Forall

' Loop through docs in the All Documents view and compare UNIDs to each doc in the array
Set ad = db.GetView("($All)")
Set aDoc = ad.GetFirstDocument
While Not aDoc Is Nothing
i = 0
Do While i <= Ubound(fUNID)
If fUNID(i) = aDoc.UniversalID Then
Exit Do
End If
i = i + 1
Loop
Set deldate = adoc.getfirstitem("delivereddate")
Set Chair1 = adoc.getfirstitem("CHAIR")
If i > Ubound(fUNID) And Not deldate Is Nothing And Chair1 Is Nothing Then
Call adoc.PutInFolder( "($Inbox)")
End If
Set aDoc = ad.GetNextDocument(adoc)
Wend
End Sub

MessagePublié: 07 Juin 2011 à 09:43
par Beubby
Super merci ! je vais tester sur quelques users