Autor Thema: MIME Entity vs. Embedded Objects?  (Gelesen 11512 mal)

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
MIME Entity vs. Embedded Objects?
« am: 28.10.13 - 12:53:04 »
Hallo,

ich pflege ein Java-Framework, welches es unter Nutzung der Java Notes API ermöglicht, ein objektorientiertes Mapping auf Notes-Dokumente und -Views zu automatisieren. Das läuft nun schon seit einigen Jahren erfolgreich und ich arbeite nun an einer neuen Version.

Probleme bereiten mir nachwievor Attachments. Ich möchte gerne Anhänge (BLOBs, CLOBs) in Notes-Dokumenten unterbringen. Ich habe hier folgende Möglichkeiten: MIME Entities und Embedded Objects (letztere am Dokument oder an einem RichText-Feld). Was ist aber genau der Unterschied? Wann sollte ich was verwenden? Das ist mir leider bisher immer noch nicht klar geworden.

Ich wär für eine kleine Hilfestellung sehr dankbar.

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: MIME Entity vs. Embedded Objects?
« Antwort #1 am: 28.10.13 - 14:42:23 »
Hallo

In einem normalen Notesdokument werden die Attachments an ein Notes RichtextItem gehängt. Dies endet dann als Embedded Object vom Type Attachment.
Mime Entities werden im Zusammenhang mit SMTP Emails verwendet, wenn z.B. formatierte Mails mit Inline Bildern im Notes eintreffen, sind diese im Normalfall als MIME Mails vorhanden und man kann mit den Mime Entities arbeiten.

Meiner meinung nach sollte im Normalfall das Arbeiten mit den Richtext.EmbeddedObjects in den meisten Fällen ausreichen.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: MIME Entity vs. Embedded Objects?
« Antwort #2 am: 30.10.13 - 19:35:15 »
Danke. Ist es richtig, dass Attachments im Form von EmbeddedObjects nur als Dateien importiert werden können, d.h. steht mir ein InputStream bereit, so muss ich die Bytes erst (umständlich) aufs Dateisystem ablegen (Java2-Security-Policies ggf. erforderlich)? Einen MIME-Type kann ich dabei nicht mit dazu ablegen? Dafür kann ich den Namen frei wählen, was bei MIMEEntities nicht geht?

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: MIME Entity vs. Embedded Objects?
« Antwort #3 am: 30.10.13 - 20:49:26 »
Okay, Namen setzen bei MIME Entity geht doch über Content-Disposition-Header.

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: MIME Entity vs. Embedded Objects?
« Antwort #4 am: 30.10.13 - 23:15:05 »
MIME-Entities sind zwar sehr "zerbrechlich" => http://atnotes.de/index.php?topic=52040.0
aber auch deutlich einfacher zu handhaben, wenn man die Datei nicht im Filesystem ablegen will.

Ausserdem kann man die Datei "verstecken", das heißt sie liegt nicht als Symbol am Ende des Dokuments.
(Anhänge in Richtextfeldern erscheinen immer unten im Dokument, selbst bzw. insbesondere wenn es das Feld nicht in der Maske gibt)

Dazu muss man als "Content-Disposition" einen  Header angeben der mit "x-" beginnt. In LotusScript ginge das so:
Code
		Call mimeItem.CreateHeader("Content-Disposition").SetheaderValAndParams({x-mystream; filename="}+itemName+{"})
		Call mimeItem.SetContentFromText(bufferStream.getNotesStream(), "text/plain; charset=""utf-8""", ENC_NONE)
Bei Schreiben von Text oder XML unbedingt ein Charset angeben!
Ich arbeite zwar hauptsächlich mit LS, denke aber, dass die Infos aus dem Artikel oben auch für Java gelten

Gruß
Roland
« Letzte Änderung: 30.10.13 - 23:16:52 von pram »
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz