Autor Thema: Richtext Feld (Web) mittels Dojo-Framework darstellen...  (Gelesen 2871 mal)

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Hallo,

ich habe vor das Java-Applet des RT-Feldes gegen den Dojo dijit.editor zu ersetzten.

Ein schöner Nebeneffekt wäre, wenn dann die Reihenfolge von Text, Bildern und Formatierungen beibehalte würde, egal ob im Web oder Notes gespeichert wird.

Ich habe schon ein bisschen begonnen und bin soweit, dass der dijit Editor angezeigt wird. Alledings werden die Icons nicht richtig dargestellt...

Gibt es vieleicht schon irgentwelche Lösungen in diese Richtung? Denn man braucht nicht bis 8.x zu warten, weil man Dojo easy installieren und implementieren kann, nur die Geschichte mit RTF scheint komplexer zu sein.
Stand:
1. dojo 1.1.1 im root des Domino-Webservers kopiert
2. Im Formhead folgendes
Code
"<style type=\"text/css\" media=\"all\">@Import \"../form.css?OpenCSSResource\";</style>"+ @NewLine+
"<style type=\"text/css\" media=\"all\">@Import \"/dojo111/dojo/resources/dojo.css\";</style>"+ @NewLine+
"<script type=\"text/javascript\" src=\"/dojo111/dojo/dojo.js\""+ @NewLine+
"djConfig=\"parseOnLoad: true\"></script>" + @NewLine+
"<script type=\"text/javascript\" src=\"/dojo111/dijit/dijit.js\"></script>"+ @NewLine+
"<script type=\"text/javascript\">"+ @NewLine+
"dojo.require(\"dijit.Editor\");"+ @NewLine+
"dojo.require(\"dojo.parser\");"+ @NewLine+
"</script>" 
3. in den Html Eigenschaften des RT-Feldes unter Other:
Code
dojoType="dijit.Editor"

Ergebnis: der dijit.editor wird im Web angezeigt, allerdings werden die Icons noch nicht richig angezeigt.

Ziel ist es eine Anzeige der RT-Inhalte so im Web darzustellen, wie im Notes-Client und umgekehrt.
Ein Problem das es zu lösen gilt ist wohl, dass der Notes-Client im RT-Format speichert und der Editor im HTML-Format.

Hat jemand Bock mit zu machen?

Grüße
Lisa
« Letzte Änderung: 13.07.10 - 13:52:39 von LisaS »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #1 am: 17.09.08 - 12:44:29 »
OK, die Icons werden jetzt auch angezeigt, im Body-Tag musste nur die richtige Class für das Dojo-CSS eingetragen werden.

Der Editor sieht ganz gut aus und funktioniert soweit.

Nur wird im Web der im Notes gespeicherte Inhalt als plain Text angezeigt.

Bei meiner Recherche bin ich auf eine Script-Library gestoßen, die RT nach HTML convertiert.

So ist es schon mal möglich, im Notes-Client einen RT-Feld Inhalt nach HTML zu convertieren und das dann in das Feld zu schreiben, welches im Web angezeigt wird. Der Dijit Editor zeigt es wunderbar an und man kann es bearbeiten.

Nun ist es 'nur' noch nötig den im Web gespeicherten Inhalt in das Notes Richtextformat zu wandeln und in das Feld für die Notes-Client-Anzeige zu schreiben. Jemand ne Idee?

Ich forsche weiter....

Grüße
Lisa
« Letzte Änderung: 13.07.10 - 13:53:23 von LisaS »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #2 am: 17.09.08 - 12:49:46 »
Du wirst das wollen:
Zitat
CoexEdit lets people edit Notes rich text from both the Notes client and a web browser without significant loss of formatting. Images, attachments, tables and doclinks can all be added, deleted and modified cleanly from either your web editor or your Notes client.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #3 am: 17.09.08 - 13:31:46 »
@m³
Richtig, da durch bin ich ja auf die Idee gekommen es nachzubauen, damit es für jedermann kostenlos ist.

@all
Im Moment hakt es noch beim speichern von einem dijit.Editor Feld im Web.
Es werden beim speichern die Daten nicht übernommen.
Jemand ne Idee!

Grüße
Lisa
« Letzte Änderung: 13.07.10 - 13:53:38 von LisaS »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #4 am: 19.09.08 - 09:22:58 »
Ok,
ich habs jetzt hinbekommen, dass die dijit.Editor-Daten gespeichert werden.
über ein verstecktes RT-Feld welches wie folgt berechnet wird
Code
dojoType="dijit.form.Textarea"
lade ich die Daten im onload Event hiermit
Code
htmlString= dijit.byId('html_storage').getValue() ;
dijit.byId('html_editor').setValue( htmlString ); 
und onsubmit hiermit
Code
htmlString= dijit.byId('html_editor').getValue() ;
dijit.byId('html_storage').setValue( htmlString ); 
hin und her.
Das 'dijit.Editor-Feld' dient dabei nur zum anzeigen und editieren und das 'dijit.form.Textarea-Feld' zum speichern
Läuft bis jetzt ganz gut.
Jetzt muss nur noch der gespeicherte html codierte Inhalt für den Notes Client ins RTF convertiert werden.
Wenn jemand ne Idee hat....

Grüße
Lisa
« Letzte Änderung: 13.07.10 - 13:53:01 von LisaS »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #5 am: 19.09.08 - 11:24:33 »
Man könnte das HTML -> RTF Problem ganz pragmatisch lösen indem man den html-content in einem file speichert und mit
Code
Sub Click(Source As Button)
  Dim workspace As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Call uidoc.GotoField("Body")
  Call uidoc.Import("HTML File", "c:\temp\temp.htm")
End Sub
nach dem öffnen in das Notes-Client RT-Feld setzt.
Bis sich was eleganteres findet sollte es ausreichen.

Jetzt muss nur noch alles rund gemacht und getestet werden et voila... xxx€ gespart ;D
« Letzte Änderung: 13.07.10 - 13:53:53 von LisaS »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #6 am: 08.10.08 - 09:53:42 »
Hallo, ein kleines Problem mit dem Richtextfeld habe ich noch.
Im Richtextfeld wird der Text in us-ascii gespeichert, wenn 'store contents as html and mime' anhakt.
Wie bekomme ich es hin, das der Inhalt im utf-8 Format gespeichert wird.
Für dieses Problem habe ich ein neues Thema eröffnet.
http://atnotes.de/index.php?topic=42701.0
« Letzte Änderung: 13.07.10 - 13:54:05 von LisaS »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #7 am: 22.10.08 - 10:37:02 »
Mein Problem mit dem Richtext to html ist gelöst:
Mit einem verstecktem
Code
<div dojoType="dijit.layout.ContentPane" class="box" hasShadow="false" id="cp1" onLoad="sethtml();"  href="<Computed Value>"></div>
der ComputedValue berechnet sich so:
Code
"/"+@WebDbName+"/v002/"+@Text(@DocumentUniqueID)+"/DasRTFeld?OpenField"
Somit wird das RT-Feld versteckt auf der Seite im Lesemode angezeigt und man kann mit
Code
var shtml = dojo.byId('cp1').innerHTML
den entsprechenden html-code nehmen und mit
Code
dijit.byId('html_editor').setValue( shtml );
in der Richtext-Editor packen um dann daran zu arbeiten.
Soweit so gut.
Das importieren der HTML-Datei im Notes-Client klappt auch schon sehr gut, bis auf Bilder.
Denn als bild-src steht folgendes im Quelltext:
Code
src="https://xxxy.de/verzeichnis/xyzDB.nsf/0/9c4d3140ca656ccbc12574ea002a287d/DasRTFeld/0.E0?OpenElement&amp;FieldElemFormat=gif"
Nach dem Import der HTML-Datei wird nur ein Platzhalter angezeigt.
Klar die DB ist Kennwort geschützt und daher kann das Bild nicht geladen werden.

Gibt es eine Möglichkeit die url so umzubauen, das sie auf das Bild im Doc zeigt, denn es ist ja als in-line-image im Doc gespeichert.
Wenn jemand noch andere Anregungen hat, dann immer her damit.

« Letzte Änderung: 13.07.10 - 13:54:19 von LisaS »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline Fedaykin

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • Geschlecht: Männlich
  • Ya Hya Chouhada!
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #8 am: 22.10.08 - 18:33:06 »
Hi Hitcher

Dein Projekt klingt sehr interessant. Würde ich mir gerne mal genauer anschauen und mithelfen wenn ich wo helfen kann. Werde halt tagsüber nicht wirklich viel machen können aber dafür hat man ja Feierabend und Wochenende.  ;D

Gruss
Remo
Ich sage Euch: "Man muss noch Chaos in sich haben, um einen tanzenden Stern gebären zu können."

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #9 am: 29.10.08 - 08:29:10 »
Hallo,
im Moment stagniert das Projekt, denn ich bekomme noch keine saubere Notesseitige HTML-Interpretation des RT-Feldes hin.
Es gibt zwar verschidenen Lösungen, die benötigen aber immer ein zweites Dokument, in dem dann ein RT-Feld mit Mime-Format gespeichert wird.
Zweitens wenn man mit einem Dokument auskommen will, dann wird im Postsave, oder Queryclose Event des Doks. die Berechnung des HTML-Codes vorgenommen und ein ReOpen ist nötig. Das zerschießt aber das Dokument z.B. Verdopplung der Attatchments...
Ich muss den HTML-Code leider auch im Notes berechnen, denn sonst kann ich die im Web gespeicherten Bilder nicht zuordnen, denn die haben eine andere ID als im Notes.
Wenn jemand ein Workaround hat dann her damit, manchmal verrennt man sich ja mal in eine Richtung und sieht nichts anderes mehr.
« Letzte Änderung: 13.07.10 - 13:54:38 von LisaS »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline guerilla

  • Junior Mitglied
  • **
  • Beiträge: 74
  • Geschlecht: Männlich
    • campino2k.de
Re: Richtext Feld (Web) mittels Dojo-Framework darstellen...
« Antwort #10 am: 01.12.08 - 14:01:20 »
Also ich habe dieses "Problem" mit dem FCKeditor gehabt und etwas anders umwerkelt:

Code
<compval1>[computed RT, name ="Body"]<compval2>

In den computed values steht:
1. <textarea name="Body">
2. </textarea>

Jeweils beim Lesen werfen die compvals "nichts" aus.

Und was das doppelte anzeigen angeht: Da gabs eine Render-HTML in Notes- Eigentschaft, aber ich weiss nicht wo...
Lotus Notes ist ein sehr mächtiges und rätselhaftes Programm. Und seine Macht wird nur von seiner Rätselhaftigkeit übertroffen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz