Organik Yazılım Şenliği

Açık kaynak kodu projeler üreten ve tüketen bir yazılımcı topluluğu olarak bu konudaki bilgi birikimlerimizi artık bir platform'da paylaşmanın zamanı geldi bence. Alışık olduğunuzdan çok daha farklı bir etkinlik olacak. Özellikle bu etkinliğin bende çok ayrı bir yeri var. Benim ilk defa konuşmacı olarak katılacağım bir etkinlik olacak ve BlogEngine.NET anlatacağım. İnşallah gerisi gelir :) 

 

Eğer siz de benim gibi açık kaynak kodu destekliyor, açık kaynak kodu üretiyor veya tüketiyorsanız hiç fark etmez, hepinizi 27 Haziran'da bu Organik etkinliğe bekliyoruz!

www.inetatr.org adresi üzerinden kayıt yaptırmayı unutmayın.

16 Haziran 2009 22:54 tarihinde Kaan Başlı tarafından yazıldı | Yorumlar | Permalink

BlogEngine OpenID Desteği

     Uzuuun bir süredir sevgili blogumu yapayalnız bıraktım farkındayım ama kendimi affettirecek bir makaleyle geldim :). Artık Windows Live ID'nin bile desteklediği OpenID'yi BlogEngine sistemlerinizde de kullanabileceksiniz. Sizi daha fazla sıkmadan konuya geçmek istiyorum ve bu işi nasıl yapacağınızı anlatacağım.

    1- İlk başta Janrain.Openid.dll dosyasını sitenizin Bin klasörüne koymanız gerekiyor.
    2- login.aspx dosyasını açın ve en üstteki <%@ Page %> tagının bir altına aşağıdaki kodu yerleştirin.

<%@ Register Assembly="Janrain.OpenId" Namespace="NerdBank.OpenId.Consumer" TagPrefix="nb" %>

    3- Sonra aşağıda tablodaki kodları bir altındaki tabloda bulunan kodlarla değiştirin

<asp:Content ID="Content1" ContentPlaceHolderID="cphBody" Runat="Server">
<asp:Login ID="Login1" runat="server" class="loginbox" />

<div style="text-align:center">
  <asp:changepassword runat="server" id="changepassword1" visible="false" />
  <br /><br />
  <asp:loginstatus runat="server" id="lsLogout" visible="false" />
</div>
</asp:Content>

 

<asp:Content ID="Content1" ContentPlaceHolderID="cphBody" Runat="Server">
<div style="text-align:center">
<br />
 <nb:OpenIdLogin runat="server" />
</div>
</asp:Content>

Farkettiyseniz özellikle ChangePassword kısmı artık yok. Birdaha ihtiyacınız olmayacak çünkü :)

    4- login.aspx.cs dosyasını burdan indirdiğinizle değiştirin. ChangePassword ile ilgili kısımları kaldırdım.

    5- Gelelim web.config dosyasındaki değişikliklere :

            <pages enableSessionState="false" ... />  tagını bulun ve
            <pages enableSessionState="true" ... /> şeklinde değiştirin

            <trust level="High" />  tagınıda bulun ve silin..

     6- App_Data klasöründeki roles.xml'i açın

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<roles>
  <role>
    <name>Administrators</name>
    <users>
      <user>Admin</user>
      <user>https://kullaniciadiniz.myopenid.com/</user>
    </users>
  </role>
  <role>
    <name>Editors</name>
    <users>
      <user>http://editorkuladi.myopenid.com/</user>
    </users>
  </role>
</roles>

şeklinde gerekli değişiklikleri yapın. Size tavsiyem Administrators sekmesindeki Admin kullanıcısına dokunmamanız. Birgün eski sisteminize geri dönmek isterseniz lazım olacaktır.

Kolay gelsin..

22 Şubat 2009 01:42 tarihinde Kaan Başlı tarafından yazıldı | Yorumlar | Permalink

BlogEngine için FCKeditor'u kullanabilirsiniz.

      Bu yazımıda az önce yüklemiş olduğum FCKEditor ile yazdım. Emin olun eklentiyi yükleyince çok memnun olacaksınız. Gerek kullanışlı olmasıyla, gerek Türkçe arayüzüyle ve daha bir çok özelliğiyle çok iyi bir editör.

     Aşağıdaki dosyayı bilgisayarınıza indirip fckeditor klasörünün içeriğini doğrudan ana dizininize attığınızda eklentimiz yüklenmiş oluyor.

fckeditor.rar (1,04 mb)

04 Aralık 2008 01:59 tarihinde Kaan BAŞLI tarafından yazıldı | Yorumlar | Permalink

BlogEngine'da IIS 7.0'a yükseltme sorunu

     Geçenlerde hostumun bulunduğu sunucunun işletim sistemi Windows Server 2003'den 2008'e yükseltilince doğal olarak IIS 7.0'a da yükselmiş olduk en sonunda. Fakat BlogEngine yine sorun çıkardı sağolsun Tongue out  Integrated mode is the preferred mode for running ASP.NET applications on IIS 7.0 diye bir hata verdi kendileri. Ekran görüntüsüde şu şekilde :

 

     Uzun süren bir araştırmadan sonra çözüme ulaşabildim tabiki. Sanki ilk defa ben bu hatayla karşılaşmışım gibi bir türlü çözüm bulanı bulamamıştım. Ama sonunda bir kaç kaynağa ulaştım. Sorunun çözümü aslında tahminde ettiğiniz gibi web.config'de bitiyor. Dosyayı açıyoruz ve aşağıdaki kod bloğunu buluyoruz :

<system.web>

 ...

     <httpModules
>
          <
add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core"
/>
          <
add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core"
/>
          <
add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core"
/>
          <
add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core"
/>
         
<!--The CleanPageModule below removes whitespace which makes the page load faster in IE. Enable at own risk
-->
          <!--
<add name="CleanPageModule" type="BlogEngine.Core.Web.HttpModules.CleanPageModule, BlogEngine.Core"/>
-->
          <!--
Remove the default ASP.NET modules we don't need
-->
          <
remove name="PassportAuthentication"
/>
          <
remove name="Profile"
/>
          <
remove name="AnonymousIdentification"
/>
     </
httpModules
>
     <
httpHandlers
>
          <
add verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="js.axd" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="monster.axd" type="BlogEngine.Core.Web.HttpHandlers.MonsterHandler, BlogEngine.Core" validate="false"
/>
          <
add verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" validate="false"
/>
     </
httpHandlers>

...

</system.web> 

     Tam bu kodların altına aşağıda kodları yazıyoruz :

<system.webServer>
       <
validation validateIntegratedModeConfiguration="false"
/>
              <
modules
>
                     <
add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite" preCondition="managedHandler"
/>
                     <
add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule" preCondition="managedHandler"
/>
                     <
add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule" preCondition="managedHandler"
/>
                     <
add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule" preCondition="managedHandler"
/>
                     <!--
The CleanPageModule below removes whitespace which makes the page load faster in IE. Enable at own risk
-->
                     <!--
<add name="CleanPageModule" type="BlogEngine.Core.Web.HttpModules.CleanPageModule, BlogEngine.Core"/>
-->
                     <!--
Remove the default ASP.NET modules we don't need
-->
                     <
remove name="Profile"
/>
                     <
remove name="AnonymousIdentification"
/>
             </
modules
>
             <
handlers
>
                      <
clear
/>
                      <
add name="FileHandler" path="file.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="ImageHandler" path="image.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="SyndicationHandler" path="syndication.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="SiteMap" path="sitemap.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="TrackbackHandler" path="trackback.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="PingbackHandler" path="pingback.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="OpenSearchHandler" path="opensearch.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="MetaWeblogHandler" path="metaweblog.axd" verb="*" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="RsdHandler" path="rsd.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="CssHandler" path="css.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="JavaScriptHandler" path="js.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="RatingHandler" path="rating.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="OpmlHandler" path="opml.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="MonsterHandler" path="monster.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.MonsterHandler, BlogEngine.Core" resourceType="Unspecified"
/>
                      <
add name="BlogMLExportHandler" path="blogml.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" resourceType="Unspecified"
/>      
                      <!--BURASI PLESK KULLANANLAR İÇİN GEÇERLİ-->

                      <
add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" resourceType="Unspecified" preCondition="integratedMode" />
                      <
add name="Plesk_Handler_0110051027" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified"
/>
                      <
add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="Plesk_Handler_0110051029" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified"
/>
                      <
add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" resourceType="Unspecified" preCondition="integratedMode"
/>
                      <
add name="Plesk_Handler_0110051038" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified"
/>
                      <
add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" resourceType="Unspecified"
/>
                      <
add name="Plesk_Handler_0110051042" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true"
/>
                      <
add name="Plesk_Handler_0110051043" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true"
/>
                      <
add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either"
/>
                      <!--PLESK KULLANICILARININ YAZMASI GEREKEN BU KADAR-->

            </
handlers> 
<system.webServer>

 

     Örnek web.config dosyasını ek olarak ekledim. Ordan da bakabilirsiniz.

web.config.rar (3,30 kb)

02 Aralık 2008 19:37 tarihinde Kaan BAŞLI tarafından yazıldı | Yorumlar | Permalink

BlogEngine'da İletişim sayfasında hata

     Benimde güncel olarak kullandığım BlogEngine sisteminde bir gariplik hissetmiştim. Uzun zamandır kimse bana blogum üzerinde mail göndermemişti. Derken insanların "blogundan mesaj yazdım niye cevap yazmıyorsun" şikayetleri gelince kodlara bakmak gerektiğini düşündüm. :)

     Çok basit bir hata aslında.. İletişim sayfasında dosya gönderme seçeneği aktif ise bir sorun yok. Ben bu seçeneği pasif yaptıktan sonra mail gelmemeye başladı zaten. Oldukça küçük bir hata buldum. Sorunun düzelmesi için aşağıdaki değişiklikleri blogunuzun ana dizinindeki contact.aspx.cs açmanız gerekiyor.

Aşağıdaki kod bloğunu bulun :

if (IsCaptchaValid && Page.IsValid && txtAttachment.HasFile)
{
     
bool success = SendEmail(txtEmail.Text, txtName.Text, txtSubject.Text, txtMessage.Text);
      divForm.Visible = !success;
      lblStatus.Visible = !success;
      divThank.Visible = success;
      SetCookie();
}


Bu kod bloğunda koyu yazdığım && txtAttachment.HasFile bölümünü silerseniz sorun ortadan kalkıyor. Son hali şu şekilde olması gerekiyor :

if (IsCaptchaValid && Page.IsValid)
{
     
bool success = SendEmail(txtEmail.Text, txtName.Text, txtSubject.Text, txtMessage.Text);
      divForm.Visible = !success;
      lblStatus.Visible = !success;
      divThank.Visible = success;
      SetCookie();
}

02 Aralık 2008 10:35 tarihinde Kaan BAŞLI tarafından yazıldı | Yorumlar | Permalink

Yazar Hakkında

Kaan BAŞLI
Kaan BAŞLI
kaan@kaanbasli.com

Microsoft Student Partner
Hakkımda..
Live Messenger ile mesajlaş LinkedIn Profilim Facebook Profilim Xing Profilim Twitter Me! Fotoğraflarım (at Flickr)

Bağlı Ziyaretçiler

Etiket Bulutu


Kaan'la mesajlaş

BlogEngineTR