Fehlermeldungen die sehr selten auftreten und sich auf den ersten Blick nicht erklären lassen – können einen echt Wahnsinning machen. Wenn man dann zu einem späteren Zeitpunkt den Auslöser entdeckt, ist die Freude umso größer :)
1. Gebot des selbstlosen Programmierens:
Verstehe und akzeptierte, dass du Fehler machst. Fehler macht jeder – das anzunehmen ist der erste Schritt dazu, Fehler frühzeitig zu erkennen. (IT-Professor Frank Bush)
Reddot.CMS.Rendering.Spots.SpotProcessor.ProcessSpot (:0) Locals: Project: {GUID}; ProjectVariant: {GUID}; Language(Page): {GUID}; Page(ID/UUID): {ID}; ContentClass: {GUID}; RenderMode: Publish; RequestId: {ID}; SpotProcessor.ProcessSpot:System.Xml.XmlException: An error occurred while parsing EntityName. Line 5, position 21. at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.ParseEntityName() at System.Xml.XmlTextReaderImpl.ParseEntityReference() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace) at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) at System.Xml.XmlDocument.Load(XmlReader reader) at OpenText.WS.MS.Core.Extensions.XmlDocumentExtension.LoadXml(XmlDocument xmlDocument, String xml, Boolean considerNamespaces) at OpenText.WS.MS.Cache.Xml.XmlCache.GetXmlDocument(String content, CacheItemPriority priority) at Reddot.CMS.Rendering.Spots.XmlSpot.Render(String spotContent, IRenderStream output, IObjectLoadManager objectLoadManager, IPageRenderingContext context, ITagProcessor tagProcessor, TagTools toolsInstance) at Reddot.CMS.Rendering.Spots.XmlSpot.Render(String spotContent, IRenderStream output, IObjectLoadManager objectLoadManager, IPageRenderingContext context) at Reddot.CMS.Rendering.Spots.SpotProcessor.ProcessSpot(String content, SpotTag spotTag, IRenderStream outputStream)
Es wurde kein <htmltext>...</htmltext> bzw. <xmltext>...</xmltext> um die Ausgabe geschrieben:
<reddot:cms> <if> <query valuea="Context:CurrentRenderMode" operator="==" valueb="Int:2"><script type="text/javascript"> var getUrlParameterValue = function(name) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec( window.location.href ); if (results == null) { return ""; } else { return results[1]; } } var includeFAFCheck = function() { if (typeof getUrlParameterValue === "function") { var parameter = ""; var valueParameter = escape(getUrlParameterValue("h")); if(valueParameter !== "") { parameter = "?h=" + valueParameter; } var newSource = "<%stdServer%><%stdEndPoint%>" + parameter; document.write("<sc"+"ri"+"pt type=\"text/javascript\""+"src=\""+newSource+"\"><"+"/sc"+"rip"+"t>"); } } includeFAFCheck(); </script><noscript> <b>Bitte aktivieren Sie Javascript und Cookies in Ihrem Browser</b> </noscript> </query> </if> </reddot:cms>
Einfach um die entsprechende Ausgabe in einen <htmltext>...</htmltext> bzw. <xmltext>...</xmltext> einbetten.
<reddot:cms> <if> <query valuea="Context:CurrentRenderMode" operator="==" valueb="Int:2"> <htmltext> <script type="text/javascript"> var getUrlParameterValue = function(name) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec( window.location.href ); if (results == null) { return ""; } else { return results[1]; } } var includeFAFCheck = function() { if (typeof getUrlParameterValue === "function") { var parameter = ""; var valueParameter = escape(getUrlParameterValue("h")); if(valueParameter !== "") { parameter = "?h=" + valueParameter; } var newSource = "<%stdServer%><%stdEndPoint%>" + parameter; document.write("<sc"+"ri"+"pt type=\"text/javascript\""+"src=\""+newSource+"\"><"+"/sc"+"rip"+"t>"); } } includeFAFCheck(); </script><noscript> <b>Bitte aktivieren Sie Javascript und Cookies in Ihrem Browser</b> </noscript> </htmltext> </query> </if> </reddot:cms>
... ist Senior Site Reliability Engineer bei der Vodafone GmbH in Düsseldorf. Seit dem Jahr 2007 betreut er zusammen mit seinen Kollegen die OpenText- (vormals RedDot-) Plattform Web Site Management für die deutsche Konzernzentrale.
Er entwickelt Erweiterungen in Form von Plug-Ins und PowerShell Skripten. Seit den Anfängen in 2001 (RedDot CMS 4.0) kennt er sich speziell mit der Arbeitweise und den Funktionen des Management Server aus.