Autor Thema: Mehrere Anhänge in Dokument verarbeiten  (Gelesen 4933 mal)

Offline tomtom62

  • Frischling
  • *
  • Beiträge: 20
  • Ich liebe dieses Forum!
Mehrere Anhänge in Dokument verarbeiten
« am: 05.03.04 - 18:25:36 »
Nachdem ich meine ersten grösseren Schritte in Notes unternommen haben, steigen mal wieder die Anforderungen:  ;)

Gegeben ist eine Datenbank, in der Dokumente stehen, die zum grössten Teil mehr als einen Anhang haben. Diese Datenbank soll nicht verändert werden. Sie wird aber in dieser Form weitergepflegt.

Problem: Es sollen daraus, am Besten per Agent, in einer anderen Datenbank Dokumente erzeugt werden, die jeweils die gleichen Felder beinhalten, aber nur einen Anhang haben. Das heisst: Das Quelldokument hat fünf Anhänge, dann sollen in der Zieldatenbank fünf Dokumente mit je einem Anhang erzeugt werden.

Wie würdet Ihr das angehen ?: Meine Idee ist, in der Zieldatenbank einen Agenten zu schreiben, der periodisch die Quelldatenbank überprüft und die Dokumente erzeugt.

Ist das sinnvoll ?. Gäbe es bessere Ansätze dazu ?

Danke

Thomas

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #1 am: 05.03.04 - 18:37:27 »
Meine Idee ist, in der Zieldatenbank einen Agenten zu schreiben, der periodisch die Quelldatenbank überprüft und die Dokumente erzeugt.
Ist das sinnvoll ?. Gäbe es bessere Ansätze dazu ?

Den Agent so aufzurufen ist mit Sicherheit sinnvoll und eine Möglichkeit  ;)

Ich würde mir aber vielmehr erstmal Gedanken machen wie Du aus den RTFs, die wohl bis zu 5 Anhänge beinhalten, jeweils ein Dokument mit Anhang erzeugst  :)

Und dies ist meines Erachtens alles andere als trivial.
Wären die Attachments jeweils in einem RTF, so könnte man ja die Items kopieren.

Aber so fällt mir nur auf die schnelle ein, die Attachments auf die Platte zu lösen und dann jeweils in einem neuen Dok einzeln anhängen.

Es mag vielleicht noch bessere Lösungen geben, hatte zum Glück solch eine Problemstellung noch nicht.

Matthias
Matthias

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


Offline tomtom62

  • Frischling
  • *
  • Beiträge: 20
  • Ich liebe dieses Forum!
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #2 am: 05.03.04 - 18:51:19 »
Meine Idee ist, in der Zieldatenbank einen Agenten zu schreiben, der periodisch die Quelldatenbank überprüft und die Dokumente erzeugt.
Ist das sinnvoll ?. Gäbe es bessere Ansätze dazu ?

Da hast Du leider nicht so unrecht, das habe ich nicht bedacht. Wie wäre es, wenn ich das gesamte RTF kopieren würde und dann im Zieldokument die nicht benötigten Anhänge entferne ? Geht das überhaupt ?


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #3 am: 05.03.04 - 18:56:01 »
Wie wäre es, wenn ich das gesamte RTF kopieren würde und dann im Zieldokument die nicht benötigten Anhänge entferne ? Geht das überhaupt ?

Soweit ich weiß leider auch nicht sauber. Ich habe da schon mal mit den zu Attachments zugehörigen Dokumenten-Feldern experimentiert und es dann aufgegeben  :P

Matthias
« Letzte Änderung: 05.03.04 - 18:56:45 von TMC »
Matthias

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


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #4 am: 05.03.04 - 18:57:01 »
Könnte gehen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #5 am: 05.03.04 - 19:05:53 »
Könnte gehen.

Wäre nett Jens, wenn Du uns noch sagst wie  :D
Matthias

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


Offline tomtom62

  • Frischling
  • *
  • Beiträge: 20
  • Ich liebe dieses Forum!
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #6 am: 05.03.04 - 19:08:42 »
Wie ist der folgende Ansatz ?

Mittels EmbeddedObjects Zugriff auf die Anhänge bekommen und dann mittels EmbeddedObject.remove jeweils die nicht benötigten entfernen ?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #7 am: 05.03.04 - 19:16:08 »
Wenn Du die Möglichkeit hast, die Attachments zu lösen und dann jeweils neu anzuhängen, wäre das die sauberste Lösung.
Wenn nicht, geht Dein Ansatz mit EmbeddedObject.remove auch. Hinterlässt aber white spaces etc ...

Sag mal an ...

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #8 am: 05.03.04 - 19:18:14 »
Matthias, der Konjunktiv war ganz bewusst gesetzt. Hängt davon ab, wie sauber eine Kopie eines Dokumentes mit Attachements funktioniert. Wenn das sauber geht - im UI klappt es ja, bei Respond with History (Notes-Stil in N6) funktionierts auch und dann wie tomtom62 sagt, mit Remove entfernen.

Beide Varianten, das mit dem Lösen und Reatach wie auch das Kopieren und anschliessende partielle Entfernen macht mir ein merkwürdiges Gefühl, aber bei der Aufgabenstellung kommt man wohl um irgend so eine Konstellation nicht herum. Das mit dem Lösen und Reatach löst ein Problem noch nicht: wenn ich es richtig verstehe, muss das Dokument sowieso kopiert werden, da der Inhalt grundsätzlich gleich, aber auf einen Anhang beschränkt sein soll (eine Art Normalisierung ......). Wenn das mit dem Kopieren klappt, ist das auch gleich mit abgehakt.

Sag mal an Matthias, was für Probleme Du denn bekommen hast?
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline tomtom62

  • Frischling
  • *
  • Beiträge: 20
  • Ich liebe dieses Forum!
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #9 am: 05.03.04 - 19:21:09 »
Anhänge lösen liesse sich machen, bedeutet aber wohl, das auf einer eigenen Maschine machen zu müssen, auf dem Server würde der Admin mich wohl erschiessen  ???. Zumindest würde ich es tun  ;)

Ich werde mal die Remove Variante probieren. Die "white spaces" werden hoffentlich nicht das grosse Problem werden, es geht eher um die Anhänge. Text ist da wenig bis überhaupt keiner drin..

Ich gehe das nächste Woche mal an, werde dann berichten -)

Offline tomtom62

  • Frischling
  • *
  • Beiträge: 20
  • Ich liebe dieses Forum!
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #10 am: 05.03.04 - 19:24:27 »
Matthias, der Konjunktiv war ganz bewusst gesetzt. Hängt davon ab, wie sauber eine Kopie eines Dokumentes mit Attachements funktioniert. Wenn das sauber geht - im UI klappt es ja, bei Respond with History (Notes-Stil in N6) funktionierts auch und dann wie tomtom62 sagt, mit Remove entfernen.

Beide Varianten, das mit dem Lösen und Reatach wie auch das Kopieren und anschliessende partielle Entfernen macht mir ein merkwürdiges Gefühl, aber bei der Aufgabenstellung kommt man wohl um irgend so eine Konstellation nicht herum. Das mit dem Lösen und Reatach löst ein Problem noch nicht: wenn ich es richtig verstehe, muss das Dokument sowieso kopiert werden, da der Inhalt grundsätzlich gleich, aber auf einen Anhang beschränkt sein soll (eine Art Normalisierung ......). Wenn das mit dem Kopieren klappt, ist das auch gleich mit abgehakt.

Sag mal an Matthias, was für Probleme Du denn bekommen hast?


Ja, das Dokument muss im Prinzip X mal (entsprechend der Zahl der Anhänge der Quelle) neu erzeugt werden und dann sollte es zu einem Attachment pro Dokument kommen
 

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #11 am: 05.03.04 - 19:31:09 »
Sag mal an Matthias, was für Probleme Du denn bekommen hast?

Ich hatte damals mit den $FILE rumhantiert. Also per Script die $FILE und das RTF kopieren, löschen etc. Und da kam ich überhaupt nicht auf einen grünen Zweig. Ich muss dazu sagen, dass dies einige Monate her ist, und ich ja auch in Script mich weiterentwickelt habe. Kann also sein dass es damals auch an einer trivialen Unkenntnis gescheitert ist. So wie ich aber manche Infos zu Attachments in RTF verfolgt habe bisher, ist wohl das lösen auf die Platte und re-attachen wohl das sauberste.....

Matthias
Matthias

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


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #12 am: 05.03.04 - 19:37:51 »
Ich vermute jetzt mal, dass Deine Probleme bei beiden Varianten auftreten. Die "embeddedObjects" bekommt man an 2 Orten, einmal im Dokument und einmal im zugehörigen RT-Item. Die erste Variante ist ein Relikt aus der vor-R4-Zeit. Entfernt man den Anhang über diesen Zugriff, bleiben die Icons und Beschriftungen im RT-Feld bestehen, da Notes nicht weiss, dass dieses Attachement zu einem Feld gehört und zu welchem (in R3 waren die Attachements auf Document-Ebene angeordnet, so wie ich das verstehe).

Geht man jetzt aber über das RT-Item vor und bearbeitet die Attachements dort, dann werden auch die Icons aus dem Text entfernt beim Löschen.

Tomtom:
Das mit dem Whitespace von Bernhard war nicht gemeint, WhiteSpace im Text, sondern die Löcher in der Dateistruktur, die das Löschen hinterlässt. Notes benutzt das ja nicht mehr. Wenn es gelingt, die Attachements zu löschen, bevor das neue Dokument gespeichert wurde  (weiss nicht auswendig, ob das geht), dann sollte das Problem nicht entstehen. Sonst ist das tatsächlich ein Aspekt. Bedeutet dann, dass die Datenbank regelmässig mit dem Compact-Task wieder bereinigt werden muss (was man ja sowieso sollte ...).
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline tomtom62

  • Frischling
  • *
  • Beiträge: 20
  • Ich liebe dieses Forum!
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #13 am: 05.03.04 - 19:44:05 »
Ich vermute jetzt mal, dass Deine Probleme bei beiden Varianten auftreten. Die "embeddedObjects" bekommt man an 2 Orten, einmal im Dokument und einmal im zugehörigen RT-Item. Die erste Variante ist ein Relikt aus der vor-R4-Zeit. Entfernt man den Anhang über diesen Zugriff, bleiben die Icons und Beschriftungen im RT-Feld bestehen, da Notes nicht weiss, dass dieses Attachement zu einem Feld gehört und zu welchem (in R3 waren die Attachements auf Document-Ebene angeordnet, so wie ich das verstehe).

Geht man jetzt aber über das RT-Item vor und bearbeitet die Attachements dort, dann werden auch die Icons aus dem Text entfernt beim Löschen.

Tomtom:
Das mit dem Whitespace von Bernhard war nicht gemeint, WhiteSpace im Text, sondern die Löcher in der Dateistruktur, die das Löschen hinterlässt. Notes benutzt das ja nicht mehr. Wenn es gelingt, die Attachements zu löschen, bevor das neue Dokument gespeichert wurde  (weiss nicht auswendig, ob das geht), dann sollte das Problem nicht entstehen. Sonst ist das tatsächlich ein Aspekt. Bedeutet dann, dass die Datenbank regelmässig mit dem Compact-Task wieder bereinigt werden muss (was man ja sowieso sollte ...).

O.k. das mit den Whitespace verstehe ich..

Ich bin nicht ganz sicher, ob das Entfernen vor dem Speichern geht. Eventuell, um sicher zu sein, sollte ich wohl nach dem Kopieren speichern und dann die nicht benötigten Anhänge entfernen und nochmal speichern.
 

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #14 am: 05.03.04 - 19:48:51 »
Ausprobieren und uns rückmelden, ob man zuerst speichern muss oder nicht.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #15 am: 05.03.04 - 22:05:47 »
Da es sich um RTFs handelt: Erst speichern, damit das RTF auch wirklich im Zugriff steht ...

Bernhard

Glombi

  • Gast
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #16 am: 05.03.04 - 22:19:31 »
Ich würde es so machen - es ist die sicherste Methode, dass die Attachments vollständig herrüberkommen (insb. wenn es mehrere RT Items gleichen Namen gibt).
Kopiere das ganze Dokument N mal in die andere Datenbank (N = Anzahl der Anhänge). Dann holst Du Dir jeweils in den Dokumente alle Attachments, die gelöscht werden sollen. Und zwar über den Namen des Anhangs, der in einem N-dim. Array steht.
Das geht alles in der Klasse NotesEmbeddedObject.
Bsp.:

Dim doc As NotesDocument
Dim rtitem As Variant
Dim object As NotesEmbeddedObject
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
  Set object = rtitem.GetEmbeddedObject( "City picture" )
  Call object.Remove
  Call doc.Save( True, True )
End If


Der Vorteil dieser Methode ist wie gesagt: Das Dokument wird vollständig übernommen. Du musst keine Verrenkungen machen mit lösen und neu anhängen.

Andreas

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #17 am: 05.03.04 - 22:22:43 »
Passiert alles im Backend, damit ist der Zugriff nicht wirklich ein Problem. Hab grad mal in was ähnlichem nachgeschaut, da geht es ohne Speichern. Allerdings werden dort die Attachements nur über RTF analysiert und dann übers Dokument in Abhängigkeit von Bedingungen entfernt, mit dem unschönen Nebeneffekt, dass das Icon stehen bleibt. Aufgrund von diesem Beispiel würde ich jetzt mal erwarten, dass es ohne Speicher geht.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline tomtom62

  • Frischling
  • *
  • Beiträge: 20
  • Ich liebe dieses Forum!
Re:Mehrere Anhänge in Dokument verarbeiten
« Antwort #18 am: 08.03.04 - 18:29:57 »
Es gibt erste Fortschritte zu vermelden.

Ich bin dabei einen Agenten zu schreiben, der

1. Alle Dokumente der Quelldatenbank durchgeht und dabei im Ziel je eine Kopie des Dokuments pro Anhang zu erzeugen. Also wenn ein Dokument fünf Anhänge hat, dann werden in der Zieldatenbank fünf gleiche Kopien des Dokuments erzeugt.

2. Aus verfahrenstechnischen Gründen muss der Agent in der Zieldatenbank laufen und nicht in der Quelle. Deshalb kann ich scheinbar die Eigenschaft UnprocessedDocuments der (Quell) Collection nicht nutzen. Muss derzeit immer alle Dokumente durchgehen und im Ziel voher alle löschen.

3. Da ich, dank der Suchfunktion im Forum  ;) ein Stück Source gefunden habe, das die Anhänge kopiert, werde ich es scheinbar hinbekommen, während des Kopierens nur den benötigten Anhang zu kopieren und die anderen einfach zu übergehen. Ich hatte einfach noch nicht genug Zeit heute, deshalb kann ich nichts Genaues vermelden.

3a. Wenn das geht, dann wird es mit einmal Speichern pro Dokument funktionieren, die andere Variante ist, Dokument kopieren und dann in der Kopie die Anhänge entfernen. Das geht aber wohl nicht ohne vorheriges Speichern.

Was noch unschön ist: Ich muss immer alle Dokumente der Quelle durchgehen. Gibt es da eine andere Möglichkeit ?. Es kann vorkommen, das nicht nur neue Dokumente hinzukommen, es können auch bestehende verändert werden. Also benötige ich ein sicheres Kriterium der Änderung..

Das Andere ist: Die Quelle enthält berechnete Felder, die u.a. letzte Änderung bzw. letzten Bearbeiter speichern. Wenn ich diese Felder kopiere, dann wird im Ziel automatisch das Datum eingefügt, an den der Agent das Dokument erzeugt hat. Und das obwohl diese Felder im Ziel nicht berechnet sind, sondern einfach die bestehenden Werte übernehmen sollen. das kann ich mir bisher noch nicht erklären..

Eventuell habe ich da noch was übersehen..

Gruss

Thomas
 
 

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz