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.

Microsoft Visual Studio Scrum 1.0

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

Internet Explorer 9 ve Web Uygulamaları

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.

Visual Studio 2010 ve SafeMode

Visual Studio 2010 ile WPF tabanlı geliştirme ortamı ve gelişmiş eklenti yönetimine sahip olduk. Visual Studio 2010 IDE eklediğimiz eklentilerin zaman içerisinde hatalar oluşabilir. Oluşan hatalar Visual Studio çalışması sırasında hata oluşmasına hatta başlamasına sırasında problemler oluşturabilir. Bu gibi durumlar için Visual Studio çeşitli parametreler ile kontrol edebiliyoruz.

Not: Visual Studio 2010 başlatma aşamasında kullandığımız parametreler ve açıklamaları için bağlantıdaki kaynağı inceleyebilirsiniz.

image

Bu yazımda da geçenlerde yaşadığım bir problemi çözümünü sizler ile paylaşmak istemekteyim. Söz konusu problem Visual Studio kurduğum bir eklentinin Visual Studio ‘un başlaması engelledi ve çeşitli hatalar oluşturmaktaydı. İşte bu gibi durumlar için Visual Studio bazı parametreler ile Safe Mode da başlatabiliyoruz.

Windows x86

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\

Windows x64

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\

Visual Studio 2010 kurulum yapmış olduğunuz dizine eriştik ve Windows Terminalin açalım. Visual Studio 2010 yani dizindeki hali ile devenv.exe dosyasına gelelim.

image

Windows Terminali üzerinde devenv /safemode şekliden yapmış olduğumuz çağrısı ile Visual Studio 2010 Safe Mode da başlatılmaktadır.

image