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.