Monthly Archives: December 2010

ASP.Net MVC de Routes to Ignore

ASP.Net MVC Framework, ASP.Net uygulamalarına büyük kolaylıklar sağlamaktadır. ASP.Net MVC ‘un uygulamalarımıza katığı en büyük özellik(Bence) Routing’ dir. Routing ile sayfalarımız url adresini sayfa içeriği ile ciddi anlamda ilişkili hale getirebiliyoruz. ASP.Net MVC de Routing, Controller içerisinde bulunan ActionResult tipinde değer döndüren fonksiyonlar üzerinde çalışmaktadır. Bu fonksiyonlar erişim belirteci olarak public ve restfull olarak ise GET ya da POST gibi istemlere sahiptir. Routing konusun bu kadar önemli ve detaylı incelenmesi gereken bir konudur.

Bu yazımda ise birkaç hafta önce yaşadığım bir problemi ve çözümünü sizler ile paylaşmak istemekteyim. Söz konusu problem, ASP.Net MVC ile hazırlanan Web uygulamasının SEO ile ilgili işlemlerini gerçekleştirme aşamasında meydana gelmişti.

Yaşanan problem, ASP.Net MVC ile geliştirmiş olduğum Web uygulamasının, aramam motorlarının site içi indekslemesi için robot dosya ve site haritasının aramam motorlarına tanıtma aşamasında keşfettim. Yazının giriş bölümünde de bahsettiğim gibi ASP.Net MVC Routing sistemi Controller nesneleri içerisinde bulunan ActionResult döndüren fonksiyonların çağırması sonucunda içerikleri oluşturmaktadır. Örneğin Bing ya da google üzerine yaptığımız Robots dosya tanımı yaptığımızda, varsayılan Routing sisteminde hangi Controller nesnesi seçilmiş ise o nesne içerisinde buna bağlı olarak içerik üreten bir fonksiyon aramaktadır.

Örnek vermek gerekir ise arama çubuğuna http://www.ibrahimatay.com/robots.txt yazdığınızda Routing sisteminde varsayılan olarak tanımlanan Controller içerisinde robots fonksiyonun arayacaktır. Yapılan istem ile ilgili bir fonksiyon bulunmaması nedeni ile “Not Found 404” hatasını verecektir.

image

Yaşana bu durum, hazırlanan içerik yönetim sisteminin, arama motorları içerisinde istenildiği gibi yer bulmaması ve taşıdığı ürünü açısında, istenmeyen durumlar ortaya çıkmasına sebep olabilir. Her zaman olduğu gibi probleme çözümü üretmeliyiz.

Söz konusu durum sistem içerisinde bulunana robot dosya gibi static olarak istemlere cevap everecek dosyaları Routing sistemine tanıtmak olacaktır. Şimdi bu işlemi nasıl yapabileceğimizi inceleyelim. Bu için yeni bir ASP.Net MVC projesi oluşturalım.

image

Gerçekleştireceğimiz uygulamanın test etmek için örnek olarak sizde bir robot dosya hazırlayıp uygulamanın(Robot oluşturma ile ilgili olarak ise, Robot dosya nedir? Ne işe yarar? İsimi makalemi okumanız tavsiye ederim.) ana dizine ekleyelim. Söz konusu durum ile ilgili hazırlıkları tamamladık. Şimdi test amacı ile eklediğimizi robots.txt dosyasını ASP.Net MVC Routing sistemi nasıl tanımladığımızı inceleyelim.

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”);
routes.MapRoute(“Default”, “{controller}/{action}/{id} “,
new { controller = “Home”, action = “Index”, id = UrlParameter.Optional });
routes.IgnoreRoute(“robots.txt”);
}

Yukarındaki kod parçasında, ASP.Net MVC standart oluşturulan bir ASP.Net MVC projesi de yer alan Global.asax içerisinde bulunan RegisterRoutes fonksiyonu yer almaktadır. RegisterRouting fonksiyonu içerisine routes değişkeni üzerinde gelen IgnoreRoute fonksiyonun kullanarak Web uygulamasının ana dizinde bulunan robots.txt dosyasının Controller nesnesinin içinde arasında çıkarıp dışarıdan erişebilinen bir dosya olduğunu tanımlamış olduk. Tanımlama işlemini gerçekleştirdikten sonra uygulamayı test edelim.

image

Bu yazımda uygulama geliştirme ve host etme aşamasında gözden kaçabilecek olan bir problemi çözümü üretmeye çalışmış olduk. Bu ve bunun gibi yaşanacak olan hataları önüne geçmek için bir IIS extension olan SEO Toolkit ve Url Rewrite araçları ile testler yapmanızı önermekteyim. Konu ile ilgili sorularınızı info@ibrahimatay.org eposta adresine yönetebilirsiniz.

İyi çalışmalar

IBRAHIM ATAY 

Microsoft Visual Studio Scrum 1.0

image

Yazılım geliştirme aşamalarını başarılı ve ortaya çıkan ürünün amacına uygun olması adına, iş süreçleri kullanılır. Microsoft ‘un değişen konsepti ile birlikte iş süreçleri konusuna da değinmeye başladı. Bu konseptin en büyük göstergesi (Bence) Visual Studio Scrom Framework dür.

Geçtiğimiz dönemde 1.0 sürümü yayınlana Visual Studio Scrum 1.0, işleyişleri ve yazılan kod ile ilgili bir çok analiz gerçekleştirerek proje liderlerine yardımcı olmaktadır. Visual Studio scrom 1.0 sürümünü bağlantıdan (Visual Studio Gallery)edinebilirsiniz.

image

Visual Studio Scrom 1.0 yayınlanması aşamasında Channel9 üzerinde konu ile ilgili görseller yayınlanmıştır. Bu eğitim görsellerini aşağıdaki bağlantıda bulabilirsiniz.

  1. Introducing Visual Studio 2010-Scrum 10 – 1 (Channel9)
  2. Introducing Visual Studio 2010-Scrum 10 – 2 (Channel9)

Bu yazımda Microsoft ‘un iş süreçleri konusunda ataklarında biri olan Visual Studio Scrom 1.0 konusunda kısa bilgi vermeye çalıştım. Konu ile ilgili sorularınızı info@ibrahimatay.org eposta adresine gönderebilirsiniz.

İyi çalışmalar

IBRAHIM ATAY

Scrum Cheat Sheet

Scrum (çevik) konusunda bilgi ve tecrübelerimi artıma çabasındayım. Scrum konusunda yaptığım araştırmam sonucunda bazı Cheat Sheet notlarını topladım. Scrum konusunda yapmış olduğum bu araştırma sonucunda, eline geçen dokümanları sizler ile paylaşmak istemekteyim.

image

Scrom konusunda sizler altı adet Scrom Cheat Sheet paylaşmaktayım.

http://www.agile42.com/en/agile-info-center/scrum-cheat-sheet/

İyi çalışmalar

IBRAHIM ATAY

 

ASP.NET MVC 3 RC Sürümüne Bakış

Yine bir ASP.Net MVC eğitimi ile daha sizlerleyim. Geçtiğimiz dönemde ASP.Net MVC 3 RC sürümü yayınlanmış bulmaktadır. ASP.Net MVC 3 RTM olmadan konuya daha net bakabilmek ve kısa notlar alabilmeniz için NedirTV ailesi olarak “ASP.NET MVC 3 RC Sürümüne Bakış” isimli Webiner düzenlemiş bulunmaktayız.

aspnet-mvc-3-webcast

Konu ile ilgili olarak daha önce kaleme aldığım “ASP.NET MVC 3 Preview 1 Duyuruldu !!” ve “ASP.Net MVC 3 RC oldu !ASP.Net MVC 3 yenliklerine başlıklar halinde değinmeye çalışmıştım. Webinerimiz ile birlikte konuya pratik ve gerçek örnekler ile bakış atmamız ASP.Net MVC Framewok kullanıcıları için iyi olacaktır.

ASP.Net MVC 3 RC Sürümüne Bakış (Webiner bilgisi)  / http://nedirtv.com/webiner/26

Şimdiden konu ile ilgilene ya da merak eden arkadaşları ASP.Net MVC 3 RC Sürümüne Bakış Webinerine bekliyorum.

Saygılarımla

IBRAHIM ATAY

Internet Explorer 9 ve Web Uygulamaları

image

Internet Explorer 9 daha beta olsa da ilk Beta sürümü ile kullanıcıları çok etkiledi. Özelliklede Windows 7 ile gelen bazı özelliklerin Web sayfalarında desteklemesi sağlaması çok büyük bir özellikle olarak görmekteyim. Internet Explorer 9 sürümü ile internet tarayıcıları içinde büyük bir parlama yaptığını söyleyebilirim. Geçtiğimiz günlerde yayınlana Beta sürümleri ile birçok Blog yazarı kendi ortamlarında Internet Explorer 9 özelliklerinde bahsetti ama ben bu özellikleri kendi geliştirdiğim uygulamalarda nasıl kullanabilirim sorunu aramaya başladım.

Geçenlerde Blog (htt://www.ibrahimatay.com) da bazı değişimlerde bulundum. Bu değişimlerin başında Internet Explorer 9 ile birlikte genle Jump ve Pinned eklem özelliğidir. Internet Explorer 9 yeniliklerini kaleme almadan önce kendi blog dahil 2 uygulamada kullandım. Kullanıcı tarafından dönen olumlu bildirimler beni mutlu etti.

Şimdi bu özelliklerin nasıl kullanacağımızı inceleyelim. Bu işlem için uygulamamızda kullanmak amacı ile uygun boyutlarda simgeler sahip olmamız gerekmektedir. Aşağıda kullanacağımız simgelerin boyutları ile ilgili bilgiler bulunmaktadır.

  • Önerilen boyutlar: 16×16, 32×32, 48×48
  • Normal boyutlar : 16×16, 24×24, 32×32, 64×64

Ben geliştireceğimiz uygulamamızda (kendi blog da) 48×48 simge seti kullanacağım. Gerekli boyutlarda simge setlerimizi hazırladıktan sonra ilk olarak Internet Explorer Jump özelliğini kullanacağımız Web sayfasının simgesini tanımlayalım. Bu tanımlama işlemi için aşağıdaki meta bildirimini(head etiketinin arasına) gerçekleştireceğiz.

<link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />

Yukarıdaki tanımlama ile birlikte Web sayfamızın simgesini tanımladık. Tanımlana bu simge Internet Explorer üzerinde aşağıdaki gibi yerleşecektir.

image

Web sayfamızın simgesi tanımlamasını gerçekleştirdikten sonra adres çubuğundaki simgeyi Windows 7 de bulunan görev çubuğuna sürükleyelim ve sabitleyelim.

Web sayfamızı Internet Explorer tanımlamalarını yapmaya devam edebilim. Bu aşamada ise Web uygulamamızı ismini Internet Explorer tanımlayalım. Bu tanımlama Internet Explorer Jump listesinde Web sayamızın görmek için kullanacaktır.

<meta name="application-name" content="Ibrahim ATAY’s Blog" />

Windows 7 de görev çubuğun üzerine gelindiğin, görev çubuğunda bulunan uygulamanın adı ya da herhangi bir bilgi yazısı çıkmaktadır. Şimdi bu işlemi Internet Explorer 9 ile gerçekleştirdiğimizi inceleyelim.

<meta name="msapplication-tooltip" content="Ibrahim ATAY’s Blog" />

image

Bir sonra ki adım olarak Web uygulamamızda nasıl Task listesi oluşturabileceğimizi inceleyelim. Bu tanımlama işlemini yapmadan önce Web uygulamamız başlangıç adresin(url bilgisini) tanımlamamız gerekmektedir. Bu tanımlama işlemi için aşağıdaki meta bildirimini kullanacağız.

<meta name="msapplication-starturl" content="./" />

Windows tabanında WPFile uygulama geliştirme yapara iken kullanılan bu özellikler zaman zaman bir Web geliştiricisi olarak çok fazla ilgisini çekmekte. Windows 7ile WPFuygulama geliştir iken diğer bir güzel özellik ise görev çubuğu üzerinde yer alan simgelere sayesinde görevler tanımlama gelmektedir. Şimdi bu işlemi bir Web uygulamasında nasıl gerçekleştireceğimizi inceleyelim.

<meta name="msapplication-task" content="name=Complete Archives;action-uri=/Archives.aspx;icon-uri=/pics/archives.ico" />

image

Yukarıdaki resimde işaretli olduğu gibi Web gülüğümün Archile bölümü için yukarıdaki tanımlamayı yapmış bulunmaktayım. Aşağıdaki tabloda, yukarıdaki tanımlamada kullanılan parametreleri açıklamaktayım.

Parametre

Açıklaması

Name

Görev listesin görünecek olan isimi

action-uri

Görev listesinde bulunan simgeye tıklandıktan sonra yönleneceğin sayfa adesinidir.

icon-uri

Görev listesinde görünecek olan simge adresi

Not: Internet Explorer Jump ve Task yenilikleri ile ilgili daha detaylı bilgiler için bağlantıda bulunan msdn kaynağının incelemenizi tavsiye etmekteyim.

image

Kendi blog temel alarak gerçekleştirmiş olduğumuz örnek gerçekleştirmek istediğinizde yukarıdaki resimdeki gibi olacaktır. Bu yazımda Internet Explorer 9 yenilikleri olan Jump ve Task özelliklerine değinmeye çalıştım. Konu ile ilgili sorularınızı info@ibrahimatay.org eposta adresine gönderebilirsiniz.

İyi çalışmalar

IBRAHIM ATAY