As you know, the Ultimate DNN Blog Module - SunBlogNuke v4.0 will be available to download for free upgrade. In this building we took more attentions on "Refactor". With refactor you will be able to extend more features easily. However, if you would like to upgrade it and also you ever developed any customized theme or did some customizations, you MUST back up your customized themes before upgrade and when upgrade done you need modify all view files lightly, including BasicView.ascx, DetailView.ascx, CommentView.ascx, TagsView.ascx, SearchView.ascx, and PrintView.ascx. Otherwise the "Event Viewer" of your dnn website will be filled with lots of errors, like "Could not load type 'SunBlogNuke.Framework.PostViewBase'.". Actually that task will be so easy that just follow some steps below:

  1. Find out your customized theme folder which should be placed in the $YourRoot/DesktopModules/SunBlog/Themes/YourCustimizedTheme/.
  2. Open up the BasicView.ascx, find the first line declaration and modify it like that:

    Original:

    <%@ Control Language="vb" AutoEventWireup="false" EnableViewState="false" Inherits="DnnSun.SunBlogNuke.Framework.PostViewBase" %>

    or

    <%@ Control Language="vb" AutoEventWireup="false" EnableViewState="false" Inherits="DnnSun.SunBlogNuke.UI.PostViewBase" %>

    Modified:

    <%@ Control Language="vb" AutoEventWireup="false" EnableViewState="false" Inherits="SunBlogNuke.UI.PostViewBase" %>
  3. Like the step 2), check out whether there is declaration about Toolkit. If exists, modify it like that:

    Original:

    <%@ Register TagPrefix="toolkit" Namespace="DnnSun.WebControls.Toolkit" Assembly="DnnSun.Modules.SunBlogNuke" %>

    or

    <%@ Register TagPrefix="toolkit" Namespace="DnnSun.WebControls.Toolkit" Assembly="SunBlogNuke.Core" %>

    Modified:

    <%@ Register TagPrefix="toolkit" Namespace="SunBlogNuke.Toolkit.WebControls" Assembly="SunBlogNuke.Core" %>

The same process applied for the other view files. And there are some additional steps as follows:

  1. Open up the view file 'DetailView.ascx', find out the two lines and modify it like that:

    Original:

    <asp:Literal ID="Header" runat="server" EnableViewState="false"/>

    Modified:

    <%=Entry.HeaderSnippet%>

    And

    Original

    <asp:Literal ID="Footer" runat="server" EnableViewState="false"/>

    Modified:

    <%=Entry.FooterSnippet%>
  2. (Optional) Replace all the methods marked as "LocalizationBy" with "LocalizeBy" because the original method "LocalizationBy" has been deprecated.
  3. (Optional) Check out the business class in SunBlog module definition and it should be "SunBlogNuke.Business.InterfaceController, SunBlogNuke.Core". You go to the module definition page from host menu. Click the "SunBlog" to the module definition manage panel to complete this step.
  4. (Optional) Open up the web.config, find out metaweblog handler and make sure it should be like that:
    <add verb="*" path="MetaWeblog.aspx" type="SunBlogNuke.MetaWeblogAPI.MetaWeblog, SunBlogNuke.Core" validate="false" />

In the modify theme view process, please refer to the default themes or send us a note if you are confusing about some issues.

Plus, I would like to share you that we have enhanced the theme architecture with new flexible workflow from v4.0. Now there is a default theme named "_default" and it should not modified anytime and anywhere. If the blog engine can't find any view file from target theme folder, it will retrieve the default view from the "_default" theme, in other words, it is not essential that you must include the multiple view files which was just copied and you didn't customize it anywhere. For example, when upgrade done, you can delete the possible multiple view files in your customized theme folder, like TagsView.ascx, SearchView.ascx, and PrintView.ascx. It will make your folder clean.