Il nuovo backend di gestione dei commenti di BlogEngine.NET 1.6, consente finalmente di modificare in toto ogni singola proprietà di quest’ultimi, oltre che a prevederne l’eventuale inserimento in “black list” o in “white list” sia in base all’autore che all’indirizzo IP di provenienza.
Sfortunatamente, è stata rilavata un’anomalia nel codice della pagina Editor.aspx localizzata nel percorso /admin/comments/ che solleva un’eccezione, simile a quella che potete leggere a seguire:
Url : http://www.cristianofino.net/admin/Comments/Editor.aspx?id=...
Raw Url : /admin/Comments/Editor.aspx?id=...
Message : Valore potenzialmente pericoloso Request.Form rilevato dal client (txtArea="Questo è un commento d...").
Source : System.Web
StackTrace : in System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)
in System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName)
in System.Web.HttpRequest.get_Form()
in System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
in System.Web.UI.Page.DeterminePostBackMode()
in System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
in System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
in System.Web.UI.Page.ProcessRequest()
in System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
in System.Web.UI.Page.ProcessRequest(HttpContext context)
in ASP.admin_comments_editor_aspx.ProcessRequest(HttpContext context)
in System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
in System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
TargetSite : Void ValidateString(System.String, System.String, System.String)
Il problema si presenta principalmente negli hosting ove è stato fatto l’aggiornamento del framework .NET dalla versione 2.0 alla 3.5, ed è fortunatamente di facile soluzione, dato che è sufficiente disattivare la “request validation” nell’header della pagina incriminata.
Per fare questo è sufficiente aprire il già citato file Editor.aspx e sostituire la riga
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Editor.aspx.cs"
Inherits="admin_Comments_Editor" %>
con
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Editor.aspx.cs"
Inherits="admin_Comments_Editor" ValidateRequest="false" %>
La medesima problematica è stata affrontata anche in un thread aperto da Andrea Moro (e risolto da Ben Amada) sul forum ufficiale di Blogengine.NET via Codeplex.
La localizzazione in lingua italiana di BlogEngine.NET 1.6
L’ultima localizzazione nella nostra lingua di BlogEngine.NET risale ad un lavoro fatto dal sottoscritto moltissimi mesi fa e relativo all’allora versione 1.5.08. Sfortunatamente, da allora, il file di risorse in italiano non è stato toccato, nemmeno per aggiungere tutte le nuove etichette in lingua inglese necessarie all’ultima versione.
In questi ultimi giorni, nei ritagli di tempo, ho cercato di “mettere una pezza” a questa mancanza ed ho preparato un file di localizzazione aggiornato che dovrebbe andare a coprire almeno al 99% (o quasi) le traduzioni mancanti, soprattutto per quanto riguarda le nuove funzionalità di backend ed alcuni messaggi di errore.
Ci tengo a sottolineare che, purtroppo, esistono ancora delle sezioni, come ad esempio il backend di gestione delle estensioni o la pagina di ricerca, o ancora la pagina di errore 404, in cui le etichette sono tuttora hardcoded nel codice. In questi casi è necessario provvedere “a manina” con le personalizzazioni necessarie.
Naturalmente potete scaricare il file di risorse labels.it.resx (6,12 kb) aggiornato e copiarlo nella cartella /App_GlobalResources/.
Poichè questo file verrà presto trasmesso al team di BlogEngine.NET per andare ad aggiornare la versione precedente, invito a segnalarmi tempestivamente le eventuali assenze rilevate nella traduzione dei testi.