Autor Thema: JPEG in Richtext im Web darstellen.  (Gelesen 4424 mal)

Offline RvM

  • Senior Mitglied
  • ****
  • Beiträge: 375
  • Geschlecht: Männlich
  • Domino: Geht nicht - gibt's nicht
    • PhotosForFree
JPEG in Richtext im Web darstellen.
« am: 15.05.12 - 09:03:36 »
Ich habe ein alte Programmierung, die noch unter Notes 5 erstellt wurde, auf einem neune Notes 8.5 Server laufen und nun Probleme bei der Darstellung von JPG, die in einem Richtext-Feld liegen.
Auf dem 5er Server wurde das Bild mit folgender URL angezeigt:
Code
".../Bild/0.7C?OpenElement&FieldElemFormat=jpg"
Auf dem 8er Server hingegen
Code
"../Bild/0.84?OpenElement&FieldElemFormat=jpg"
Was seltsam ist, das Dokumente, händisch angepackt werden, geöffnet, bearbeitet und gespeichert werden, das JPG mit der neuen URL anzeigen, alte Dokumente wieterhin mit der alten URL.
Einen Agenten, der einfach nur ein Feldinhalt ändert, reicht nicht, dass das dokument als bearbeitet erkannt wird.
Wie kann ich jetzt alles Dokumente per Agenten einmal öffnen, bearbeiten und schliessen lassen, damit alle die neue URL nutzen?
Ich hoffe, ich habe mich verständlich ausgedrückt.

LG
Rolf
-------
Gruß Rolf
--------------

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: JPEG in Richtext im Web darstellen.
« Antwort #1 am: 15.05.12 - 16:25:31 »
Die Nummer 0.7C bzw 0.84 gibt den Byteoffset in Hex im Richtext an, wann das Bild beginnt und wird mehr oder weniger zufällig vergeben.

Da sich vermutl. in Version 8 das Richtext-Handling geändert hat, sind hier ein paar Bytes mehr im RT und schon passts nicht mehr.
Was spricht dagegen, das RT-Feld in die Maske einzubinden, so dass die Nummer ermittelt werden kann?

Einen direkten Zugriff auf die embedded-elements unter Umgehung des RT-Fields ist "Murx", da du nicht sichergehen kannst, dass das Bild immer an der gleichen Stelle im RT landet.

Beschreib dein Anliegen mal etwas genauer, warum .../Bild/0.7C?... fest codiert wurde, vielleicht gibt es eine elegantere Lösung.

Gruß
Roland
Roland Praml

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

Offline RvM

  • Senior Mitglied
  • ****
  • Beiträge: 375
  • Geschlecht: Männlich
  • Domino: Geht nicht - gibt's nicht
    • PhotosForFree
Re: JPEG in Richtext im Web darstellen.
« Antwort #2 am: 16.05.12 - 08:36:31 »
Es geht um eine alte Programmierung:
http://www.photosforfree.de/
Ich habe für die Pflege der Bilder eine Maske erstellt, in der ich das Bild, welches in folgender Maske zu sehen ist, nicht als Attachment, sondern als Bild in ein Richtext reinpacke:
http://www.photosforfree.de/rvm/photo.nsf/webBilder/Nachtisch_III11.05.?editdocument
Den Inhalt dieses Dokumentes werte ich dann in der ersten Ansicht an.
Ich könnte theoretisch die Programmierung komplett auf Attachment umstellen, aber dann müsste ich alle 1.289 Dokumente neu anlegen - und das wäre nicht im Sinne des Erfinders.
-------
Gruß Rolf
--------------

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: JPEG in Richtext im Web darstellen.
« Antwort #3 am: 16.05.12 - 13:12:35 »
Du bräuchtest den Byteoffset bzw. die Bild-URL um die Dokumente in einer Ansicht darzustellen.
Den Byteoffset kannst du entweder über die C-API ermitteln (komplizier) oder durch Holen der URL "....?OpenField" vom HTTP-Task

http://www.photosforfree.de/rvm/photo.nsf/webBilder/6792D9D60102B09BC12577AB006289D0/Bild?OpenField

Ein Agent der mal über alle Dokumente läuft könnte dann den richtigen Byteoffset/Bild-URL in die Dokumente speichern.
Alternativ kannst du auch das HTML-Schnipsel mit AJAX/IFrame in die Ansicht einbinden. Ersterer Weg wäre aber besser.

Gruß
Roland
Roland Praml

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

Offline RvM

  • Senior Mitglied
  • ****
  • Beiträge: 375
  • Geschlecht: Männlich
  • Domino: Geht nicht - gibt's nicht
    • PhotosForFree
Re: JPEG in Richtext im Web darstellen.
« Antwort #4 am: 17.05.12 - 21:32:35 »
Danke für den Tipp:
Was nur sehr seltsam ist, dass der Aufruf des Direktlink

http://www.photosforfree.de/rvm/photo.nsf/webBilder/6792D9D60102B09BC12577AB006289D0/Bild?OpenField

bei allen Bildern mit entsprechender DocumentID funktioniert, aber innerhalb der Ansicht die URL nicht aufgelöst wird.
Ich habe mal testweise die hardcore-Verdrahtung gewählt, aber das Bild wird dennoch nicht angezeigt.
Ich bin ratlos.
-------
Gruß Rolf
--------------

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: JPEG in Richtext im Web darstellen.
« Antwort #5 am: 18.05.12 - 11:20:20 »
OpenField liefert ein HTML:

http://www.photosforfree.de/rvm/photo.nsf/webBilder/6792D9D60102B09BC12577AB006289D0/Bild?OpenField
Code
<div align="center">
<p><img src="/rvm/photo.nsf/0/6792d9d60102b09bc12577ab006289d0/Bild/0.7C?OpenElement&amp;FieldElemFormat=jpg" width="300" height="200"></div>
Dieses HTML musst du z.B. per Agent auslesen und daraus den Offset, bzw. die Bild-URL extrahieren und in dein Dokument schreiben
Das kannst du z.B. so machen
Code
	Dim objHttp, ret$
	Set objHttp = CreateObject("Microsoft.XMLHTTP")
	
	objHttp.open "GET", "http://www.photosforfree.de/rvm/photo.nsf/webBilder/6792D9D60102B09BC12577AB006289D0/Bild?OpenField", False, "", ""
	Call objHttp.send()
	
	ret = objHttp.ResponseText
	MsgBox StrLeft(StrRight(ret,{src="}),{"})
(ist zwar auch keine 100%ig saubere Lösung, wird aber funktionieren)

Gruß
Roland

Roland Praml

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

Offline RvM

  • Senior Mitglied
  • ****
  • Beiträge: 375
  • Geschlecht: Männlich
  • Domino: Geht nicht - gibt's nicht
    • PhotosForFree
Re: JPEG in Richtext im Web darstellen.
« Antwort #6 am: 25.06.12 - 19:46:52 »
Da ich im Scripten nict so firm bin, eine Frage:
Wie kann ich scriptmäßig denn die Dok ID auslesen? Ich muss ja diesen Agenten beim speichern des Dokumentes laufen lassen und dafür die Dok-ID des Dokumentes bekommen - oder?
-------
Gruß Rolf
--------------

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: JPEG in Richtext im Web darstellen.
« Antwort #7 am: 27.06.12 - 21:05:15 »
die UniversalID bekommst du über doc.universalID.

Du musst den Agenten nach dem Speichern laufen lassen, da das Dokument ja u.U. nicht da ist. (idealerweise im PostSave oder einmal täglich) was aber wieder andere Nebenwirkungen haben kann, da im Postsave das Dokument nochmals gespeichert werden muss.

Zur Umsetzung der Lösung sind allerdings Scriptkenntnisse unbedingt erforderlich.
 
Gruß
Roland
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