gio 21 ago 08

Finalmente disponibile l'estensione per la gestione e modifica dei commenti con BlogEngine.NET

Categorie: BlogEngine.NET · Extensions
Tags: , , , , , ,
Technorati: View blog reactions

English flagEnglish version of this post

user commentUno dei più grandi limiti di BlogEngine.NET (se non l'unico) è rappresentato dall'assenza di un modulo di backend amministrativo per una gestione agevole dei commenti, ivi inclusa la possibilità di apportare modifiche agli stessi. Allo stato dell'arte è possibile (oltre che aggiungere) solo eliminare i commenti o approvarli quando sono in moderazione.

Il pannello amministrativo non presenta nessuna interfaccia di gestione dello storico degli stessi e nè una gestione ad essi dedicati; tale funzionalità era stata prevista nella roadmap di sviluppo con il rilascio della versione 1.4 ma purtroppo poi non è stata implementata.

Personalmente ho sempre considerato incomprensibile questa assenza, ma avendo inizialmente un basso flusso di commenti in ingresso, non l'ho mai giudicata limitativa. Adesso, invece, con uno storico di oltre 1150 commenti in attivo ed un ragionevole incremento giornaliero degli stessi, la funzionalità descritta è divenuta indispensabile.

In attesa del backend definitivo, ho deciso di implementare io stesso un sistema di gestione che sia semplice e funzionale al tempo stesso e che non comporti modifiche che costringano ad una ricompilazione del core dell'engine.

Tramite l'estensione implementata è possibile:

  • disporre di una comodo pannello amministrativo che elenca in ordine cronologico inverso (ovvero dal più recente al più datato) tutti i commenti inseriti: questi vengono correttamente renderizzati anche in presenza di eventuali estensioni che ne modifichino l'aspetto.
  • modificare, approvare o eliminare ciascun commento rispettando le policy associate all'utente autenticato: gli amministratori possono modificare tutti i commenti, gli editor solo i commenti agli articoli che hanno inserito.
  • modificare ciascun commento direttamente dalla pagina contenente l'articolo pubblicato sul blog.

Installazione

Scaricare Comment Manager (7,49 kb) (ver. 1.0.1), quindi:

  1. Decomprimere i file.
  2. Copiare i file Comments.aspx, Comments.aspx.cs, CommentView.ascx e Web.Config (sovrascrivendo l'esistente) nella cartella /Admin/Pages/
  3. Copiare il file Web.Sitemap (sovrascrivendo l'esistente) nella root che ospita il blog

Se non si desidera sovrascrivere i file di configurazione Web.Sitemap e Web.Config con quelli forniti perchè sono state effettuate delle personalizzazioni sugli stessi, è necessario provvedere al loro aggiornamento in maniera manuale.

Aprire il file Web.Config contenuto nella cartella /Admin/Pages/ ed aggiungere all'interno del nodo <configuration> ... </configuration>

<location path="Comments.aspx">
    <system.web>
      <authorization>
        <allow roles="administrators, editors"/>
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

Aprire il file Web.Sitemap contenuto nella root che ospita il blog ed aggiungere all'interno del nodo <siteMapNode url="default.aspx" ... > ... </siteMapNode>

<siteMapNode url="~/admin/Pages/Comments.aspx" title="comments"  description=""  roles="administrators, editors"/>

Configurazione

L'estensione è completamente plug and play ed è immediatamente funzionante. Una volta copiati i file, nel Pannello di Controllo sarà presente il menù Commenti dedicato alla gestione degli stessi.

Se si desidera aggiungere un comando per la modifica di ciascun commento direttamente dalla pagina in cui esso è pubblicato, è necessario:

  • aprire il file CommentView.ascx contenuto nella cartella del tema utilizzato
  • inserire subito al di sotto della riga

    <%@ Control Language="C#" EnableViewState="False" Inherits="BlogEngine.Core.Web.Controls.CommentViewBase" %>
    la riga di codice:

    <%@ Import Namespace="BlogEngine.Core" %>
  • inserire subito dopo il codice <%= AdminLinks %>

    <% if (Page.User.Identity.IsAuthenticated) { %>
        | <a href="<%=Utils.RelativeWebRoot %>admin/pages/comments.aspx?id=<%=Comment.Id %>"><%=Resources.labels.edit %></a>
    <% } %>

Il link, ovviamente, verrà mostrato solo agli utenti autenticati e non ai visitatori anonimi.

Personalizzazione

E' possibile modificare l'aspetto del preview dei commenti nel pannello amministrativo modificando opportunamente il file CommentView.ascx contenuto nella cartella /Admin/Pages/.

L'estensione è stata testata con successo sulle versioni di BlogEngine.NET a partire dalla 1.4 in poi.

Finally released Comment Manager extension for BlogEngine.NET

user commentI’m really pleased to announce that has been released an extension to editing ed managing comments on BlogEngine.NET.

This extension is fully plug and play and it's not required any changes to core.

Now we can:

  • managing comments from Control Panel: editing, approving and erasing are allowed. Administrators can manage all comments, Editors only the comments of their post. The comments are shown in reverse chronological order through paging.
  • editing comment directly from the post on.
  • customize the preview of the comment shown in the list.

Installation

Download Comment Manager (7,49 kb) (ver. 1.0.1), then:

  1. Extract files.
  2. Copy Comments.aspx, Comments.aspx.cs, CommentView.ascx and Web.Config (overwriting the existing file) into /Admin/Pages/ folder
  3. Copy Web.Sitemap (overwriting the existing file) in the blog's root

If you want to manually configure the files Web.Sitemap e Web.Config and not overwrite them with those provided, proceed as follows.

Open (with your preferred editor) Web.Config located in /Admin/Pages/ folder, then insert inside the node <configuration> ... </configuration>, this code

<location path="Comments.aspx">
    <system.web>
      <authorization>
        <allow roles="administrators, editors"/>
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

Open (with your preferred editor) Web.Sitemap located in your blog's root, then insert inside the node <siteMapNode url="default.aspx" ...> ... </siteMapNode>, this code

<siteMapNode url="~/admin/Pages/Comments.aspx" title="comments"  description=""  roles="administrators, editors"/>

Configuration

After installation you can view a new tab named Comments in the Control Panel

If you want to add a command for editing each comment directly from the page in which it is published, you must:

  • open (with your preferred editor) CommentView.ascx located in your theme folder 
  • locate the first line of code:

    <%@ Control Language="C#" EnableViewState="False" Inherits="BlogEngine.Core.Web.Controls.CommentViewBase" %>
    and insert immediately after:

    <%@ Import Namespace="BlogEngine.Core" %>
  • then, insert immediately after the code <%= AdminLinks %>

    <% if (Page.User.Identity.IsAuthenticated) { %>
        | <a href="<%=Utils.RelativeWebRoot %>admin/pages/comments.aspx?id=<%=Comment.Id %>"><%=Resources.labels.edit %></a>
    <% } %>

The link, of course, will be shown only to authenticated users and not to anonymous visitors.

Customization

You can change the appearance of preview of comments displayed in the control panel modifying the file CommentView.ascx contained in the /Admin/Pages/ folder.

This extension has been tested successfully on BlogEngine.NET from version 1.4 onwards.

P.S.: I'm sorry for my poor english


Commenti

01.
Inviato il 21 ago 2008 alle 16.02 da Mads Kristensen
Mads Kristensen
That's awesome. A lot of people have requested this feature. Thumbs up!

02.
Inviato il 21 ago 2008 alle 17.46 da Al Nyveldt
Al Nyveldt
Very cool.  I hope I get a chance to try it out soon.
<< | < | > | >> | Rispondi | Quota

03.
Inviato il 21 ago 2008 alle 18.56 da ck
ck
Very nice.  I'll try it out soon.  Can you detail what changes you've made to the web.config and sitemap file?  Don't want to just copy your changes over any that I've made.
<< | < | > | >> | Rispondi | Quota

04.
Inviato il 21 ago 2008 alle 23.25 da Cristiano
Cristiano
@ Mads Kristensen:
Thank you very much Wink

@ Al Nyveldt:
Waiting for your opinion, my friend :-D

@ ck:
I have been updated the post with the information you need Wink
<< | < | > | >> | Rispondi | Quota

05.
Inviato il 22 ago 2008 alle 22.34 da Seo in Abruzzo
Seo in Abruzzo
Complimenti. Non appena però qualcuno si inizia a degnare di lasciare commenti anche a me, mi preoccuperò di installarlo.
Al momento è un mare piatto che piùpiatto non si può il mio blog.
<< | < | > | >> | Rispondi | Quota

06.
Inviato il 22 ago 2008 alle 22.54 da Cristiano
Cristiano
Seo in Abruzzo ha scritto:
Non appena però qualcuno si inizia a degnare di lasciare commenti anche a me, mi preoccuperò di installarlo.
Devi avere fiducia: i contenuti sono interessanti e i risultati si valuteranno sul lungo periodo Wink
<< | < | > | >> | Rispondi | Quota

07.
Inviato il 27 ago 2008 alle 11.55 da Sanghino
Sanghino
Ottimo e abbondante come sempre.
Sto testando in locale la versione 1.4.5 per il mio blog (quello calcistico), appena posso installo il plug-in e ti darò feedback ....
Ciao
<< | < | > | >> | Rispondi | Quota

08.
Inviato il 27 ago 2008 alle 12.02 da Sanghino
Sanghino
Seo in Abruzzo ha scritto:
Complimenti. Non appena però qualcuno si inizia a degnare di lasciare commenti anche a me, mi preoccuperò di installarlo.
Al momento è un mare piatto che più piatto non si può il mio blog.


Il mio contributo alla tua causa l'ho appena dato, spero di ripetermi con frequenza.
Un saluto
<< | < | > | >> | Rispondi | Quota

09.
Inviato il 27 ago 2008 alle 12.52 da Sanghino
Sanghino
Eccomi di nuovo qua.
Ho provato l'estensione e mi sembra utile e funzionale, ovviamente la si apprezza molto di più quando si ha un elevato numero di commenti, ma installarla lo stesso male non fa (si sa mai possa essere di buon auspicio per aumentare il numero di commenti nel proprio blog ...;)

Però questa volta debbo farti un appunto Cristiano (eheheh !!! ovviamente scherzo) nello zip non c'è il file "web.sitemap" a cui fai riferimento nel setup .... ovviamente niente di che, basta fare la modifica manualmente ....

Spero di essere stato utile a te ed agli altri della "BE Users Family".

Ciao

PS Il qui presente tuo utente (in questo caso utonto) ha usato due nomi diversi per commentare, adesso mi trovo "sdoppiato" nella classifica top20 ....
<< | < | > | >> | Rispondi | Quota

10.
Inviato il 27 ago 2008 alle 13.14 da Cristiano
Cristiano
Sanghino ha scritto:
Però questa volta debbo farti un appunto Cristiano (eheheh !!! ovviamente scherzo) nello zip non c'è il file "web.sitemap" a cui fai riferimento nel setup .... ovviamente niente di che, basta fare la modifica manualmente ....
C'è, eccome, Smile
Ho registrato nell'archivio compresso la stessa gerarchia di cartelle di un'installazione tipica di BlogEngine.NET, proprio per evitare che i file venissero copiati (nonostante le indicazioni) in cartelle differenti.
Se apri il file commentmanager.zip con 7-zip (o equivalente), lo trovi nella root subito al di sotto della cartella /admin/.  

Sanghino ha scritto:
PS Il qui presente tuo utente (in questo caso utonto) ha usato due nomi diversi per commentare, adesso mi trovo "sdoppiato" nella classifica top20 ....
Non sei l'unico ad avere commesso l'errore Wink
Approfittando della "neonata" gestione commenti, cercherò di porre dove possibile, riparo alla svista :-P
<< | < | > | >> | Rispondi | Quota

11.
Inviato il 27 ago 2008 alle 14.46 da Sanghino
Sanghino
@ Cristiano:

Ovviamente hai ragione tu e chiedo umilmente venia ..... (il mio processo di switch-on post-vacanze non è ancora completo del tutto evidentemente: come dicevo ad un mio amico alcuni giorni fa, con il corpo sono davanti al pc, con lo spirito ancora in vacanza, con la mente .... proprio non so!)

Ho visto "l'unificazione" dei commenti ... così non occupo un posto di troppo lasciando anche ad altri l'onore di essere rammentati.
<< | < | > | >> | Rispondi | Quota

12.
Inviato il 27 ago 2008 alle 23.33 da Ugur CELENK
Ugur CELENK
Hi, nice extension. thanks.
(Firstly, i can't speak english very well)

<% if (Page.User.Identity.IsAuthenticated) { %>
    | <a href="../admin/pages/comments.aspx?id=<%=Comment.Id %>"><%=Resources.labels.edit %></a>
<% } %>


If post's link contains date, this path ("../admin/pages/comm.....") is redirect error page.
For example:
Post link -->  http://www.ugurcelenk.com/post/" rel="nofollow">http://www.ugurcelenk.com/post/2008/08/27/Demo.aspx
Comment link(edit) --> http://www.ugurcelenk.com/post/" rel="nofollow">http://www.ugurcelenk.com/post/2008/08/admin/pages/comments.aspx..
(I put the full path)

Turkish version of your post --> http://www.ugurcelenk.com/post/" rel="nofollow">http://www.ugurcelenk.com/post/2008/08/27/Yorum-Yonetimi-Eklentisi-BlogEngine-NET.aspx

thanks again ;)
<< | < | > | >> | Rispondi | Quota

13.
Inviato il 28 ago 2008 alle 10.02 da Cristiano
Cristiano
@ Ugur CELENK:
You have found a bug! Smile
I just updated the post with the correct code.
Now it work fine also if post's link contains date Wink

Many tanks for your contribution and your turkish's translation of my post :-D
<< | < | > | >> | Rispondi | Quota

14.
Inviato il 28 ago 2008 alle 13.57 da Ugur CELENK
Ugur CELENK
Thanks for this nice extension again ;)
<< | < | > | >> | Rispondi | Quota

15.
Inviato il 01 set 2008 alle 02.38 da ck
ck
I've installed your extension on my site.  Works well. Though I have an issue and a potential suggested change.
1. I installed it so I could edit it from the actual post page.  The resulting edit URL looks like this:
http://www.example.com/post/2008/08/29/=
Which is obviously wrong.
2. I think it would be nice if the comments were in a big grid that allowed me to see more, easier.  

Overall though, very good job.
<< | < | > | >> | Rispondi | Quota

16.
Inviato il 06 set 2008 alle 23.30 da Alessandro Tobaldo
Alessandro Tobaldo
Grandissimo lavoro Cristiano ! Sto testando in locale la nuova versione 1.4.5 e presto la portero' online.
GRAZIE !
<< | < | > | >> | Rispondi | Quota

17.
Inviato il 07 set 2008 alle 15.48 da Cristiano
Cristiano
@ ck:
It's very strange!
You have updated the code after the alert made by Ugur CELENK ?
Now it work fine also if post's link contains date (as in your example).
Keep updated ...

@ Alessandro Tobaldo:
Grazie, adesso la piattaforma è sostanzialmente completa Smile
<< | < | > | >> | Rispondi | Quota

18.
Inviato il 10 set 2008 alle 00.37 da ck
ck
I'll download again to make sure, but I am pretty sure I had the latest.  Will let you know soon.

Would be nice if you'd change it to let me 'uncheck' notification emails from certain people.  So they don't get notified of new replies.
<< | < | > | >> | Rispondi | Quota

19.
Inviato il 10 set 2008 alle 01.14 da ck
ck
Same issue.
<< | < | > | >> | Rispondi | Quota

20.
Inviato il 10 set 2008 alle 09.19 da Cristiano
Cristiano
@ ck:
AAARGHH! I found the problem!
Sorry, but ONLY in the english version of post, the code to be inserted in Commentview.ascx (of used theme) is wrong !

This is the correct code:
<% if (Page.User.Identity.IsAuthenticated) { %>
| <a href="<%=Utils.RelativeWebRoot %>admin/pages/comments.aspx?id=<%=Comment.Id %>"><%=Resources.labels.edit %></a>
<% } %>

and don't forget to insert the line
<%@ Import Namespace="BlogEngine.Core" %>

at the top of Commentview.ascx. Wink

I'm sorry for the inconvenience. I also corrected the post in English Smile

ck wrote:
Would be nice if you'd change it to let me 'uncheck' notification emails from certain people. So they don't get notified of new replies.
The notification email list is  not saved in the comment object , but in post object.
However, it is a good idea! I will be working on this Wink
<< | < | > | >> | Rispondi | Quota

21.
Inviato il 10 set 2008 alle 14.51 da Luciano Blancato
Luciano Blancato
bene! ci voleva proprio!

a presto

Lu
<< | < | > | >> | Rispondi | Quota

22.
Inviato il 14 set 2008 alle 00.10 da ck
ck
Thanks.  All is good now.

If I would have taken 30 seconds to look at the code I would have saved both of us time.
<< | < | > | >> | Rispondi | Quota

23.
Inviato il 06 ott 2008 alle 13.36 da Rory Primrose
Rory Primrose
That is way cool!
<< | < | > | >> | Rispondi | Quota

24.
Inviato il 30 ott 2008 alle 21.16 da Seo in Abruzzo
Seo in Abruzzo
Un sentito grazie per questa stupenda estensione. Mi ero ripromesso di installarla alla prima occasione e stasera si è verificata.
Effettivamente non poter toccare i commenti era veramente brutto.

Aggiusterei però il layout della pagina commenti, i campi nome, sito web, e nazione sono fuori posto.
<< | < | > | >> | Rispondi | Quota

25.
Inviato il 31 ott 2008 alle 08.53 da Cristiano
Cristiano
Seo in Abruzzo ha scritto:
Aggiusterei però il layout della pagina commenti, i campi nome, sito web, e nazione sono fuori posto.
Io li vedo perfettamente allineati e ho fatto le prove con Internet Explorer, FireFox, Opera e Safari.
A quale pagina ti riferisci ?
<< | < | > | >> | Rispondi | Quota

26.
Inviato il 01 nov 2008 alle 19.24 da Seo in Abruzzo
Seo in Abruzzo
Cristiano ha scritto:
A quale pagina ti riferisci ?[/cite]

Firefox su Mac (credo che poco conti questo) e comment.ascx nella parte amministrativa.
<< | < | > | >> | Rispondi | Quota

27.
Inviato il 23 apr 2009 alle 12.52 da Marco
Marco
Volevo sapere se questa estensione è valida anche per l'ultima versione o meglio utilizzare waegis?
Grazie
<< | < | > | >> | Rispondi | Quota

28.
Inviato il 23 apr 2009 alle 22.32 da Cristiano
Cristiano
@ Marco:
E' compatibile con BlogEngine.NEt 1.5 ma, naturalmente, non mostra i commenti nidificati perchè sono caratteristici di quest'ultima versione.
Il dettaglio è solo in fase di visualizzazione: infatti è possibile modificare i commenti a prescidere.

Waegis è un'estensione che fa da filtro anti-spam: non permette l'editing dei commenti. Forse ti riferisci a Commentor di Ruslan Tur: in tal caso ti confermo la compatibilità anche dell'ottima estensione dell'amico Ruslan.
<< | < | > | >> | Rispondi | Quota

29.
Inviato il 23 apr 2009 alle 22.36 da Marco
Marco
Grazie Gentilissimo , si intentevo Commentor di Ruslan Tur Smile
<< | < | > | >> | Rispondi | Quota

30.
Inviato il 23 apr 2009 alle 23.00 da Marco
Marco
Scusami ultima domanda, è possibile azzerare le "statistiche" dei commenti bloccati e attivati? Grazie mille
<< | < | > | >> | Rispondi | Quota

31.
Inviato il 23 apr 2009 alle 23.09 da Cristiano
Cristiano
@ Marco:
Certamente. Dai uno sguardo a questo articolo di Ruslan:
rtur.net/.../Commentor-e28093-new-version.aspx

Oppure modifica a mano (e poi sovrascrivi) il file Commentor.xml nella cartella /App_data/datastore/estensions/
<< | < | > | >> | Rispondi | Quota

32.
Inviato il 24 apr 2009 alle 09.21 da Marco
Marco
In effeti l'avevo sotto gli occhi, domanda: come mai mi mette in automatico un commento come "spam"?
Grazie

Aggiungi commento


(Visualizza la tua icona Gravatar)

biucitecode
  • Commento
  • Anteprima
Loading