Adding Atlas to dasBlog (almost)
Yeah, I've been playing with themes. Ya wanna make something of it? It's a work in progress so if something looks wonky, let me know.
My current project du jour is to integrate Atlas into dasBlog. Specifically, some of the controls in the Atlas Control Toolkit. Hence my desire to migrate to VS2005. I notice there is already a dasBlog "port" for VS2005 but frankly, that project kind of baffles me. Not sure how they can get away with rebranding it like that and calling it version 1.0 but more power to them if they feel like taking something like that on.
Before I get started, I'll be making claims about dasBlog here based on my limited experimentation. I'm relying on more knowledgeable people to correct me.
I followed the instructions to add Atlas to an existing applications and lo, it compiled! And ran! Next step: add a ScriptManager, which is where I hit my first snag.
I added it to the top of default.aspx before the placeholder and got an error. The ScriptManager needs to exist in a server-side control, usually a <form runat="server">. By putting it in the default.aspx, dasBlog parses it into the <head> tag. You are allowed to put a ScriptManager in a <head> tag but it must have runat="server" in it and it seems you can't do this in dasBlog. The <head> tag is part of the template and adding runat="server" to it does exactly nothing.
Instead, I added it programmatical in the Page_Load event in the SharedBasePage:
ScriptManager manager = new ScriptManager( );
this.Controls.Add( manager );
Re-compile and refresh and success! We have a ScriptManager on the page in the form of a Javascript reference to WebResource.axd. Note that this requires that the Web.Core page have a reference to the Microsoft.Web.Atlas assembly.
Fast-forward a bit. I added a TextBoxWatermark extender to the search textbox. This required fiddling with the Search.ascx control so that it used an ASP.NET TextBox rather than an INPUT but that wasn't too much trouble.
Re-compile and refresh and succe---waitaminute. It loaded with no errors but my watermark was nowhere to be found. I checked the source code and all the pieces were there: the WebResource.axd and the Atlas pageManager with my TextBoxWatermark reference.
To condense a couple of hours of digging, the reference to WebResource.axd was in the HTML but it didn't return anything. The reason for this is that it was being compressed by some component in dasBlog. The fix is to modify the <blowery.web> section of the web.config (additions in red):
<blowery.web>
<httpCompress preferredAlgorithm="gzip" compressionLevel="high">
<excludedMimeTypes>
<add type="image/jpeg"/>
<add type="image/gif"/>
</excludedMimeTypes>
<excludedPaths>
<add path="WebResource.axd" />
</excludedPaths>
</httpCompress>
</blowery.web>
Now, my WebResource.axd is no longer compressed and voila! A nice shiny TextBoxWatermark....
...locally at least. For whatever reason, when I migrated to my server, it complained that the ScriptManager needed to be in a <form runat="server"> tag which I thought it was. So despite all this, that's why you aren't seeing "Enter your search text" in the textbox above.
Hopefully to be fixed soon. When it does, I have a bigger problem because this was the easy part. Adding RoundedCorners (or any extender, for that matter) to the sections in the nav bar, not so much.