Autor Thema: Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?  (Gelesen 7517 mal)

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Hallo Zusammen

Wie kann ich den Inhalt einer Maildatenbank in eine andere MailDB (gleiches Template) kopieren, so dass die gesammte Ordnerstruktur der QuellDB übernommen wird? Gibts dazu Tools?

Grüsse
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Micha

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
  • Not(es) macht erfinderisch
Re:Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #1 am: 09.09.03 - 11:07:42 »
Auf die persönlichen Ordner hat meiner Meinung nur der Eigner zugriff, also müsste jeder user seine Ordner selbst kopieren.

5.0.5 Designer und Client
Win NT 4.0

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #2 am: 02.07.04 - 14:11:57 »
Hallo Zusammen!

Die User tun mir machmal richtig leid, wenn ich ihnen sagen muss, dass die alles von Hand in ihre Mailbox kopieren müssen. Wir haben gerade einen User, der ein paar duzend / hundert Ordner von seinem Vorgänger übernehmen darf. Als ex Outlook User, hatte er nicht gerade Freude dabei, weil dies in Outlook innert Sekunden erledigt ist.

Gibt es wirklich keine Tools oder Agenden, die dies erledigen? Alle Mails sind ja schnelle über die All Ansicht kopiert, aber die Folder gehen so futsch...

Wie löst ihr solche Fälle?

PS: Wie siehts in ND6 aus, da sollte es gehen, oder?

Grüsse aus Zürich
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline nms

  • Junior Mitglied
  • **
  • Beiträge: 71
  • How do you spell fish?
Re:Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #3 am: 02.07.04 - 16:18:06 »
Hundert Ordner? Das ist brutal.
Werden die Info permanent gebraucht, oder nur als Archiv?
Dann alles so lassen wie es ist und den neuen User nur passende Rechte geben.
Falls doch ein Umzug der Daten angesagt ist, warum ziehst Du das Mailfile nicht andersherum um?
Das vom Vorgänger zum aktuellen für den User machen.
Aber nicht vergessen ACL anzupassen, Agenten zu signieren und Eigentümerprofil korregieren.  ;)
Torsten

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #4 am: 02.07.04 - 19:14:59 »
Da fällt mir spontan "FolderReferences" ein, guckst Du Best Practices:
http://www.atnotes.de/index.php?board=26;action=display;threadid=13503



Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Heiggo

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 368
  • Geschlecht: Männlich
  • Ich habe nix gemacht!
Re:Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #5 am: 03.07.04 - 18:23:16 »
Schlagt mich tot, ich hab keine Ahnung, wo ich das Script jetzt gefunden habe (zuviele offene Fenster), aber... ich habs eben zumindest getestet und es funktioniert wunderbar  :-) Allerdings sollte man den Nutzer hierbei unterstützen und nicht einfach sagen: Da isses!
Es erfordert ein paar händische Angaben (von wo nach wo soll kopiert werden)...


Dim s As New NotesSession
Dim w As New NotesUIWorkspace
Dim destDb As New NotesDatabase("","")
Dim sourceDb As New NotesDatabase("","")
Dim AllDocs As NotesDocumentCollection
Dim AllDocsView As NotesView
Dim sourceDoc As NotesDocument
Dim destDoc As NotesDocument
Dim tempDoc As NotesDocument
Dim docCount As Variant
Dim current As Variant
Dim choices (0 To 2) As Variant

choices(0) = "Current Database"
choices(1) = "Local Database"
choices(2) = "Database on Server"

' get source database
sourceDbType = w.Prompt(PROMPT_OKCANCELLIST, "Select Database Location", _
"Select the location of the database you would like to copy from:", _
choices(0), choices)

If sourceDbType = "" Then
   Messagebox "Operation cancelled"
   Exit Sub
End If

If sourceDbType = choices(0) Then
   Set sourceDb = s.CurrentDatabase
Else
   If sourceDbType = choices(1) Then
      sourceDbServer = ""
      sourceDbNameReturn = w.OpenFileDialog(False, _
      "Select the database you would like to copy from", "*.nsf", _
      s.GetEnvironmentString("Directory", True))
      If Isempty(sourceDbNameReturn) Then 'Means they hit Cancel
         Msgbox("Operation cancelled: Unable to continue without a filename.")
         Exit Sub
      End If
      sourceDbName=SourceDbNameReturn(0)
   Else
      sourceDbServer = Inputbox("Enter the name of the Domino server")
      sourceDbName = Inputbox("Enter the filename of the database relative to the server data directory")
      If sourceDbName = "" Then
         Msgbox("Operation cancelled: Unable to continue without a filename.")
         Exit Sub
      End If
   End If

   If Not (sourceDb.Open(sourceDbServer, sourceDbName)) Then
      Msgbox("Unable to find/open file: " + sourceDbName)
      Exit Sub
   End If
End If

' get destination database
destDbType = w.Prompt(PROMPT_OKCANCELLIST, "Destination Database", _
"Select the location of the database you would like to copy documents/folders to", _
choices(1), choices)

If destDbType = "" Then
   Messagebox "Operation cancelled"
   Exit Sub
End If

If destDbType = choices(0) Then
   Set destDb = s.CurrentDatabase
Else
   If destDbType = choices(1) Then
      destDbServer = ""
      destDbNameReturn = w.OpenFileDialog(False, _
      "Please select the database you would like to copy from", "*.nsf", _
      s.GetEnvironmentString("Directory", True))

      If Isempty(destDbNameReturn) Then 'Means they hit Cancel
         Msgbox("Operation cancelled: Unable to continue without a filename.")
         Exit Sub
      End If
      destDbName=destDbNameReturn(0)
   Else
      destDbServer = Inputbox("Enter the name of the Domino server")
      destDbName = Inputbox("Enter the filename of the database relative to the server data directory")
      If destDbName = "" Then
         Msgbox("Operation cancelled: Unable to continue without a filename.")
         Exit Sub
      End If
   End If

   If Not (destDb.Open(destDbServer,destDbName)) Then
      Msgbox("Unable to find/open file: " + destDbName)
      Exit Sub
   End If
End If

If destdb.server=sourcedb.server And destdb.filename=sourcedb.filename And destdb.filepath=sourcedb.filepath Then
   Msgbox("Source and Destination database should not be the same database")
   Exit Sub
End If

' Build collection of all documents in source database using selection
' formula similar to that used in the Mail templates All Documents view
AllDocsSelect = "@IsNotMember(""A""; ExcludeFromView) & IsMailStationery != 1" + _
"& Form != ""Group"" & Form != ""Person"""
Set AllDocs = sourceDb.Search(AllDocsSelect, Nothing, 0)

' display progress
docCount = AllDocs.Count
current = 0
Print Cstr(Round(current / docCount * 100, 0)) + "% copied"

' step through each folder in source database except system folders other than Inbox
Forall folder In sourceDb.Views
   If folder.IsFolder And (Instr(1, folder.Name, "(", 0)<>1 Or folder.Name="($Inbox)") Then
      ' The following code ensures that folders with no docs in them still get copied
      ' so that any folder design customizations are kept
      Set destFolder = destDb.GetView(folder.Name)
      If destFolder Is Nothing Then
         Set sourceFolder = sourceDb.GetDocumentByUNID(folder.UniversalID)
         Call sourceFolder.CopyToDatabase(destDb)
         Set destFolder = destDb.GetView(folder.Name)
         If destFolder Is Nothing Then
            Msgbox("Unable to create folder in new database.")
            Exit Sub
         End If
      End If

      ' cycle through each doc in the current folder
      Set sourceDoc = folder.GetFirstDocument
      While Not (sourceDoc Is Nothing)
         Set destDoc = sourceDoc.CopyToDatabase(destDb)
         ' copy each document to the same folder in the destination database
         Call destDoc.PutInFolder(folder.Name, True)
         ' remove document from the collection of docs built from source db all docs view
         Set tempDoc = AllDocs.GetDocument(sourceDoc)
         Set sourceDoc = folder.GetNextDocument(tempDoc)
         Call AllDocs.DeleteDocument(tempDoc) 'remove from collection
         ' display progress
         current = current + 1
         Print Cstr(Round(current / docCount * 100, 0)) + "% copied"
      Wend
   End If
End Forall

' docs remaining in collection are not in any folder - copy these to dest. db
Set sourceDoc = AllDocs.GetFirstDocument
While Not (sourceDoc Is Nothing)
   Call sourceDoc.
CopyToDatabase(destDb)
   ' display progress
   current = current + 1
   Print Cstr(Round(current / docCount * 100, 0)) + "% copied"
   Set sourceDoc = AllDocs.GetNextDocument(sourceDoc)
Wend

'done
Msgbox("Documents have been copied. Close and reopen the destination file (if it is open) so that it can be refreshed.")

Edit:
Was´n Zufall :-) Nun hab ich die Quelle wieder gefunden. Natürlich wie so oft Ulrich K. aus M.. der die KnowledgeBase von oben bis unten durchzuwühlen scheint :-)
« Letzte Änderung: 03.07.04 - 18:45:55 von SiebertH »
(¯`·._ (¯`·._-=- ...und für Bernhard... nur OFw d.R. :-) -=-_.·´¯)_.·´¯)

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #6 am: 05.07.04 - 15:16:37 »
Hallo Zusammen!

Danke für alle Beiträge!

@Rygel XVI:
Hundert Ordner? Das ist brutal.
Werden die Info permanent gebraucht, oder nur als Archiv?
Dann alles so lassen wie es ist und den neuen User nur passende Rechte geben.
Falls doch ein Umzug der Daten angesagt ist, warum ziehst Du das Mailfile nicht andersherum um?
Das vom Vorgänger zum aktuellen für den User machen.
Aber nicht vergessen ACL anzupassen, Agenten zu signieren und Eigentümerprofil korregieren.  ;)
Bei uns werden die neuen user in einer Übergangszeit von den alten MA eingeführt. Während dieser Zeit benötigt jeder User eine eigene Mailbox. Viele Folder gibt es schnell, wenn Daten über Jahre gepflegt und abgelegt werden.

Grüessli
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #7 am: 05.07.04 - 17:00:02 »
Hallo Zusammen

Ich habe den Agenten von Eknori getestet - funktioniert super!
Siehe seine Webpage: http://www.eknori.de/tipps/

Danke schön!

Grüessli
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline aba

  • Aktives Mitglied
  • ***
  • Beiträge: 228
  • i want to be a bigger tigger
Re: Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #8 am: 06.01.05 - 08:14:59 »
Hallo zusammen,

ich stehe im Moment vor dem gleichen Problem. Und ich habe das oben gepostete Script mal in einen Agenten eingefügt aber bei mir läßt sich das Script nicht abspeichern. Meckert immer die erste Zeile an von wegen "Semikolon wurde erwartet aber nicht gefunden" und zeigt dann 's'. Muß ich das eigentlich als Lotus Script oder als Formel abspeichern????

Gruss Arnd

klaussal

  • Gast
Re: Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #9 am: 06.01.05 - 08:19:40 »
Script  ;D

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #10 am: 06.01.05 - 11:17:25 »
Hi,

mal was ganz einfaches.

Was spricht gegen die Archiv-Funktion?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re: Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #11 am: 06.01.05 - 11:31:14 »
Hi,

mal was ganz einfaches.

Was spricht gegen die Archiv-Funktion?


Axel

Hallo Axel

Wenn ein Mitarbeiterwechsel statt findet und nach einer Übergangsfrist die Dokumente in die neue - schon exisitierende - Mailbox übernommen werden sollten, sehe ich keine andere Lösung als die Mails zu kopieren. Könnte dies auch über die Archivfunktion getan werden?

Lieber Gruss
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Inhalt aus Datenbank umziehen, Ordnerstruktur beibehalten?
« Antwort #12 am: 06.01.05 - 11:56:25 »
In dem Fall kommst du mit der Archiv-Funktion nicht weiter.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz