Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Jenson am 07.07.04 - 17:18:00

Titel: RTF Feld in Web darstellen?
Beitrag von: Jenson am 07.07.04 - 17:18:00
Hallo zusammen,

ich habe hier eine Maske in einer DB in der die Eingabe eines Fliesstextes grösstenteils in einem Rich Text Feld erfolgt.

Dieser Text soll nun möglichst so wie im RTF auch im Web formatiert dargestellt werden.

Gibts da eine Möglichkeit die Formatierung des Textes im RTF auf das Web umzurechnen? Also wenn ein Text Bold dargestellt wird im RichText Feld, dass dann im Web eben "<b>Text</b>" ausgegeben werden kann.

Um die Ausgabe des ganzen habe ich mich bereits gekümmert. Nur kann ich derzeit keine RTF verwenden ...

Jenson
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Marinero Atlántico am 07.07.04 - 17:49:26
wenn ich dich richtig verstehe, geht das, wenn du für das Web Darstellung als Applet einschaltest.
Applets sind aber nicht so gut (Aussehen, Responsivität)
Es gibt sicher alternative Lösungen. Falls es für das Intranet ist, kannst dus mit ActiveX versuchen. Google: http://www.google.de/search?q=activeX+Domino+RichText&hl=de&lr=&ie=UTF-8&start=10&sa=N (http://www.google.de/search?q=activeX+Domino+RichText&hl=de&lr=&ie=UTF-8&start=10&sa=N)
Fürs Internet ist ActiveX zu gefährlich.
Zumindest theoretisch denkbar sind wohl auch Lösungen mit DHTML (bin mir aber nicht so sicher).
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: animate am 07.07.04 - 19:17:13
eine, in meinen Augen, sehr schöne Lösung ist HTML Area (http://dynarch.com/mishoo/htmlarea.epl).
Leider nur, solange du ausschließlich im Web arbeitest.

Für Browser und Notes-Client musst du wohl das Applet verwenden.
Oder du schaust die Tage mal bei codestore.net rein, die haben in der Richtung was am Laufen
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Jenson am 08.07.04 - 11:45:10
Hallo zusammen,

vielleicht hab ich mich da ein wenig falsch ausgedrückt :-( Folgendes Szenario:

Wir haben eine Datenbank in der über den Notes Client Daten eingegeben werden. Diese Daten werden dann von dieser Datenbank in eine andere Repliziert, aus der dann der Domino-Server ein paar Felder im Web darstellen soll.

Diese Felder sind aber wie gesagt RichText Felder.

also eine Eingabe der Informationen über HtmlArea oder andere RTF Web Editoren fällt leider flach.

Die Info's werde direkt im Notes client in ein RTF eingegeben und dort auch leider schon formatiert.

Ich hoffe es gibt da eine Lösung zu.

Jenson
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Lenham am 08.07.04 - 15:25:34
Sorry, liegt sicher an mir, aber ich verstehe das Problem nicht.

Natürlich kannst Du Daten in einem RTF auch im Web anzeigen lassen.

Wo ist das Problem? Formatierungen wie Schriftart, -Grad usw. werden mit übernommen.

Ausnahme:

Hast Du z.B. im Client als Schrift "Vorgabe Sans-Serif" gewählt, zeigt Dir der Browser seine Vorgabe bzw. Standardschrift an - welche auch immer das sein mag.

Oder was genau meinst Du?
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Jenson am 08.07.04 - 15:47:00
Also unser Chefentwickler hier meinte es sei ein grösseres Problem Rich Text Felder auszulesen und darzustellen. Ich denke da persönlich auch z.B. an den Fall, dass jemand ein Bild einfach eingebettet hat. Das kann ich dann doch auch nicht einfach so darstellen, oder?

Vielleicht liegt das ganze auch ein wenig an der Art und Weise wir wir die Daten holen (müssen).

Ich hole aus einer Datenbank mittels @DBLookup die Inhalte einzelner Felder und gebe die dann dynamisch aus. Wenn ich jetzt den Inhalt eines RTF hole, dann kann ich das doch nicht einfach ausgeben?? Oder übersetzt der Server automatisch die RTF Formatierungen in HTML Code ?

By The way... es darf kein Applet oder Active-X Verwendung finden !

Jenson
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Driri am 08.07.04 - 16:12:04
Mit DbLookup kann das RTF nicht ausgelesen werden, das funktioniert also eh nicht.

Sag doch mal an, was genau ihr da machen wollt.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: koehlerbv am 08.07.04 - 16:29:40
Mit DbLookup kann das RTF nicht ausgelesen werden, das funktioniert also eh nicht.

Das hab' ich auch mal gedacht, Driri. Aber schau mal hier:
http://www.atnotes.de/index.php?board=7;action=display;threadid=9848;start=0 (http://www.atnotes.de/index.php?board=7;action=display;threadid=9848;start=0)

Bernhard

PS: Risiken und Nebenwirkungen verdienen aber besondere Beachtung - wird im Thread auch diskutiert.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Jenson am 08.07.04 - 16:32:50
Ich habe hier eine CMS Datenbank für ein WebProjekt. Dieses CMS bietet die Möglichkeit entweder direkt die Inhalte der "Webseiten" als Dokumente in der CMS Datenbank selber zu erstellen, oder in einem Dokument dynamisch Inhalte von einer anderen Datenbank einzusetzen. (eben über @Formelsprache).

Ich kann also Inhalte aus anderen Datenbanken nur über die Formelsprache holen um sie dann über das CMS im Web darzustellen.

Wenn es über die @Forme Sprache nicht geht, dann kann ich höchstens noch einen Agenten oder etwas in der Art schreiben, der mir die Inhalte aus den RichText Feldern periodisch in die CMS Datenbank schreibt und dabei irgendwie in ein für jeden Browser verständliches Format wandelt.

Hoffe ich hab mich einigermassen verständlich ausgedrückt :-)

Jenson
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Driri am 08.07.04 - 16:42:25
@Bernhard :

Heute ist mein Lerntag, schon wieder was dazugelernt  ;D

Aber die Einschränkungen sind schon recht herb, ich würde im Normalfall lieber nicht diesen Weg gehen, denn irgendwann knallts vermutlich doch mal.

@Jenson :

Was spricht gegen einen Script-Agent, der den Inhalt des RTF holt und in ein neues Dokument im CMS zu packen ?
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: koehlerbv am 08.07.04 - 16:45:48
@Bernhard :

Heute ist mein Lerntag, schon wieder was dazugelernt  ;D

Siehe Thread - so gings mir damals ja auch  ;)

Zitat
Aber die Einschränkungen sind schon recht herb, ich würde im Normalfall lieber nicht diesen Weg gehen, denn irgendwann knallts vermutlich doch mal.
Genau deswegen setze ich das bis heute nicht ein  ;)

Bernhard
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Driri am 08.07.04 - 16:47:10
Ah, okay, die Idee mit dem Agent hattest Du auch schon  ;)

Also ich fasse mal zusammen :

- Du hast in Datenbank A Dokumente mit RTFs, die ins CMS transportiert werden müssen
- Die Formattierungen der RTFs sollen dabei erhalten bleiben


Versuch doch mal, das per CopyItemToDocument zu machen. Dabei muß dann erst im CMS ein neues Dokument erzeugt werden und dann holst Du dir aus der anderen Datenbank das Item und kopierst es einfach in das neue CMS-Dokument.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Jenson am 08.07.04 - 16:49:09
@Driri: Na grundsätzlich habe ich da ja auch nix dagegen. Ich muss die Inhalte des RTF nur irgendwie in die CMS Datenbank bringen und das eben so, dass ein Text der vorher im RTF grün war auch später in HTML grün wird und ein Text der B old war auch eben später im HTML bold dargestellt wird.

Wie genau das zu machen ist ist mir eben schleierhaft. Die Umsetzung der RTF Formatierungen zu HTML Formatierungen ...

Und ich habe fast überall gelesen: "Das auslesen eines RTF Feldes ist nicht möglich". Nur manche meinen es geht grundsätzlich schon.

Jenson

Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Semeaphoros am 08.07.04 - 16:51:38
Mit Script kannst Du das RTF ja schon rüberkopieren, und dann wird es auch vom HTTP-Stack auf dem Server gerendert. Ob es dann wirklich so aussieht wie in Notes, das ist dann ein anderes Kapitel, aber es könnte durchaus ausreichend sein.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Driri am 08.07.04 - 16:53:04
Zur Anzeige im Web solltest Du dann das Java-Applet für das RTF verwenden, sonst dürften die Formattierungen vermutlich untergehen.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: koehlerbv am 08.07.04 - 16:54:54
@Driri:

....
By The way... es darf kein Applet oder Active-X Verwendung finden !

Jenson
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Semeaphoros am 08.07.04 - 16:57:13
Driri:
Nein, die Formatierungen gehen nicht unter, aber man darf kein "High Fidelity" erwarten.

Schau mal hier:

http://www.tinplatefan.ch

da ist kein Applet verwendet, ist reine Notes-Formatierung, aber intern und extern sieht nicht unbedingt identisch aus, die bisher von meinem "Sohn" (Jenson :) )  erwähnten Formatierungen wie bold und grün funktionieren allerdings.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Glombi am 08.07.04 - 17:00:03
Yep, da war Jens schneller. Die Formatierungen bleiben erhalten.

Ich würde an eurer Stelle 2 Masken machen. Eine nur in Notes sichtbar, die andere nur im Web. Die Masken haben dann den gleichen Aliasnamen. Dann braucht Ihr keine RTF Felder zu kopieren, sondern zeigt im Web einfach das vorhandene Dokument an.
Die Web Maske kann dabei beliebige Felder enthalten, nur die angezeigt werden soll, müssen die gleichen Feldnamen haben - bspw. das RTF Feld

Andreas
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Semeaphoros am 08.07.04 - 17:05:02
Stimmt, das ist bei der erwähnten Site von Tinplatefan genau so gelöst, bin nicht sicher, ob das hier in diesem Fall weiterhilft, wenn ich es richtig verstehe, sind das zwei verschiedene Datenbanken, damit bleibt nix übrig als kopieren, aber das geht ja mit LS.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Glombi am 08.07.04 - 17:06:40
Jenson spricht von replizieren:
"Wir haben eine Datenbank in der über den Notes Client Daten eingegeben werden. Diese Daten werden dann von dieser Datenbank in eine andere Repliziert, aus der dann der Domino-Server ein paar Felder im Web darstellen soll. "

also ist es wohl mit 2 Masken machbar.

Andreas
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Semeaphoros am 08.07.04 - 17:09:43
Lassen wir uns das mal vom Sohn von Jens noch bestätigen ..... :)

Na ja, er hat ja jetzt beide Varianten zur Auswahl.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Jenson am 08.07.04 - 17:20:51
:-) Ich bin etwas erschlagen von den Informationen. Ich überlege grade wie das in die CMS Datenbank passt vom Konzept her.

Die einzige Möglichkeit die Daten mit dem CMS darzustellen ist, wenn ich die RTF Inhalte bereits als "übersetzten" Text (<HTML> Tags) vorliegen habe. Da wird das mit dem HTTP Stack denke ich nicht greifen. Im gesamten CMS müssen Informationen auch entweder direkt in HTML-Code eingepflegt werden. Man kann nur an bestimmten Marken im HTML Template normalen unformatierten Text einbinden.

Ich müsste also die Inhalte der RTF Felder doch irgendwie von RTF in HTML bringen bevor das CMS drauf zugreift, da vor der Ebene des Ausgebens der Informationen über den HTTP Server ja noch das CMS kommt.

Jenson

Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Semeaphoros am 08.07.04 - 17:27:58
Ah

Also unterschiedliche Datenbanken.

Und dann ist die Info entweder in einem HTML-Feld oder die Maske als ganzes ist eine HTML-Maske.

Damit müsstest Du vor dem Kopieren die Sache rendern. Das kann Notes aber nicht von Hause aus.

Da müsste man in dem Falle auf Midas zurückgreifen, das bieted diese Funktionalität: http://www.geniisoft.com

Wenn ichs richtig im Kopf habe, ist die Funktionalität bei RTLIB von Normunds ( http://www.rtlib.com ) nicht vorhanden, aber ich könnte mich da täuschen.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: animate am 08.07.04 - 22:54:16
in den Eigenscahften eines RTFelds kannst du auf dem zweiten Reiter einstellen, dass INhalte des Felds als HTML und MIME gespeichert werden.
evtl. hilft dir das weiter.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Semeaphoros am 08.07.04 - 23:05:22
Hast Du eine Ahnung, ob das dann auch von CD-Records zu HTML konvertiert, wenn man ein RT-Item kopiert?

Jedenfalls, mit dieser Einstellung in der DB, in der die Inhalte erfasst werden, sollte es dann wahrscheinlich funktionieren, dann kommt das ja schon als HTML daher.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: animate am 08.07.04 - 23:15:39
Hast Du eine Ahnung, ob das dann auch von CD-Records zu HTML konvertiert, wenn man ein RT-Item kopiert?

kopiert von wo nach wo? und wie?
aber ist eigentlcih egal - ich weiß es nicht.
Ich habe diese Option zum ersten Mal letzte Woche selbst benutzt.

Ich habe auch noch nicht mit Bildern, Attachments und eingebetteten Objekten probiert.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Semeaphoros am 08.07.04 - 23:20:46
Ist wohl auch nicht so sinnvoll, meine Frage, beim Kopieren des Items im Backend wird Notes ganz bestimmt nichts ändern, sondern es rüberkopieren "as is". Diese Feldoptionen gelten ja sowieso nur im UI, und da wird dann eben konvertiert beim Speichern, nehme ich jetzt mal an. Wenn ich vorher überlegt hätte ........ tja ....
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Lenham am 09.07.04 - 08:52:10
Nur mal so am Rande ...  ;D

Es ist immer wieder schön, wie sehr sich etwas vom ursprünglich als Problem formulierten ...
Zitat
...Dieser Text soll nun möglichst so wie im RTF auch im Web formatiert dargestellt werden...

... durch mehrmaliges Nachfragen zum echten Denksport entwickelt.

Jetzt sind wir schon bei CMS und mehreren Datenbanken.

Bin mal gespannt was noch alles kommt.  ;)
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Glombi am 09.07.04 - 09:07:05
@Lenham,
da hast Du vollkommen recht. So nach dem Motto:
Fahrer: Chef, der Außenspiegel vom LKW ist kaputt!
Chef: Waaaas, wie kann das denn sein?
Fahrer: Na, der LKW liegt drauf!  ;D

Mal sehen, was noch so kommt...

Andreas
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: animate am 09.07.04 - 10:07:28
Nur mal so am Rande ...  ;D

Es ist immer wieder schön, wie sehr sich etwas vom ursprünglich als Problem formulierten ...
Zitat
...Dieser Text soll nun möglichst so wie im RTF auch im Web formatiert dargestellt werden...

... durch mehrmaliges Nachfragen zum echten Denksport entwickelt.

Jetzt sind wir schon bei CMS und mehreren Datenbanken.

Bin mal gespannt was noch alles kommt.  ;)

@Lenham,
da hast Du vollkommen recht. So nach dem Motto:
Fahrer: Chef, der Außenspiegel vom LKW ist kaputt!
Chef: Waaaas, wie kann das denn sein?
Fahrer: Na, der LKW liegt drauf!  ;D

Mal sehen, was noch so kommt...

Andreas



Falls euch dieses Phänomen interessiert, kann ich euch diesen Artikel (von mein Jefe) empfehlen (s.Anhang)
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: animate am 09.07.04 - 10:08:06
und das hier müsste der auf deutsch sein
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: animate am 09.07.04 - 10:09:11
ach so, über Kommentare würde ich mich freuen...
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Jenson am 13.07.04 - 16:35:42
Sodale .. also ich habe nun mal eine kleine Test-Datenbank aufgebaut. Einfach nur eine leere Datenbank, mit einem RichText Feld zur Eingabe eines mehr oder weniger formatierten Textes.

Unter den Eigenschaften des RTF habe ich die Option "Speichern als HTML und MIME" aktiviert.

Wenn ich mir nun eines der mit dieser maske erstellten Dokumente mal genauer ansehe, dann existieren nun 2 Felder für das RTF.

Eines ist "MIME_Version" genannt und enthält in meinem Falle "1.0".

Das zweite hat den Namen des Rich Text Feldes und wenn ich mir den Inhalt unter den Dokumenteigenschaften ansehe, dann steht da wirklich bereits HTML Code drin.

Jetzt habe ich versucht das Feld von meinem CMS aus per DBLookup auszulesen, aber keine Chance. In der Console bekomme ich dann:

07.13.2004 16:37:50   Begin MIME to CD Conversion (Process: ? (00002D66:00000013), Database: ******/rtftest.nsf, Note: 000008F6)
07.13.2004 16:37:50   End MIME to CD Conversion (Process: ? (00002D66:00000013), Database: ******/rtftest.nsf, Note: 000008F6)
07.13.2004 16:37:50   Begin MIME to CD Conversion (Process: ? (00002D66:00000013), Database: ******/rtftest.nsf, Note: 000008FA)
07.13.2004 16:37:50   End MIME to CD Conversion (Process: ? (00002D66:00000013), Database: ******/rtftest.nsf, Note: 000008FA)

(Habe den Pfad durch Sterne ersetzt!).

Nun dachte ich mir, vielleicht kann ich innerhalb der Maske beim speichern den HTML-Code aus dem RTF irgendwie in ein Textfeld schreiben, dass ich dann auslesen kann !!??

Vielleicht kann mir da noch jemand einen Tip geben? Ich freue mich aber schon mal, dass ich in dem RTF richtigen HTML Code sehe, ohne es durch den HTTP Stack laufen zu lassen ..


Jenson
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: animate am 13.07.04 - 17:15:03
guck dir mal die @Abstract-Funktion an.
die schreibst du als Formel in ein berechnetes Feld

ungefähr so: @Abstract([abbrev]; 200; ""; SomeRichTextField)

Parameter musst du natürlich an deine Anforderungen anpassen.
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Jenson am 13.07.04 - 18:18:48
@Thomas:

Die @Abstract Funktion hilft mir zwar den Text eines Rich Text Feldes in einen Plain Text zu bekommen, aber der Text der da rauskommt ist dann nicht der HTML Source Code der eigentlich vorliegt, sondern nur plain-Text ohne HTML.

Ich hab grade mal ein Script geschrieben, dass mir den Inhalt des RTF in ein normales Textfeld schreiben soll. Tut es soweit auch, aber auch nur plain Text.

@All:

Wenn ich mir die Dokumenteigenschaften eines meiner Dokumente ansehe, dann finde ich für mein Rich Text Feld "RICHTEXT" folgende Informationen:

Code
Feldname: RICHTEXT
Datentyp: MIME-Element
Datenlänge: 524 Byte
Seq.-Num.: 10
Doppeleintrags-ID: 0
Feld-Flags: SIGN SEAL 

"Content-Type: text/html; charset="US-ASCII"


<br><font size=3><br>
<br>
<br>
<br>
<br>
<br>
<br>
</font><font size=2><br>
</font><font size=2 color=#c062ff face="Arial"><b>test 56412123 <br>
Dies ist nun ein ultimativer TEST ob der Text ein</b></font><font size=2>es
<b>R</b></font><font size=7 color=blue face="Vipnagorgialla"><b><i>TF Feldes
auch als formatierter Text in HTM</i></b></font><font size=5><b><i>L</i></b></font><font size=2>
ankommt !!</font><font size=3>   </font>
"

Wie komme ich nur an die HTML Version dran?

Jenson

Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Marinero Atlántico am 13.07.04 - 18:35:57
http://www.nsftools.com/tips/NotesTips.htm#richtexttohtml (http://www.nsftools.com/tips/NotesTips.htm#richtexttohtml)

2. google Eintrag von
http://www.google.de/search?q=notes+RichText+html&ie=UTF-8&hl=de&meta= (http://www.google.de/search?q=notes+RichText+html&ie=UTF-8&hl=de&meta=)

(von mir nicht ausprobiert)
Titel: Re:RTF Feld in Web darstellen?
Beitrag von: Jenson am 13.07.04 - 19:05:02
Hallo zusammen,

also ich habs hinbekommen. Ich habe nun einfach ein berechnetes Feld (Text) in die Maske genommen und per LotusScript in PostSave den MIME Inhalt ausgelesen. Diesen dann in Text gewandelt und in das Textfeld geschrieben.

Da kommt man dann von überall wunderbar dran.

Danke nochmal an alle.

Jenson