28 Ekim 2010 Perşembe

Vivo Social Modül Şablonlarındaki Türkçe Karakter Problemi

DotNetNuke tabanlı açık kaynaklı sosyal ağ platformu Vivo Social'ın Türkçeleştirme çalışmaları sırasında klasik sorunlardan biri ile karşı karşıya kaldım.

Vivo Social'da birçok DNN modülünde olduğu gibi template based interface (şablon tabanlı arabirim) kullanılıyor ve HTML bilgisine sahip biri çok rahat bir şekilde şablonları istediği gibi düzenleyebiliyor. Ancak, hesaba katmanız gereken bir ayrıntı var.

DNN kullanan Türk webmasterların başını ağrıtan Türkçe karakter sorunu birçok modülde olduğu gibi Vivo Social'ın bileşenlerinde de karşımıza çıkıyor. Çözüm için şablonları tek tek düzenleyerek tokenlara müdahele etmemiz gerekiyor. Örneğin: Title:Caption şeklindeki bir token için TItle:CaptIon yazdığımızda token düzgün bir şekilde çözümlenebilirken, varsayılan ayarlarla bıraktığınızda sayfa çıkışında (page output) yalnızca token'ın işlendiğini ancak ilgili detayın devreye girmediğini görüyorsunuz.

Vivo Social, oldukça kapsamlı bir platform. Türkçe karakter sorunları da giderildiğinde tercih edilen bir sosyal ağ platformu olacaktır.


19 Ekim 2010 Salı

DNN ile Dinamik Reklam Gösterimi Nasıl Yapılır?

DotNetNuke kullanan webmasterların bildiği üzere statik sayfaların yanında bazı modüller tarafından üretilen dinamik sayfalar da yer almaktadır. Statik sayfalara her türlü modülü rahatlıkla ekleyebilirken, dinamik sayfalarda bu durum farklılık göstermektedir.

Bu yazımda, statik sayfalara da modül eklemenin mümkün olduğunu göstereceğim. Ekibimize ulaşan bir mobilya & dekorasyon sitesi webmaster'ı, kampanyalarına ilişkin reklamları sayfalarında göstermek istediklerini ancak modül tarafından oluşturulan dinamik sayfalara sabit içerikten başka içerik ekleyemediklerini belirtti.

Çözüm:
İlk olarak skin.ascx dosyasına aşağıdaki kodu ekliyoruz. Div için id ve Regex ifadesine dikkat ederek...

<% If Regex.IsMatch (Request.URL.ToString, "REGEX'i Buraya Yazıyoruz") Then %>
  
<div id="EkstraPanel" runat="server"></div>
  
<% End If %>


İfademizde ASP.NET Regex kullanarak istenilen URL ile eşleştirmeyi hedefledik.



http://www.dinamiksite.com/dinamiksayfamiz/tabid/14/yaziTipi/YaziGoster/yazıId/12/Ornek-Sayfa.aspx

Yukarıdaki bağlantıda YaziGoster benzersiz parametre olarak öne çıkıyor.

<% If Regex.IsMatch (Request.URL.ToString, "YaziGoster") Then %>

Girdiğimiz Regex değerinin mutlaka Raw URL ile eşleşmesi gerekiyor. DotNetNuke'de Friendly URL desteği de mevcut. Ancak Friendly URL'lerde sayfaları belirlemekte kullanılan tabid parametresi bulunmuyor.

<!-- <%= Request.URL.ToString %> -->


HTML Comment (<!-- -->) normal görünümde yer almasa da kaynak kodunda ifadenin yer alması için kullanılıyor.

Son örneğimizde ise, ekstra panel yalnızca regex url ile eşleştiğinde ve sayfayı isteyen kişi portal yöneticileri grubunda ise gösteriliyor.

<% If Regex.IsMatch (Request.URL.ToString, "YaziGoster") AND DotNetNuke.Security.PortalSecurity.IsInRoles(PortalSettings.AdministratorRoleName) Then %>
  
        <div id="EkstraPanel" runat="server"></div>
  
<% End If %>


17 Ekim 2010 Pazar

Domain Name Windows Vista Does Not Exist In The Database

DotNetNuke kurulumunda Domain Name Windows Vista Does Not Exist In The Database hatasını alabilirsiniz.

Kurulum işlemi sırasında veritabanı yüklenmesi sırasında tarayıcınızı kapattığınızda ya da internet bağlantınız kesildiğinde aktif oturum sonlanacağı için sistem tarafından oluşturulan geçici ticket pasif kalacağından, kurulum sayfasını yeniden açtığınızda kurulum başarılı olmuş gibi sayfayı görüntüleyemediğinizi göreceksiniz. Ancak anasayfayı açmayı denediğinizde Domain Name Windows Vista Does Not Exist In The Database şeklinde bir hata alabilirsiniz.

Bu durumda kurulum işlemini boş bir veritabanı ile yeniden yapmanız gerekecektir.


12 Ekim 2010 Salı

DotNetNuke'e Tema Nasıl Eklenir?

DotNetNuke'ye tema eklemek için öncelikle Tema paketini Codeplex'den ya da temayı dağıtan sağlayıcıdan indirmeniz (download etmeniz) gerekiyor.

Bu yazıyı hazırladığım sırada DotNetNuke Skinning Contest'te güzel temalar yer alıyordu. Bu temaları da ilerleyen günlerde DotNetNuke kullanan webmasterlar ile paylaşacağım.

DotNetNuke temaları Tema tasarımcıları tarafından zip uzantılı paketler halinde kuruluma hazır olarak dağıtılıyor. İndirdiğiniz paketi DotNetNuke 5'e eklerken, sisteme önce superuser (genellikle Host) olarak giriş yapmanız gerekiyor.

Daha sonra Host > Extensions [Host > Bileşenler] sayfasından tüm sistem için, Admin > Extensions [Yönetim > Eklentiler] sayfasından ise yalnızca aktif portal için ekleme işlemini yapabilirsiniz.


DotNetNuke'e Modül Nasıl Eklenir?

DotNetNuke için yeni eklentiler eklemek istediğinizde bu işlemi Host > Extensions menüsünden gerçekleştirebilirsiniz. Host > Eklentiler menüsünde yer alan seçenekler arasında DotNetNuke kurulum paketi ile birlikte gelen ve isteğe bağlı olarak yüklenebilen modüller de yer alıyor.

DotNetNuke kaynaklarından ücretsiz olarak indirdiğiniz veya üçüncü parti firmalardan satın aldığınız bir DNN modülünü sitenize yüklemek için öncelikle sitenize Host (superuser) kullanıcısı ile giriş yapın. Daha sonra Host > Extensions [Host > Eklentiler] sayfasından yüklemek istediğiniz paketi sisteme ekleyin. Kurulum tamamlandıktan sonra Admin > Event Log (Yönetim > Olay Günlüğü) sayfasından kurulum ile ilgili kayıtları ve logları inceleyin. Eğer bir hata yoksa kurulumunu tamamladığınız modülü sayfalarınıza ekleyebilirsiniz.

Modülleri sayfalara nasıl ekleyebileceğinizi sonraki yazılarımda anlatacağım.


DotNetNuke 5.5.1'de Dikkat Edilmesi Gereken Önemli Bir Konu

DotNetNuke 5.5.1 sürümünde birden fazla dil etkin olduğunda ancak Content Localization (içerik yerelleştirme) pasif olduğunda Site Ayarları (Site Settings) sayfasındaki ayarların bir bölümü her dil için ayrı ayrı yapılandırılmak üzere tasarlanmış. Ancak hangi ayarların bu konuyla ilgili old. Site Ayarları sayfasında indikatörler yardımı ile belirtilmemiş. Sorun yaşayanlara yardımcı olması açısından bu ayarların PortalLocalization tablosundan geldiğini belirtelim.
  • PortalName
  • LogoFile
  • FooterText
  • Description
  • KeyWords
  • BackgroundFile
  • Home Tab
  • Login Tab
  • Profile Tab
  • Register Tab
  • Admin Tab
  • Splash Tab
Düzeltme yapılması için DotNetNuke Support Tracker'da ilgili kayıt oluşturuldu.


11 Ekim 2010 Pazartesi

dotnetnuke connections konferansi

Kasım 2010'un ilk 4 günü Las Vegas'da DotNetNuke Connections etkinliği gerçekleştirilecek. Etkinlikte DotNetNuke kullanıcıları, modül programcıları, tasarımcılar ve diğer açık kaynaklı yazılım uzmanları bir araya gelecek.

Konferansda ele alınacak konular arasında:
  • DotNetNuke for Mobile Applications
  • Secure Module Development
  • Super Stylesheets
  • DotNetNuke 5 Administration: Tips and Tricks
  • Deploying DotNetNuke Websites As a Complete Solution
yer alıyor.

Konferans öncesi DotNetNuke modül programlama ile ilgili Chris Hammond'un seminerine katılabilirsiniz. Seminer ücreti 399$ olarak belirlenmiş.