Character enconding im Navigation Manager (und die neue Version des “Open Text Web Solutions Servers 9″ eigentlich “RedDot CMS 7.6″)

Prolog

For you english guys just follow this link to the Unofficial Reddot CMS blog Open Text Web Solutions blog

Watch your step with RedDot Navigation Manager and character encoding
Watch your "encoding-steps"
within Navigation Manager

Nach dem Update auf die fulminante Version 9 des RedDot CMS Open Text Web Solutions Servers mit dem neuen Telerik Rich Text Editor scheint Tidy seine Tage gefristet zu haben. Bislang war dieses sehr rechenintensive Tool ein notwendiges Übel, um sauberen/validen XHTML Code zu produzieren, was Vorraussetzungen ist um barrierearme/-freie Webseiten zu erstellen/publizieren wie z.B. die einer Versicherung, programmiert von meiner letzen Agentur.

Nach dem Update auf Open Text Web Solutions Server 9 ist vor dem Update

Ein Update behebt also meistens grobe Fehler, wirft aber auch neue Fragen auf. So auch die Frage, warum trotz Telerik und sauberem HTML, die publizierten Seiten nicht valides XHTML nach W3C ausgeben?

Der RedDot Navigation Manager mag macht kein character encoding

Nach kurzer Suche war der Fehler gefunden. Der RedDot CMS Open Text Web Solutions Servers, ...jaha Navigation Manager scheint Sonderzeichen innerhalb einzelner Navigationsitems nicht zu encoden. Die Angaben aus der htmlConvertTable.txt werden ignoriert, komplett.

Ein weiterer RedDot Workaround

Wie Kim Dezen in seinem Artikel empfiehlt, sollte die "Standardzeile":

C#:
  1. <%!! Context:CurrentIndex.Headline !!%>

ersetzt werden durch:

C#:
  1. <%!! Escape:HtmlEncode(Context:CurrentIndex.Page.Headline) !!%>

Soweit so gut, allerdings ist da noch ein kleiner Bug (exklusive Version 9)

Fred hat uns allerdings diesen Spass erstmal verdorben, mit dem Hinweis, dass sobald ein Doppelpunkt (der sieht so aus >> : << ) im Headline-Element vorkommt der Inhalt des Elements nicht ausgegeben wird, stattdessen erhält man: nichts. Zumindest bei Versionen < RedDot CMS 9. Auf unserem Testsystem hier, einem Management Server 9 Build 9.0.0.27 funktioniert es prima.

Workaroundversuch fuer Version 7.5

Der Versuch eines workarounds bei aelteren Versionen ist klaeglich gescheitert:

C#:
  1. <%!! Escape:HtmlEncode(Context:CurrentPage.Elements.GetElement(stf_navtitle).Value.Replace(:, - )) !!%>
  2.   // returns nothing or throws an exception, DON'T USE THIS!

Ergebnis ist ein leeres Feld oder aber ein Fehler.

Vorsicht bei leeren Elementen

Wichtig ist auch, dass man, falls Escape:HtmlEncode genutzt wird um ein Textelement oder Standardtextfeld zu encoden, darauf achten sollte, dass dies in einer Conditional Blockmarkierung steht. Hintergrund ist, dass bei einem leeren Textfeld doppelte Klammern () als Rueckgabewert ausgegeben werden:

C#:
  1. <%!! Escape:HtmlEncode(<%txt_myTextfield%>) !!%>
  2.   // When the value is empty and should return nothing, this returns: ()  !

Falls man also ein Textfeld/Standardfeld innerhalb eines RedDot CMS Templates einer Variable in c#, Visual Basic oder PHP (oder was auch immer..) zuordnen moechte, dann sollte das so aussehen:

C#:
  1. string strMyText="";
  2.   <!IoRangeConditional>strMyText ="<%!! Escape:HtmlEncode(<%txt_myTextfield%>) !!%>";<!/IoRangeConditional>

Soweit so gut, bisher scheinen die Erfahrungen mit der neuen Neun ganz in Ordnung - bis auf den ein oder anderen Makel:

  • Eventuelle Probleme beim Content Class Sharing
  • Telerik Rich Text Editor ist in seiner Funktionalitaet noch nicht ausgereift
  • User koennen in Telerik HTML(sofern Quelltexteditierung erlaubt ist) eingeben, ohne, dass dies Restriktionen unterliegt/gefiltert wird beim abspeichern

Dennoch bin ich froh ueber einen neuen Editor, der doch recht veraltete Editor hat einiges an Problemen verursacht und so ist dies ein weiterer Schritt in Richtung barrierefreie Contenterstellung auf Webseiten mit RedDot CMS "out of the box".

Call for workarounds!

Falls jemand eine Loesung hat fuer die doppelten Klammern, immer her damit! Gleiches gilt fuer Replace innerhalb des HtmlEncodes.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...

2 Reaktionen zu “Character enconding im Navigation Manager (und die neue Version des “Open Text Web Solutions Servers 9″ eigentlich “RedDot CMS 7.6″)”

  1. Uwe

    Sehr hilfreicher Beitrag.

  2. Elmar Jacques

    Unser Texteditor, reddot vers.7.1, zeigt sich auf verschiedenen PC’s nur im html-code. Alle benutzen IE 8.0 oder 7.0., sowie XP oder win7 .
    Was könnte das für Gründe haben. Für die Bemühungen bedanke ich mich.
    Elmar Jacques