Yorum Yönetimi Eklentisi - BlogEngine.NET

Uğur ÇELENK tarafından yayınlanmıştır 27. Ağustos 2008 22:38

BlogEngine.NET kullanıcıları, yazılarına(post) yeni bir yorum geldiğini, yorum gönderildiğinde otomatik gelen mailden ya da teker teker yazılara girip yorumları görebiliyorduk ve tüm yorumları görebileceğimiz bir sayfa yoktu. Ama artık var.! Cristiano Fino tarafından "Yorum Yönetimi Eklentisi (Comment Manager Extension)" yayınlandı.

Bu eklenti ile : 
  • kontrol panelinden yorumların yönetimi : yorumları düzenleme,onaylama ve silme özelliklerini kullanabiliyorsunuz. Administartor yetkisi sahibi yazarlar tüm yorumları yönetebilirken, editörler sadece kendi yazılarına gelen yorumları yönetebiliyor. Yorumlar tarih sırasına göre, her sayfada 10 tane yorum olmak üzere sayfalanıyor.
  • yazı(post) üzerinden doğrudan düzenleyebilme özelliği mevcut. 

Kurulumu :

  Öncelikle Cristiano Fino'nun kendi sitesi üzerinden kurulum için gereken dosyayı indirelim. İndir.!
  1. İndirdiğiniz zip dosyasını açınız.
  2. Comments.aspx, Comments.aspx.cs, CommentView.ascx ve Web.Config (üzerine yazmayı onaylayın) bu dosyaları  /Admin/Pages/ klasörüne koyunuz.
  3. Web.Sitemap (üzerine yazmayı onaylayın) dosyasını da blogunuzun rootuna koyunuz.

Eğer ayarları elle yapmak istiyorsanız, yani yukarıdaki gibi Web.Sitemap e Web.Config üzerine yazmak istemiyorsanız, aşağıdaki adımları uygulayabilirsiniz

/Admin/Pages/
klasöründeki Web.Config dosyasını açınız ve ardından <configuration> ... </configuration> düğümü(node) içine alttaki kodu yerleştirin. 

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

Ardından blogunuzun rootunda bulunan  Web.Sitemap dosyasnı açınız ve <siteMapNode url="default.aspx" ...> ... </siteMapNode> düğümü içine aşağıdaki düğümü yerleştirin.

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


Konfigurasyon :

Kurulumu tamamladıktan sonra, artık kontrol panelinde "Yorumlar" adında yeni bir tab eklenmiş olduğunu göreceksiniz.

Yazıların(posts) altında bulunan yorumlarda, doğrudan yorumu düzenlemek için gereken linki sayfada göstermek için aşağıdaki işlemi gerçekleştirebilirsiniz.
Kullandığınız temanın rootunda(mesela themes/standart/) bulunan CommentView.ascx dosyasını açınız ve  <%= AdminLinks %>  yazan kısmın hemen altına aşağıdaki kodu yapıştırın

<% if (Page.User.Identity.IsAuthenticated) { %>
    | <a href="../admin/pages/comments.aspx?id=<%=Comment.Id %>">Yorumu düzenle</a>
<% } %>

(Önemli Not: Yukarıdaki kod eklentiyi yazan kişi tarafından yazılmıştır, bu kodta bir eksiklik/hata farkettim.Bu eksiklik, eğer yazılarınızın linkinde tarih kullanıyorsanız "Yorumlar" yazısının linkin yolu yanlış yeri gösteriyor, bu durumda linkteki "../" yerine sitenizin ismini yazmanız önerilir. Bu eksikliği eklentiyi yazan kişiye de ileteceğim yazımı tamamladıktan hemen sonra.)
Elbette login olduğunuzda bu yorum düzenleme linkini göreceksinizdir.

(GUNCELLEME: Cristiano Fino'ya bu hatayı bildirdikten sonra kodu tekrar güncellediğini bildirdi ve yukarıdaki kod öbeğinin son halini aşağıya ekledim)

 <% if (Page.User.Identity.IsAuthenticated) { %>
    | <a href="=" mce_href="="<%=Utils.RelativeWebRoot %>admin/pages/comments.aspx?id=<%=Comment.Id %>">Yorum Güncelle</a>
<% } %>



Özelleştirme :

Control panelde listelenen yorumların görünüşünü /Admin/Pages/ klasöründe bulunan CommentView.ascx dosyasını modifiye ederek değiştirebilirsiniz.

Bu eklenti BlogEngine.NET 1.4 versiyonu ile sorunsuz çalışmaktadır.

The terminal server has exceeded the maximum number of allowed connections..

Uğur ÇELENK tarafından yayınlanmıştır 27. Ağustos 2008 21:00

Remote desktop connection (uzak masaüstü bağlantısı) ile bağlanmaya çalıştığınızda şöyle bir hata mesajı ile karşılaşabilirsiniz ;
" The terminal server has exceeded the maximum number of allowed connections – Error in Remote Desktop Connection (mstsc) "

Uzak masaüstü bağlantısı yapmış olan kişi "Start(başlat)" menüsünden "Log Off(Oturumu kapat)" seçeneğini seçerek kapamalı, eğer doğrudan uzaktan bağlantı penceresini kapatmışsa, oturum açık kalıyor.Bu şekilde 2 kez oturum açık bırakıldığında, 3. kez bağlanmaya çalışıldığında ekranda yukarıdaki hata mesajı sizi karşılayacaktır ve bağlanmaya izin vermeyecektir.

Peki bu durumda nasıl bağlanılabilinir?

  • Başlat menüsünden "çalıştır"a tıklanılır(Başlat >> Çalıştır ya da Start >> Run)
  • mstsc /v:rr.rr.rr.rr /f –console şeklinde giriş yapılır ve administrator hesabı ile giriş yapılır. ( rr.rr.rr.rr yazan yeri uzaktan bağlantı IP numarası(Remote IP) ile değiştirmelisiniz. )

Javascript kodları sadece head tagında mı bulunmalı?

Uğur ÇELENK tarafından yayınlanmıştır 27. Ağustos 2008 18:13

Yaklaşık 1 aydır üzerinde uğraştığım bir web projesinde, bolca css, W3C uyumlu xhtml kodlar ve yine bolca javascript kodları kullanıyorum. Haliyle bu kadar bol javascript kullanmam nedeniyle sayfanın açılış süresinin uzamasına neden oldu. Nasıl bu gecikmeyi engellerim diye düşünürken, aklıma bir çözüm geldi ama ne kadar mantıklı bir çözüm olup olmadığı konusunda tereddüte düştüm.
Bulduğum çözüm ise, external .js dosyalarının bir kısmını head tagları içinde değil de, form tagının kapanmasından hemen önce tanımlamak.

Peki head tagı içine koymamanın dezavantajları neler olabilirdi?
İlk olarak aklıma gelen body nin altında tanımladğımda yine sorunsuz çalışıp çalışmayacağıydı, hemen denedim ve sorun çıkmadı, zaten sayfanın load anında otomatik olarak çalışan bir js dosyası değildi zaten, tetitlenerek çalışıyordu.
İkinci olarak, acaba head tagında koymayınca yine bu .js dosyaları cachelenecek mi sorusu oldu. Hemen Firebug'ı açıp deneme yaptım ve head tagında bulunmayan .js dosyasını da cachelediğini farkettim.

Sonuç olarak tüm .js dosyalarınızı head tagında tanımlamanıza gerek yok, sayfa açılırken normalden daha uzun bir süre ziyaretçiye beyaz ekran göstermektense, biran önce ziyaretçiye sayfa içeriğini göstermenize olanak sağlamış olacaksınız.

İyi kodlamalar..


1

Altyapı olarak BlogEngine.NET 1.4.5.0 kullanılmış olup Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır ve tasarımı bana aittir. || Oturumu aç

 Friendfeed AkışımTakip Et

 Son Yorumlar

Yorumlar RSS

 Etiket Bulutu