21 agosto 2008  33

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

BlogEngine.NET / Extensions 

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

Esprimi il tuo giudizio

Commenti (33) -

Mads Kristensen
Mads Kristensen
21 ago 2008 alle 16:02  01
That's awesome. A lot of people have requested this feature. Thumbs up!
Al Nyveldt
Al Nyveldt
21 ago 2008 alle 17:46  02
Very cool.  I hope I get a chance to try it out soon.
ck
ck
21 ago 2008 alle 18:56  03
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.
Cristiano
Cristiano
21 ago 2008 alle 23:25  04
@ 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
Seo in Abruzzo
Seo in Abruzzo
22 ago 2008 alle 22:34  05
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.
Cristiano
Cristiano
22 ago 2008 alle 22:54  06
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
Sanghino
Sanghino
27 ago 2008 alle 11:55  07
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
Sanghino
Sanghino
27 ago 2008 alle 12:02  08
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
Sanghino
Sanghino
27 ago 2008 alle 12:52  09
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 ....
Cristiano
Cristiano
27 ago 2008 alle 13:14  10
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
Sanghino
Sanghino
27 ago 2008 alle 14:46  11
@ 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.
Ugur CELENK
Ugur CELENK
27 ago 2008 alle 23:33  12
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/2008/08/27/Demo.aspx
Comment link(edit) --> http://www.ugurcelenk.com/post/2008/08/admin/pages/comments.aspx..
(I put the full path)

Turkish version of your post --> www.ugurcelenk.com/.../...tisi-BlogEngine-NET.aspx

thanks again ;)
Cristiano
Cristiano
28 ago 2008 alle 10:02  13
@ 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
Ugur CELENK
Ugur CELENK
28 ago 2008 alle 13:57  14
Thanks for this nice extension again ;)
ck
ck
01 set 2008 alle 02:38  15
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.
Alessandro Tobaldo
Alessandro Tobaldo
06 set 2008 alle 23:30  16
Grandissimo lavoro Cristiano ! Sto testando in locale la nuova versione 1.4.5 e presto la portero' online.
GRAZIE !
Cristiano
Cristiano
07 set 2008 alle 15:48  17
@ 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
ck
ck
10 set 2008 alle 00:37  18
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.
ck
ck
10 set 2008 alle 01:14  19
Same issue.
Cristiano
Cristiano
10 set 2008 alle 09:19  20
@ 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
Luciano Blancato
Luciano Blancato
10 set 2008 alle 14:51  21
bene! ci voleva proprio!

a presto

Lu
ck
ck
14 set 2008 alle 00:10  22
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.
Rory Primrose
Rory Primrose
06 ott 2008 alle 13:36  23
That is way cool!
Seo in Abruzzo
Seo in Abruzzo
30 ott 2008 alle 21:16  24
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.
Cristiano
Cristiano
31 ott 2008 alle 08:53  25
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 ?
Seo in Abruzzo
Seo in Abruzzo
01 nov 2008 alle 19:24  26
Cristiano ha scritto:
A quale pagina ti riferisci ?[/cite]

Firefox su Mac (credo che poco conti questo) e comment.ascx nella parte amministrativa.
Marco
Marco
23 apr 2009 alle 12:52  27
Volevo sapere se questa estensione è valida anche per l'ultima versione o meglio utilizzare waegis?
Grazie
Cristiano
Cristiano
23 apr 2009 alle 22:32  28
@ 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.
Marco
Marco
23 apr 2009 alle 22:36  29
Grazie Gentilissimo , si intentevo Commentor di Ruslan Tur Smile
Marco
Marco
23 apr 2009 alle 23:00  30
Scusami ultima domanda, è possibile azzerare le "statistiche" dei commenti bloccati e attivati? Grazie mille
Cristiano
Cristiano
23 apr 2009 alle 23:09  31
@ 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/
Marco
Marco
24 apr 2009 alle 09:21  32
In effeti l'avevo sotto gli occhi, domanda: come mai mi mette in automatico un commento come "spam"?
Grazie
Don
Don
26 lug 2009 alle 21:44  33
This is very cool!  Installed in about 30 seconds, worked first time.  Great stuff, thanks!

Pingbacks and trackbacks (1)+

Aggiungi Commento

biucitecode
  • Commento
  • Anteprima
Loading


| |   |  

Codice QR

Codice QR - cristianofino.net

Ultimi Commenti