Atualização para o Blogengine 1.6

30 de abril de 2010 Por Ramon Durães

O BlogEngine é uma plataforma de blogs desenvolvida em .NET e totalmente gratuita. Já faz um bom tempo que utilizo e gosto muito pois pode rodar com SQLServer ou até mesmo comente com arquivos xmls sem a necessidade de ter um banco de dados.

Os layouts são baseados nos conceitos de Themes do ASP.NET que você já deve está acostumado a utilizar então fica fácil a criação de um novo layout para qualquer profissional que esteja já trabalhando com o ASP.NET. A principal novidade implementada nessa versão é um noco controle para gerenciar os comentáriose evitar o abusimo uso de spam nos mesmos.

Como a ferramenta é disponibilizada com o código fonte no CodePlex eu acabo por customizar a minha versão especifica para resolver um problema que tenho nela quando hospedo no meu hosting que é o Godaddy. Eu tenho uma conta Premium de hospedagem onde coloco diversos outros blogs e nessa versão atual ele acaba duplicando a url repetindo o nome da pasta exemplo http://www.meusite.com/meusite.

Para resolver essa questão eu criei esse hotfix em algumas partes do blogengine que atuam nessa url para remover esse problema de duplicidade de nomes da url.

Passos:
01) A primeira coisa foi adicionar uma chave no Web.Config em <appSettings>
<add key="BlogEngine.GoDaddyVirtualPath" value="/ramonduraes/"/>

02) Adicionar um método em Core/Utils.cs
public static string FixURLRewriting(string text)
{string fixurl = text.Replace(ConfigurationManager.AppSettings["BlogEngine.GoDaddyVirtualPath"], "/");
  return fixurl;}

03) Editar arquivos aplicando o hotfix

Post:
Core>Post.cs>RelativeLink,PermaLink

Tags:
Core>Web>Controls>PostViewbase.cs>TagLinks
Web/App_Code/Controls/TagCloud.cs>RenderControl
Web/widgets/Tag cloud/Widget.ascx.cs>LoadWidget

Month
Web/APP_CODE/Controls/MonthList.cs>RenderMonths
Search
Web/APP_CODE/Controls/SearchBbox.cs>BuildHtml

Core/SyndicationGenetation.axd>ConvertPathsToAbsolute
Web/APP_CODE/Controls/AuthorList.cs>BindAuthors

Alterações especificas nos temas:
Web/Themes/Standard/PostView.ascx>"Autor" > Utils.FixURLRewriting(VirtualPathUtility.ToAbsolute("~/"))
<%@ Import Namespace="BlogEngine.Core" %>
(*) Revise todo o arquivo site.master

[],
Ramon Durães