Friday, August 29, 2008

Fail on First Try of Internet Explorer 8 Beta 2 Web Slices

I do multiple updates of OakLeaf LINQ and Entity Framework Posts for M/D/YYYY, so I thought it would be useful to notify users of new and updated content for a particular post with Web Slices, a new feature of IE 8.

Updated 8/31/2008: Problem description clarified.

For Starters …

I read MSDN’s Subscribing to Content with Web Slices documentation, downloaded the Web Slice Templates for Internet Explorer 8 Beta 2, and added the following slightly modified CSS to my Blogger template: 

/* Web Slices Formatting CSS */
.panel
{
  display: table-cell; /* Organize as table */
  font-family: calibri; /* Readable font family */
  font-size: 11pt; /* Recommended font size */
  height: 228px; /* Height(240) - Margin(6) - Margin(6) */
  text-align: left; /* Left Alignment*/
  width: 348px; /* Width(360) - Margin(6) - Margin(6) */
}
.entry-title
{
  font-size: 14pt; /* Easily visible size */
  text-align: left; /* Left alignment*/
  font-weight: bold; 
  vertical-align: top; /* Keeps title near top of slice */
}

and used Windows Live Writer in Source view to add the following HTML to my page:

<div style="width: 360px" id="oakleaf" class="hslice">
  <div class="entry-content">
    <div style="border-spacing: 8px; display: table">
      <div style="display: table-row">
        <div class="panel">
          <div class="entry-title">OakLeaf LINQ and Entity Framework Links</div>
          <div>
            <p><strong>Last Updated:</strong> 8/28/2008 4:45 PM PDT</p>
            <ul>
              <li>Entity Framework Additions </li>
              <li>SQL Server Data Services Additions/Updates </li>
              <li>ASP.NET Dynamic Data Additions </li>
              <li>LINQ to SQL Additions </li>
              <li>LINQ to Objects, XML, etc. Additions </li>
              <li>Miscellaneous Additions 
                <ul>
                  <li>Jaiku Failure with Google App Engine Deployment </li>
                  <li>Aaron Skonnard: Hosting WCF Web Services in IIS </li>
                </ul>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

Here’s the resulting Web Slice in the page, which appeared as expected:

So I clicked Add to subscribe to the Web Slice, which added a Blogger OakLeaf … button to the Favorites toolbar.

The Problem …

Clicking the button opened an empty frame with brief appearance of a “Loading …” message and no content.

Clicking the Open the Web Page link button (right-arrow) returned an “Internet Explorer cannot display this feed” message with “A normalization error has occurred” subtitle. The URL that 404’s is http://oakleafblog.blogspot.com/#oakleaf. Repeating the process with http://oakleafblog.blogspot.com/2008/08/linq-and-entity-framework-posts-for_26.html#oakleaf as the URL causes the same problem.

Comment: “A normalization error has occurred” without further explanation or pointer to a page with a solution for the problem is another example of an Error Message from Hell.

The FeedValidator site says the Atom.xml file is OK, as shown here:

 

Atom.xml opens as expected in IE 8 Beta 2 and Firefox 3, as well as Visual Studio 2008’s XML Editor. Firefox has no problem with opening pages to the two pages with the …/#oakleaf anchor and positioning at the Web Slice’s location.

So the question is: Where did I go wrong?

Update 8/31/2008: The problem appears to be related to IE 8 Beta 2’s reaction to the URL’s /# separator for positioning to a <div id=”oakleaf”> or <a name=”oakleaf”> anchor as in http://oakleafblog.blogspot.com/#oakleaf. The separator should not include /, but IE 8 inserts the / if #name is typed directly after the base URL. This URL works from the address text box in IE 8 Beta 2 and Firefox 3, but not from the OakLeaf LINQ and Entit… Web Slice dropdown in the favorites toolbar.

It does not suffix a / to a named page, such as http://oakleafblog.blogspot.com/2008/08/linq-and-entity-framework-posts-for_26.html#oakleaf. The latter URL works from the address box in IE 8 and Firefox 3, but not from the OakLeaf LINQ and Entit… Web Slice dropdown in the favorites toolbar.

0 comments: