19 Kasım 2010 Cuma

DotNetNuke 5.6 Sürümü Duyuruldu

DotNetNuke 5.6 sürümü birkaç haftalık beta sürecinin ardından bayram haftasında duyuruldu. Yeni sürümde çok sayıda hatanın giderilmesi ve yeni özelliklerin eklenmesi söz konusu. Ancak yeni özellikler eklenirken, elbette beklenmeyen hatalarla karşılaşmamız ihtimal dahilinde... Özellikle söz konusu durum Türkiye'deki DNN kullanıcıları için geçerli...

DotNetNuke 5.6'da giderilen hatalara ve eklenen yeni özelliklere bayram haftasından sonraki yazılarımda değineceğim.

Şimdi yeni sürümü test etme ve Türkçe Dil Paketleri'ni hazırlama zamanı.


RegisterDialog.js Hatası

DotNetNuke 5.6 Beta'dan DotNetnuke 5.6 resmi sürümüne yükseltme yaptığım test sitelerinden birinde Telerik is undefined hatası ile karşılaştım. Sorunlu dosya RegisterDialog.js olarak gösteriliyordu. Internet Explorer 8 ile yaşanılan bu hatanın asıl nedenini henüz keşfedemesem de, editörün düzgün olarak çalışmasını engelleyeceğini sanmıyorum.

Sorunu aşağıdaki kayıttan takip edebilirsiniz.

Register Dialog.js Telerik Hatası >>


11 Kasım 2010 Perşembe

Object Reference is not to set an object

DotNetNuke Form ve Liste (Forms and Lists) modülünde kimliği doğrulanmayan kullanıcılar (Unauthenticated Users) grubuna kayıt açma yetkisi tanımladığınızda Object Reference is not to set an object hatası ile karşılaşabilirsiniz.
Bu sorunla son olarak hazırladığım bir İnsan Kaynakları formunda karşılaştım. Formu host kullanıcısı ile sağlıklı bir şekilde görebiliyorsunuz. Ancak, siteden çıkış yaptığınızda ve aynı sayfayı görmeye çalıştığınızda aşağıdaki gibi bir hata mesajı ile karşılaşıyorsunuz.

Object reference not set to an instance of an object.

Olay Günlüğü'nde yer alan logları incelediğinizde ise bu sorunun yetkilendirmeler (permissions) ve kota (quota) ile ilgili olabileceği görülüyor. SQL Data Provider dosyalarını yeniden çalıştırmak da soruna şimdilik bir çözüm getirmedi.

Detaylar için DNN forumlarında açtığım konuyu inceleyebilir ve tartışmaya katılabilirsiniz.


2 Kasım 2010 Salı

DotNetNuke 5.6 Sürümü Beta İndir

Popüler açık kaynaklı içerik yönetim sistemi DotNetNuke 5.6 sürümü için Beta paketini geçtiğimiz haftasonu kullanıma sundu. DNN'in websitesinde de yapılan yeni tasarımın giydirilmesi ile DotNetNuke resmi websitesi bambaşka bir görünüme bürünmüştü.



DotNetNuke 5.6 Betasürümünü indirmek için Codeplex sayfasını ziyaret edebilirsiniz.



Türkçeleştirme ve modül programlama konularındaki katkılarınızı bekliyoruz.



30 Ekim 2010 Cumartesi

DotNetNuke Resmi Websitesinde Yeni bir Tasarım

DotNetNuke'nin resmi websitesine bu hafta içinde girenler yepyeni bir tema ve tasarım ile karşılaştı. Yeni tasarım eskisine oranla çok daha başarılı ve erişilebilirliği maksimum seviyeye taşımış.

DNN ile ilgili indirme paketlerine, modül kurulumlarına, destek alabileceğiniz forum ve blog sayfalarına, topluluk sayfalarına ve çevrimiçi yardım sayfalarına çok rahat erişebiliyorsunuz.

Benzer bir yapılandırmayı DotNetNuke Türkiye Kullanıcı Topluluğu sayfasına da uygulamak güzel olurdu...

Ancak şu an DNN'e Türkiye'deki webmasterlar tarafından yeterince destek gelmiyor. Herkeste bir Wordpress, Joomla sevdası, almış başını gidiyor...


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 %>