Autor Thema: XPages - RichTextfelder speichern Inhalte nicht sauber ab  (Gelesen 10185 mal)

Offline Tobias211

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Hallo zusammen,

so gerne wie ich mich mit den XPages beschäftige.....manchmal treiben sie mich in den Wahnsinn!

Bei der Entwicklung einer Veranstaltungs-DB bin ich auf ein merkwürdiges Problem gestoßen:


Rahmen:

XPage 1 - Erzeugung von Dokumenten, die als "Vorlagen" für Veranstaltungen dienen
              - Binding mit Maske "Vorlagen"
              - Textfelder und RT-Felder

XPage 2 -  Erzeugung von Dokumenten, die auf Basis der Vorlagen eine "Veranstaltung" anlegen
                 und später über eine Ansicht aufgerufen werden können.
              -  Binding mit Maske "Veranstaltungen"
              -  Textfelder und RT-Felder


Vorgehensweise

1. Die XPage 1 besteht aus handelsüblichen Textfeldern und u. a. zwei RichText - Feldern in die
    neben Links, formatierte Text etc. kleine Bilder (z. B. Symbole, oder kleinere Fotos) abgelegt
    werden. Sobald alle Angaben gemacht sind, wird das Dokument gespeichert
    und fertig.
 
2. Sobald die Vorlage später mal wieder benötigt wird, wird das Dokument aufgerufen (ohne
    nochmals editiert zu werden) und über einen Button "Veranstaltung aus dieser Vorlage erstellen"
    für alle Felder SessionScope-Variablen erstellt. Beispiel für eines der RT-Felder:

                var val6 =  getComponent("Seminarinhalte").getValue();
                sessionScope.put("varSeminarinhalte", val6);


     um die Inhalte auf der anschließend aufgerufenen XPage 2 zu
     übernehmen (Neues Dokument!). Die Übernahme der Daten erfolgt bei den
     RT-Feldern über den Vorgabewert des Feldes. Beispiel:

                 sessionScope.get("varSeminarinhalte")

3. Auf der XPage 2 werden dann individuelle Daten in weiteren Feldern hinzugefügt (z. B. Datum,
    Beginn etc.) und das neue Dokument abgespeichert.

4. Die Mitarbeiter können das Veranstaltungsdokument über eine View aufrufen und sich über die
    entsprechende Veranstaltung informieren, sich dort anmelden und und und....Fertig!


Problem

Ich musste leider feststellen, dass das Veranstaltungsdokument aus der Xpage2 die Inhalte der RT-Felder nicht sauber speichert, wenn ich "keine Änderung" nach Übernahme der Inhalte aus XPage 1 vornehme....das Dokument also ohne diese Felder zu berühren, speichere.

Ändere ich stattdessen den Inhalt...z. B. durch hinzufügen eines Zeichens, oder durch manuelles ausschneiden und wieder einfügen des Inhaltes (ich weiß leider nicht, wie ich das per Script mache....), dann werden zumindest die Textformatierungen und Links beim Speichern sauber eingetragen......allerdings bleibt es dabei, das die Bilder nicht angezeigt werden, nachdem das Dokument gespeichert und wieder aufgerufen wurde.


Analysen

Das Problem habe ich nur bei den Veranstaltungen (also Dokumenten aus XPage2)! Wenn ich ein neues Dokument über die XPage1 erzeuge (also eine Vorlage), dann werden die Texte und Bilder bis zum jüngsten Tag sauber und ordentlich in den besagten Feldern angezeigt.

Das Problem beschränkt sich innerhalb des Dokumentes auch nur auf die RT-Felder. Ganz normale Textfelder werden sauber gespeichert und ohne zu ändern auch nach speichern sauber angezeigt.

Ich habe mir die Databindings jetzt mehrfach angesehen. Hier scheint alles i. O. zu sein. Jede XPage ist sauber mit der ensprechenden Form verbunden. Auch die Feldtypen sind als RichText vermerkt.

Hr. Google und die Suchfunktion sind natürlich schon ausführlich gefragt worden. Ein Arbeitskollege sagt mir, dass er schonmal irgendwo etwas ähnliches davon gelesen hätte, dass es sich um einen Bug handele, dass die RT-Felder nach füllen durch Vorgabewerte, bei "nicht verändern" nicht gespeichert würden. Genaueres konnte er mir aber auch nicht sagen......


Meine Bitte

Hat jemand ein ähnliches Problem schonmal gehabt.....und konnte es lösen? Oder könnte mir jemand einen Hinweis geben, wie ich diesen Fehler beheben kann?

Wäre nett, wenn mir jemand einen Tipp geben könnte.

Danke und Gruß Tobias

P. S.: Danke für`s bis hierhin mitlesen.....ist ganz schön viel geworden..... :o :o :o :o


« Letzte Änderung: 30.10.13 - 17:06:20 von Tobias211 »
- Tobias -

>Irgendwie muss es gehen.....Geht nicht....Gibt`s nicht!<

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
« Letzte Änderung: 30.10.13 - 19:21:05 von pram »
Roland Praml

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

Offline Tobias211

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: XPages - RichTextfelder speichern Inhalte nicht sauber ab
« Antwort #2 am: 30.10.13 - 20:08:40 »
Hallo Roland,

wir nutzen die Version 8.5.3 FP4.

Tja, sieht so aus als wäre es tatsächlich "ein Fehler im Detail".

Ich werde es morgen mal mit nur einem RT-Feld probieren. (SPR# SODY8RGHCS - Fixed an issue with using multiple Rich Text or File Upload controls on one XPage .....)

Vielleicht habe ich ja Glück. Wenn alle Stricke reißen, gibt es einen dicken Vermerk auf der Seite, dass bitte keine Bilder zu verwenden sind. Wäre zwar sehr schade, aber bis Version 9.xxxx eben so.

Ich werde berichten.

Gruß Tobias
- Tobias -

>Irgendwie muss es gehen.....Geht nicht....Gibt`s nicht!<

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: XPages - RichTextfelder speichern Inhalte nicht sauber ab
« Antwort #3 am: 30.10.13 - 21:20:12 »

Ich könnte mir weiterhin vorstellen, dass bei einem getComponent("Seminarinhalte").getValue(); keine Bilder/Anhänge kopiert werden, sondern nur der HTML-Text

Zielführender ist es eventuell, wenn du über 
  sessionScope.inhalt=document1.getValue("feldname")
den Inhalt ausliest und über
  documentNeu.setValue("feldname", sessionScope.inhalt)
wieder zurückschreibst (aber auch hier keine Gewähr, dass dies funktioniert)

Gruß
Roland

Roland Praml

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

Offline Tobias211

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: XPages - RichTextfelder speichern Inhalte nicht sauber ab
« Antwort #4 am: 31.10.13 - 15:08:21 »
Hallo zusammen,

So, hab`s heute mal mit nur einem RT-Feld versucht. Hat leider nicht geklappt. Wenn ich das RT-Feld auf der XPage2 unberührt lasse, werden die Angaben (weder Text noch Bilder) nicht gespeichert und das Feld bleibt beim späteren Aufruf leer.

Auch das Anpassen des SessionScope-Abrufs von Roland hat leider keinen Erfolg gebracht.
Nun denn....., was soll`s!

Jetzt war es ja so, dass ich durch manuelles ausschneiden und wieder einfügen des Inhaltes zumindest formatierte Texte und Links behalten habe. Bevor ich jetzt einen Vermerk an das RT-Feld schreibe, dass man doch bitte einmal STRG+A / STRG+X / STRG+V betätigen solle, bevor man das Dokument speichert, würde ich zumindest dies im Hintergrund durchführen lassen.

Also Abruf der SessionScope-Variable, anschließend einmal Inhalt ausschneiden und wieder einfügen lassen. (damit sich der Feldinhalt geändert hat....)

Leider weiss ich die Befehlsfolge hierfür nicht.

Könnte sie mir jemand nennen? Dann hätte ich zumindest eine 80/20 - Lösung.

Gruß Tobias
- Tobias -

>Irgendwie muss es gehen.....Geht nicht....Gibt`s nicht!<

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: XPages - RichTextfelder speichern Inhalte nicht sauber ab
« Antwort #5 am: 31.10.13 - 15:30:22 »
Moin

Evtl. hilft eine kleine Anpassung am Schritt 2.
Anstatt die Felder im Session Scope abzulegen könntest Du einfach die DocumentUniqueID speichern und die Daten beim Öffnen der Xpage 2 holen.
Dann hast du Zugriff auf das darunterliegende Notesdokument und kannst die RichtextITems komplett kopieren.

Gruss

Urs

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

Offline Tobias211

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: XPages - RichTextfelder speichern Inhalte nicht sauber ab
« Antwort #6 am: 01.11.13 - 11:54:35 »
Hallo Urs,

die DocUniniqueID speichere ich bereite im Dokument. allerdings stehe ich gerade auf dem Schlauch, wie ich mir den Feldinhalt beim Öffnen der Xpage 2 holen soll.

Aber wie kopiere ich nun die Inhalte aus dem Dokument der XPage 1 auf die XPage 2. bisher hab ich das halt immer mit der SessionScope Variable gemacht.

Könntest Du mir bitte einen Codeschnippsel hierfür geben?

Gruß Tobias
- Tobias -

>Irgendwie muss es gehen.....Geht nicht....Gibt`s nicht!<

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: XPages - RichTextfelder speichern Inhalte nicht sauber ab
« Antwort #7 am: 11.12.13 - 15:59:05 »
Das Problem liegt m.W. dran, das die MIME-Konvertierung nicht gemacht wird, wenn der Editor auf diese Weise "befüllt" wird.
Dadurch geht die Formatierung etc verloren.

Erst wenn im Client eine Änderung vorgenommen wird, registriert der Editor, das der Inhalt neu konvertiert werden muss, so dass beim nächsten Update/Speichern die Konvertierung durchgeführt wird.

Eventuell reicht ein Partial Refresh eines um den Editior liegenden Elementes aus (nur die Editore-Komponente reicht nicht), um die Konvertierung anzustoßen.

Ansonsten hat Per Henrik Lausten mal über das Problem gebloggt:

http://per.lausten.dk/blog/2012/12/xpages-dynamically-updating-rich-text-content-in-a-ckeditor.html
« Letzte Änderung: 11.12.13 - 21:08:21 von Sven Hasselbach »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz