97739D1657D74BB9968DE96A219D209C
  • Internet
  • 17.12.2019
  • EN

Keith Bloom's Blog: Viewing PreExecute script errors in RedDot CMS

One problem I have always encountered with RedDot is debugging the pre-executed script blocks.  Fortunately Gavin Cope came up with this superb solution which also has the benefit of moving the pre-executed files out of the main RedDot folder.
 

Modifications

I have added to Gavin’s work by:

  1. Writing the error to a HTML file so it can be viewed easily in the browser
  2. Adding a page with a list of all the error files in the logs folder

To create a HTML file for the error change the call to WriteToFile with the code below. Note, I have also changed the path for the PreExecute folder.

WriteToFile "C:\Websites\PreExecute\Logs\PreExecuteErrors_" & Year(Now) & Month(Now) & Day(Now) & _
            ".html", " Date/Time: " & Now() & "<br />" & _
            " ASP Code: " & objASPError.ASPCode & "<br />" & _
            "ASP Description: " & objASPError.Description & "<br />" & _
            " Category: " & objASPError.Category & "<br />" & _
            " Column: " & objASPError.Column & "<br />" & _
            " Description: " & objASPError.Description & "<br />" & _
            " File: " & objASPError.File & "<br />" & _
            " Line: " & objASPError.Line & "<br />" & _
            " Number: " & objASPError.Number & "<br />" & _
            " Source: " & objASPError.Source & "<br />" & _
            "############################################################" & "<br />", True

For the list of errors create a new file in the PreExecute folder called ErrorList.asp and paste in the following script:

<%
sDirectory = "/CMS/PreExecute/Logs/"
sPath = Server.MapPath(sDirectory)
 
Set fso = CreateObject("Scripting.FileSystemObject")
Set currentFolder = fso.GetFolder(sPath)
Set fileList = currentFolder.Files
%>
<html>
  <head>
    <title>RedDot : PreExecuteErrors</title>
  </head>
  <body>
    <h1>List of files</h1>
    <ul>
      <% For Each file in fileList %>
      <li><a href="<%= sDirectory & file.Name %>"><%= file.Name %></a></li>
      <% Next %>
    </ul>
  </body>
</html>
<%
Set fileList = Nothing
Set currentFolder = Nothing
Set fso = Nothing
%>

Again, thanks to Gavin for a great bit of lateral thinking which make template development much simpler.

Now if someone can create a plug-in so we can create templates in something other than a web browser, that would be superb.