Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alperen15 am 30.10.12 - 10:11:56
-
Hallo alle zusammen,
ich hoffe euch geht es gut und seit motiviert einen Laien hilfreiche Tipps zu geben =)
folgende Anforderung: Alle Mails die im Mailjournal sind sollen Dokument für Dokument auf den User überprüft werden und ins Mailarchiv kopiert werden. User die nicht korrekt verarbeitet (kopiert) werden können muss ins "blankArchiv" verschoben werden. Gibt es bereits einen Script an den ich mich orientieren kann? Weiss jemand da was? :-:
-
Hallo,
Verstehe ich das richtig.
Ihr habt das Journaling aktiviert.
Die Daten aus den Journal-Datenbanken sollen Dokument fuer Dokument durchgegangen werden und dann in das Archiv des Benutzer kopiert werden.
- In das Archiv welches Benutzers (Sender oder Empfaenger)
- Wenn Benutzer kein Archiv hat -> BlankArchiv
- Wenn Benutzer nicht mehr vorhanden -> BlankArchiv
Warum das Ganze?
Andreas
-
Hallo Andreas,
in das Archiv des Empfängers.
Warum das ganze? Weil der eine Server tot ist ::)
Hast du zufälligerweise einen ähnlichen Script :-[
-
Ist jeder Sprachlos ???
-
Fertigen Code für solche Sachen liefern i.d.R. Dienstleister - wir verdienen damit unser Geld.
Konkrete Fragen werden aber gerne beantwortet.
Bernhard
-
Die Frage war ja auch ob ihr bereits solche ähnliche Scripts habt oder wo ich die im Forum finde, weil ich nicht weiss wie ich ansetzten soll.
-
Hallo,
Kann doch eigentlich nicht so schwer sein.
Ein Dokument aus der Journal-Datenbank nehmen, ansehen welche Felder es beinhaltet
und vergleichen welches Feld dem Feld der Memo-Maske entspricht.
Nun Losprogrammieren.
Das was ich nicht genau weiss, ob im Dokument der Journal-Datenbank mit vermerkt ist,
um was fuer ein Dokument es sich handelt. (Memo, Reply, Notice, usw.)
Wenn es mit vermerkt ist, dann wird die ganze Sache doch noch einfacher. (ausser wenn es sich um eine
Notice handelt)
Andreas
-
Ist es nicht so, dass die Dokumente im Journal verschlüsselt sind?
Was ist denn eigentlich der Zweck dieser Aufgabe?
-
Ja, zumindest wenn man mit der Copy-Methode arbeitet werden die Mails per Standard verschlüsselt. Man kann einige Felder definieren, die nicht verschlüsselt werden und eine abweichende ID zur Verschlüsselung angeben.
Die Verarbeitung der Mails müßte also auf jeden Fall mit einem User erfolgen, der die Mails im Journal entschlüsseln kann.
-
Hallo alle zusammen,
Unten habe ich meinen aktuellen Script eingefügt. der Ist nicht ganz fertig .... ???
Ich Erläutere kurz mal die aktuelle Situation. Die UserArchivmails sind "tot". Deswegen soll ein Agent auf Mail Journaling Datenbank die ganzen Mails lesen und diese dem Userarchiv Maildatenbank verschieben. Die Userarchive setzten sich so zusammen: a_GMuell.nsf zusammen a_ für archiv G (Erster Buchstaben vom Namen) und Muell(die nächsten 5 Buchstaben vom Fam. Namen)
Ich habe eine Ansicht gebaut wo ich die Empfängernamen der Mails sehe, da ist mir aufgefallen, dass Namen unterschiedlich drin stehen z.B. Gerd Mueller, 'Hans_Peter', "Siegfried Maurer" etc....
Sub Initialize
Dim session As New NotesSession
Dim oDoc As NotesDocument
Dim archiveDb As New NotesDatabase( "", "" )
Dim oProfilDoc As NotesDocument
Dim db As NotesDatabase
Dim oView As NotesView
Dim collection As NotesViewEntryCollection
Dim entry As NotesViewEntry
Dim nAnz As Long
Dim oD1 As NotesDateTime
Dim cText As String, cServer As String, cDatabase As String, cError As String
Dim cProfServer As String
On Error Goto AgentError
Set db = session.Currentdatabase
Set oProfilDoc = db.GetProfileDocument("PDAllgemein")
Set oView = db.GetView("vwKopieUserArchiv") ' *** Ansicht alle eingehende Mails
Set collection = oView.AllEntries
Set entry = collection.GetFirstEntry()
Set oD1 = New NotesdateTime(Date$)
cServer = "ISP02/Firma/De"
cProfServer = oProfildoc.GetItemValue("fdPrServer")(0)
cDatabase = "Applikationen\kural\a_"
Call archiveDb.Open( cServer , cDatabase ) ' *** Archivdatenbank
' *** Start Verschiebung Mails nach Username ----> ab hier weiss ich nemme weiter ???
While Not(entry Is Nothing)
On Error Goto LoopError
Set oDoc = entry.Document
Call oDoc.CopyToDatabase( archiveDb ) ' *** Kopiere Doc aus Ansicht in ArchivDB
oDoc.Remove(True) ' *** Lösche Doc aus bestehender Datenbank
nAnz = nAnz + 1
Print Cstr(nAnz)
Goto LoopWeiter
LoopError:
Resume LoopWeiter
LoopWeiter:
Set entry = collection.GetNextEntry(entry)
Wend
If nAnz = 0 Then ' *** Wenn keine Dokumente gefunden, keine Verarbeitung
Goto AllesEnde
End If ' *** nAnz = 0
Goto AllesEnde
AgentError:
Resume Next
AllesEnde:
End Sub
-
Ich vermisse im letzten Beitrag die eigentliche Frage.
Was mir unklar ist:
Wenn da ein Server "tot" ist, auf dem die Archive lagen: Warum werden nicht einfach diese Archive auf den neuen Server vom Backup zurückgespielt?
Und: Ihr werdet doch keine DB haben, in der alle bisherigen Mails an alle Mitarbeiter aus allen Zeiten gespeichert sind? Das Jorunal kann doch nur x Tage / Monate vorhalten ...
Bernhard